Add option to compare ballot to sample ballot.
It may be desriable to compare a ballot to a sample ballot when checking votes. * Add options "diff" and "sampleballotfile" to usevote.cfg an UVconfig.pm * Add menu option to UVmenu.pm Picked from upstream. Signed-off-by: Thomas Hochstein <thh@inter.net>
This commit is contained in:
parent
300f47d616
commit
e91a2b7fa5
13
CHANGES
13
CHANGES
|
@ -3,11 +3,14 @@ UseVoteGer Versionshistorie (aktuelle Version: 4.11, released 25.09.2012)
|
||||||
|
|
||||||
TODO:
|
TODO:
|
||||||
- aussortieren von Bounces aus Stimmenliste
|
- aussortieren von Bounces aus Stimmenliste
|
||||||
- [Zugschlus] ich fänd es klasse, wenn man eine Kopie des Wahlscheines ins
|
|
||||||
Abstimmungsverzeichnis legt und Usevote einem dann auf Abruf ein diff
|
Version 4.12 (19.01.2014):
|
||||||
oder wdiff zwischen Sollwahlschein und wirklich eingreichtem
|
- neue Config-Optionen "diff" und "sampleballotfile"
|
||||||
Wahlschein macht. Auf diese Weise erwischt man auch kleine Änderungen
|
- im Fehlermenue bei der Wahlscheinverarbeitung ist es nun moeglich,
|
||||||
am Datenschutzhinweis (da bin ich eben in eine Falle von th-h getappt).
|
mit der Option "0" einen Dateivergleich (diff) zwischen dem gemailten
|
||||||
|
Wahlschein und einem Musterwahlschein (wie im CfV geposted) zu starten.
|
||||||
|
Dazu muss die Config-Option "sampleballotfile" gesetzt und die Datei
|
||||||
|
vorhanden sein (Standard-Dateiname: ballot.sample)
|
||||||
|
|
||||||
Version 4.11 (25.09.2012):
|
Version 4.11 (25.09.2012):
|
||||||
- Regular Expression fuer Pruefung des Abstimmungsnamens verbessert.
|
- Regular Expression fuer Pruefung des Abstimmungsnamens verbessert.
|
||||||
|
|
10
README
10
README
|
@ -324,6 +324,7 @@ ohne die .pl und .pm Dateien jedesmal mitzukopieren. Folgende Dateien
|
||||||
sollten im Abstimmungsverzeichnis vorhanden sein (notwendig ist nur
|
sollten im Abstimmungsverzeichnis vorhanden sein (notwendig ist nur
|
||||||
usevote.cfg, darin können alle anderen Pfade angepasst werden):
|
usevote.cfg, darin können alle anderen Pfade angepasst werden):
|
||||||
|
|
||||||
|
ballot.sample
|
||||||
bdsgtext.cfg
|
bdsgtext.cfg
|
||||||
mailpatterns.cfg
|
mailpatterns.cfg
|
||||||
messages.cfg
|
messages.cfg
|
||||||
|
@ -404,6 +405,7 @@ mit einzelnen Stimmen wirst Du interaktiv durch Menues gefuehrt.
|
||||||
Meistens gibt es folgende Moeglichkeiten, die durch die
|
Meistens gibt es folgende Moeglichkeiten, die durch die
|
||||||
eingeklammerten Buchstaben und Zahlen aufgerufen werden koennen:
|
eingeklammerten Buchstaben und Zahlen aufgerufen werden koennen:
|
||||||
|
|
||||||
|
(0) Wahlschein mit Original vergleichen (diff)
|
||||||
(1) Anzeigen der Wahlmail
|
(1) Anzeigen der Wahlmail
|
||||||
|
|
||||||
Bestaetigen oder Aendern von Wahlschein-Eigenschaften:
|
Bestaetigen oder Aendern von Wahlschein-Eigenschaften:
|
||||||
|
@ -427,6 +429,9 @@ Teilweise gibt es Unteroptionen:
|
||||||
Nun solltest Du zunaechst mit (1) die Mail ansehen und anhand
|
Nun solltest Du zunaechst mit (1) die Mail ansehen und anhand
|
||||||
der bemaengelten Punkte entscheiden, ob der Wahlschein gueltig
|
der bemaengelten Punkte entscheiden, ob der Wahlschein gueltig
|
||||||
oder ungueltig ist bzw. welche Maengel tatsaechlich zutreffen.
|
oder ungueltig ist bzw. welche Maengel tatsaechlich zutreffen.
|
||||||
|
Mit (0) kannst Du einen Dateivergleich zu einem vorher hinterlegten
|
||||||
|
Musterwahlschein ausführen ("diff"), um Aenderungen/Fehler schneller
|
||||||
|
zu sehen.
|
||||||
|
|
||||||
Mit den Optionen (2) bis (7) kannst Du einzelne Eigenschaften
|
Mit den Optionen (2) bis (7) kannst Du einzelne Eigenschaften
|
||||||
des Wahlscheins nachbessern (wenn Usevote z.B. einen Namen oder
|
des Wahlscheins nachbessern (wenn Usevote z.B. einen Namen oder
|
||||||
|
@ -958,6 +963,7 @@ Hier eine Auflistung der immer anzupassenden Optionen
|
||||||
votename Name der Abstimmung
|
votename Name der Abstimmung
|
||||||
group1 Erster Abstimmungsgegenstand
|
group1 Erster Abstimmungsgegenstand
|
||||||
group2 Zweiter (und so weiter durchnummerieren)
|
group2 Zweiter (und so weiter durchnummerieren)
|
||||||
|
sampleballotfile Datei mit Musterwahlschein aus dem CfV fuer Dateivergleich (diff)
|
||||||
votefile Mailbox mit eingehenden Stimmen (falls POP3 ausgeschaltet)
|
votefile Mailbox mit eingehenden Stimmen (falls POP3 ausgeschaltet)
|
||||||
mailboxtype Typ der Mailbox (mbox, maildir)
|
mailboxtype Typ der Mailbox (mbox, maildir)
|
||||||
personal Personalisierte Wahlscheine verwenden? [BOOL]
|
personal Personalisierte Wahlscheine verwenden? [BOOL]
|
||||||
|
@ -1026,6 +1032,10 @@ clearcmd Shellbefehl zum Loeschen des Bildschirms (Standard: clear),
|
||||||
oder Betriebssystem keinen solchen Befehl bereitstellen,
|
oder Betriebssystem keinen solchen Befehl bereitstellen,
|
||||||
sollte ein Kommando verwendet werden, welches eine Trennlinie
|
sollte ein Kommando verwendet werden, welches eine Trennlinie
|
||||||
oder aehnliches auf dem Bildschirm ausgibt, z.B. mit "echo"
|
oder aehnliches auf dem Bildschirm ausgibt, z.B. mit "echo"
|
||||||
|
diff Shellbefehl zum Dateivergleich (diff); es koennen auch
|
||||||
|
Parameter angegeben werden, z.B. "diff -u". Das verwendete
|
||||||
|
Programm muss das Lesen einer Datei von STDIN erlauben
|
||||||
|
("-" statt Dateinamen fuer Einlesen von Standardeingabekanal)
|
||||||
pager Shellbefehl zum seitenweisen Darstellen von Mails auf dem
|
pager Shellbefehl zum seitenweisen Darstellen von Mails auf dem
|
||||||
Bildschirm (normalerweise "less"). Unter Windows muss "more"
|
Bildschirm (normalerweise "less"). Unter Windows muss "more"
|
||||||
benutzt werden, unter Unix hingegen gibt es moeglicherweise
|
benutzt werden, unter Unix hingegen gibt es moeglicherweise
|
||||||
|
|
|
@ -27,6 +27,7 @@ sub read_config {
|
||||||
# Default configuration options (overwritten in usevote.cfg)
|
# Default configuration options (overwritten in usevote.cfg)
|
||||||
%config = (votefile => "votes",
|
%config = (votefile => "votes",
|
||||||
votename => "unkonfiguriertes Usevote",
|
votename => "unkonfiguriertes Usevote",
|
||||||
|
sampleballotfile => "ballot.sample",
|
||||||
resultfile => "ergebnis.alle",
|
resultfile => "ergebnis.alle",
|
||||||
rulefile => "usevote.rul",
|
rulefile => "usevote.rul",
|
||||||
badaddrfile => "mailpatterns.cfg",
|
badaddrfile => "mailpatterns.cfg",
|
||||||
|
@ -57,6 +58,7 @@ sub read_config {
|
||||||
mailcc => "",
|
mailcc => "",
|
||||||
sleepcmd => "sleep 1",
|
sleepcmd => "sleep 1",
|
||||||
clearcmd => "clear",
|
clearcmd => "clear",
|
||||||
|
diff => "diff",
|
||||||
pager => "less",
|
pager => "less",
|
||||||
pop3 => 0,
|
pop3 => 0,
|
||||||
pop3server => "localhost",
|
pop3server => "localhost",
|
||||||
|
|
15
UVmenu.pm
15
UVmenu.pm
|
@ -69,6 +69,12 @@ sub menu {
|
||||||
my $menucaption = UVmessage::get("MENU_CAPTION");
|
my $menucaption = UVmessage::get("MENU_CAPTION");
|
||||||
print "\n\n$menucaption\n";
|
print "\n\n$menucaption\n";
|
||||||
print "=" x length($menucaption), "\n\n";
|
print "=" x length($menucaption), "\n\n";
|
||||||
|
|
||||||
|
# don't print this option if called from uvcfv.pl
|
||||||
|
unless ($mailonly) {
|
||||||
|
print "(0) ", UVmessage::get("MENU_DIFF_BALLOT"), "\n";
|
||||||
|
}
|
||||||
|
|
||||||
print "(1) ", UVmessage::get("MENU_SHOW_MAIL"), "\n\n",
|
print "(1) ", UVmessage::get("MENU_SHOW_MAIL"), "\n\n",
|
||||||
UVmessage::get("MENU_CHANGE_PROPERTIES"), "\n",
|
UVmessage::get("MENU_CHANGE_PROPERTIES"), "\n",
|
||||||
"(2) ", UVmessage::get("MENU_ADDRESS"), " [$voter_addr]\n";
|
"(2) ", UVmessage::get("MENU_ADDRESS"), " [$voter_addr]\n";
|
||||||
|
@ -95,7 +101,14 @@ sub menu {
|
||||||
# only accept 1, 2, i and w if called from uvcfv.pl
|
# only accept 1, 2, i and w if called from uvcfv.pl
|
||||||
next if ($mailonly && $input !~ /^[12iw]$/i);
|
next if ($mailonly && $input !~ /^[12iw]$/i);
|
||||||
|
|
||||||
if ($input eq '1') {
|
if ($input eq '0') {
|
||||||
|
# ignore SIGPIPE (Bug in more and less)
|
||||||
|
$SIG{PIPE} = 'IGNORE';
|
||||||
|
open (DIFF, "|$config{diff} - $config{sampleballotfile} | $config{pager}");
|
||||||
|
print DIFF $$body, "\n";
|
||||||
|
close (DIFF);
|
||||||
|
|
||||||
|
} elsif ($input eq '1') {
|
||||||
system($config{clearcmd});
|
system($config{clearcmd});
|
||||||
# ignore SIGPIPE (Bug in more and less)
|
# ignore SIGPIPE (Bug in more and less)
|
||||||
$SIG{PIPE} = 'IGNORE';
|
$SIG{PIPE} = 'IGNORE';
|
||||||
|
|
|
@ -42,6 +42,7 @@ MENU_UNRECOGNIZED_LIST = Stimme
|
||||||
MENU_VIOLATEDRULE = Regel ${RULE} verletzt.
|
MENU_VIOLATEDRULE = Regel ${RULE} verletzt.
|
||||||
MENU_PROBLEMS = Die folgenden Probleme muessen beseitigt werden:
|
MENU_PROBLEMS = Die folgenden Probleme muessen beseitigt werden:
|
||||||
MENU_CAPTION = Auswahlmenue:
|
MENU_CAPTION = Auswahlmenue:
|
||||||
|
MENU_DIFF_BALLOT = Wahlschein mit Original vergleichen (diff)
|
||||||
MENU_SHOW_MAIL = Anzeigen der Wahlmail
|
MENU_SHOW_MAIL = Anzeigen der Wahlmail
|
||||||
MENU_CHANGE_PROPERTIES = Bestaetigen oder Aendern von Wahlschein-Eigenschaften:
|
MENU_CHANGE_PROPERTIES = Bestaetigen oder Aendern von Wahlschein-Eigenschaften:
|
||||||
MENU_ADDRESS = Mailadresse
|
MENU_ADDRESS = Mailadresse
|
||||||
|
|
|
@ -77,6 +77,10 @@ multigroup = 1
|
||||||
condition1 = $yes>=2*$no
|
condition1 = $yes>=2*$no
|
||||||
condition2 = $yes>=50
|
condition2 = $yes>=50
|
||||||
|
|
||||||
|
# Datei mit Musterwahlschein, wie er im CfV geposted wurde. Wird fuer
|
||||||
|
# Vergleich mit ankommenden Wahlscheinen per "diff" genutzt.
|
||||||
|
sampleballotfile = ballot.sample
|
||||||
|
|
||||||
# Ergebnisdatei, in der alle Einzelergebniss zusammengeschrieben werden
|
# Ergebnisdatei, in der alle Einzelergebniss zusammengeschrieben werden
|
||||||
# (wird bei jedem Programmlauf neu erstellt!)
|
# (wird bei jedem Programmlauf neu erstellt!)
|
||||||
resultfile = ergebnis.alle
|
resultfile = ergebnis.alle
|
||||||
|
@ -208,6 +212,9 @@ clearcmd = clear
|
||||||
# Windows-Verzeichnis kopieren (URL siehe README-Datei)
|
# Windows-Verzeichnis kopieren (URL siehe README-Datei)
|
||||||
pager = less
|
pager = less
|
||||||
|
|
||||||
|
# Shellbefehl fuer Dateivergleich
|
||||||
|
diff = diff
|
||||||
|
|
||||||
# Datei mit diversen Meldungen und Textfragmenten (Resourcendatei)
|
# Datei mit diversen Meldungen und Textfragmenten (Resourcendatei)
|
||||||
messagefile = messages.cfg
|
messagefile = messages.cfg
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue