summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormakefu <root@pigstarter.de>2014-04-25 15:54:08 +0200
committermakefu <root@pigstarter.de>2014-04-25 15:54:08 +0200
commit2d646912b01c3e9399c19347b524ebbe00f44a04 (patch)
tree93028c77e8be53691515756ca22885def4c047f6
parent6df0fa8c961dd9884826488986892db3b2574ce8 (diff)
make exceptions more clear
-rwxr-xr-xReaktor/titlebot/commands/undo10
-rwxr-xr-xReaktor/titlebot/commands/up18
-rw-r--r--Reaktor/titlebot/titlebot.py2
3 files changed, 20 insertions, 10 deletions
diff --git a/Reaktor/titlebot/commands/undo b/Reaktor/titlebot/commands/undo
index bebd57a3..a66de67f 100755
--- a/Reaktor/titlebot/commands/undo
+++ b/Reaktor/titlebot/commands/undo
@@ -16,12 +16,16 @@ except:
undos vote of one or more entries based on .list""")
sys.exit(1)
voter = environ['_prefix']
+voter_name = environ['_from']
for vote in votes:
try:
vote = int(vote)
- del(db[vote]['votes'][voter] )
- print("undid vote by %s for #%d" %(environ['_from'],vote))
+ if not voter in db[vote]['votes']:
+ print("%s, you never voted for '%s'!"%(voter_name,db[vote]['title']))
+ else:
+ del(db[vote]['votes'][voter] )
+ print("%s undid vote for '%s'" %(voter_name,db[vote]['title'] ))
except:
- print("undo voting for #%s failed" %vote)
+ print("%s undo voting for #%d failed" %(voter_name,vote))
poll.save_db(f,db)
diff --git a/Reaktor/titlebot/commands/up b/Reaktor/titlebot/commands/up
index c9de1223..0a48bdb0 100755
--- a/Reaktor/titlebot/commands/up
+++ b/Reaktor/titlebot/commands/up
@@ -9,19 +9,25 @@ import poll
f = 'suggestions.json'
db = poll.load_db(f)
votes = []
-try:
- votes = sys.argv[1:]
-except:
+votes = sys.argv[1:]
+if not votes:
print("""usage: up number (...)
upvotes one or more entries based on .list""")
sys.exit(1)
voter = environ['_prefix']
+voter_name =environ['_from']
for vote in votes:
try:
vote = int(vote)
- db[vote]['votes'][voter] = 1
+ if vote < 0:
+ raise Exception()
+ if voter in db[vote]['votes']:
+ print("%s, you already have voted for '%s'"%(voter_name,db[vote]['title']) )
+ else:
+ db[vote]['votes'][voter] = 1
+ print("%s voted for '%s'"%(voter_name,db[vote]['title']))
except:
- print("voting for #%s failed" %vote)
-print("Thanks for your votes %s"%environ['_from'])
+ print("%s, voting for #%s failed" %(voter_name,vote))
+
poll.save_db(f,db)
diff --git a/Reaktor/titlebot/titlebot.py b/Reaktor/titlebot/titlebot.py
index 05ff612e..6a3b2f79 100644
--- a/Reaktor/titlebot/titlebot.py
+++ b/Reaktor/titlebot/titlebot.py
@@ -1,6 +1,6 @@
from os import environ,mkdir
from os.path import abspath, expanduser
-
+import re
debug = False
# CAVEAT name should not contains regex magic