Je construis un site ASP.NET MVC (C#) où je veux implémenter STV (Single Transferable Vote) voting. J'ai déjà utilisé OpenSTV pour des scénarios de vote, avec beaucoup de succès, mais je ne l'ai jamais utilisé par programmation.Appel de l'application/du script Python à partir du C#
Le OpenSTV Google Code project offers a Python script qui permet l'utilisation de OpenSTV d'autres applications:
import sys
sys.path.append("path to openstv package")
from openstv.ballots import Ballots
from openstv.ReportPlugins.TextReport import TextReport
from openstv.plugins import getMethodPlugins
(ballotFname, method, reportFname) = sys.argv[1:]
methods = getMethodPlugins("byName")
f = open(reportFname, "w")
try:
b = Ballots()
b.loadUnknown(ballotFname)
except Exception, msg:
print >> f, ("Unable to read ballots from %s" % ballotFname)
print >> f, msg
sys.exit(-1)
try:
e = methods[method](b)
e.runElection()
except Exception, msg:
print >> f, ("Unable to count votes using %s" % method)
print >> f, msg
sys.exit(-1)
try:
r = TextReport(e, outputFile=f)
r.generateReport();
except Exception, msg:
print >> f, "Unable to write report"
print >> f, msg
sys.exit(-1)
f.close()
est-il un moyen pour moi de faire un tel appel Python de mon site C# ASP.NET MVC?
Si oui, comment?
Merci d'avance!
Grand; Cependant, comment puis-je définir une méthode dans le script Python pour appeler via IronPython et comment puis-je passer dans ballotFname (nom du fichier de vote) et reportFname (nom du fichier de rapport)? –