# -*- coding: utf-8 -*-

# Copyright 2009 Manik Bhattacharjee (manik-listes at altern.org)
#
# This file is part of PyVote.
#
# PyVote is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# PyVote is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with PyVote.  If not, see <http://www.gnu.org/licenses/>.


# Logiciel de vote générique.
#
# Utilisation normale :
#  Les responsables du bureau de vote chargent le fichier SCRUTIN 
#  qui décrit le scrutin, donnent leurs identifiants et codes,
#  Le programme vérifie la validité de son code par rapport aux hashs
#  MD5 et SHA1 stockés localement, puis se connecte aux serveurs
#  de vote (ssh ou équivalent), qui confirment les signatures MD5/SHA1
#  y compris celui du fichier SCRUTIN.
#  L'heure de démarrage est transmise par les serveurs et stockée par 
#  le programme.
#  A chaque vote, deux fichiers sont sauvés : le registre des votants 
#  classé par ordre alphabétique, et l'urne (fichier "votes"). Ce 
#  dernier est transmis à tous les serveurs qui doivent toujours 
#  confirmer la réception du vote avant la fenetre de confirmation 
#  à l'utilisateur
#  A la cloture du vote, l'information est transmise aux serveurs
#  qui renvoient l'horaire de cloture et reçoivent le registre.

import sys, PyQt4
from PyQt4 import QtGui, QtCore

#from VoteAssentimentDialog import VoteAssentimentDialog
#from VoteUniqueDialog import VoteUniqueDialog
#from VoteUniqueTransferableDialog import VoteUniqueTransferableDialog
from VoteAdminDialog import VoteAdminDialog

from ScrutinIO import Scrutin, Votes, Registre


if __name__ == "__main__":
   app = QtGui.QApplication(sys.argv)
   # Interface pour les administrateurs du bureau de vote
   admin = VoteAdminDialog()
   admin.show()
   sys.exit(app.exec_())


   ## Interface de vote pour les électeurs
   #window = None
   #if scrutin["Type Scrutin"] == "Vote unique":
      #window = VoteUniqueDialog()
   #elif scrutin["Type Scrutin"] == "Vote unique transferable":
      #window = VoteUniqueTransferableDialog()
   #elif scrutin["Type Scrutin"] == "Vote par assentiment":
      #window = VoteAssentimentDialog()
   #else:
      #print "Type de scrutin non reconnu !!"
      #sys.exit()