diff options
author | Jogi Hofmüller <jogi@mur.at> | 2011-08-01 09:21:12 +0000 |
---|---|---|
committer | Jogi Hofmüller <jogi@mur.at> | 2011-08-01 09:21:12 +0000 |
commit | 8f163642ecceac0e9eba916b1dfbd4d6d0ad63bb (patch) | |
tree | 00bd3232f9c89a12fdf019eb1035c6cffedbc2e5 /tools/mmd | |
parent | - have a confirmation request sent by email for registration now (diff) |
- found a way to handle encoding
- switched back to / as script handler
git-svn-id: https://svn.spreadspace.org/mur.sat@87 7de4ea59-55d0-425e-a1af-a3118ea81d4c
Diffstat (limited to 'tools/mmd')
-rw-r--r-- | tools/mmd/MmdDb.py | 16 | ||||
-rw-r--r-- | tools/mmd/MmdSession.py | 26 | ||||
-rw-r--r-- | tools/mmd/MmdUser.py | 3 | ||||
-rw-r--r-- | tools/mmd/MmdWidgets.py | 12 |
4 files changed, 38 insertions, 19 deletions
diff --git a/tools/mmd/MmdDb.py b/tools/mmd/MmdDb.py index 18a4df8..1065bb6 100644 --- a/tools/mmd/MmdDb.py +++ b/tools/mmd/MmdDb.py @@ -1,3 +1,4 @@ +# -*- encoding: utf-8 -*- """ sqlite3 database module for MURSAT1 Mission Dashboard """ @@ -8,6 +9,7 @@ class Db: def __init__ (self): self.conn = sqlite3.connect ('/usr/local/mmd/db/mmd.db') + self.conn.text_factory = str self.cursor = self.conn.cursor () def sessionFind (self, session_id): @@ -47,6 +49,14 @@ class Db: (user_id, firstname, lastname, email, callsign, password, confreg)) self.conn.commit () + def userDelete (self, user_id): + self.cursor.execute ('DELETE FROM user WHERE id=?', (user_id,)) + self.conn.commit () + + def userFindId (self, user_id): + self.cursor.execute ('SELECT * FROM user WHERE id=?', (user_id,)) + return self.cursor.fetchone () + def close (self): self.cursor.close () self.conn.close () @@ -54,11 +64,15 @@ class Db: if __name__ == "__main__": db = Db () print db.sessionFind ('1234567890') - db.sessionInit ('1234567890') + db.sessionInit ('1234567890', 'jogi@mur.at', '1') data = db.sessionFind ('1234567890') print data[0], data[1] db.sessionDelete ('1234567890') print db.sessionFind ('1234567890') + print db.userFindId ('1') + db.userCreate ('1', 'Jogi', 'Hofmüller', 'jogi@mur.at', '', '', '') + print db.userFindId ('1') + db.userDelete ('1') # vim: tw=0 ts=2 expandtab diff --git a/tools/mmd/MmdSession.py b/tools/mmd/MmdSession.py index c2d41b4..ff92684 100644 --- a/tools/mmd/MmdSession.py +++ b/tools/mmd/MmdSession.py @@ -50,32 +50,38 @@ class Session: # session methods to extract strings from QueryString def getQsCmd (self): - return escape (self.qs.get ('cmd', [''])[0]).decode ('utf-8') + return self.getField ('cmd') def getQsFirstname (self): - return escape (self.qs.get ('firstname', [''])[0]).decode ('utf-8') + return self.getField ('firstname') def getQsLastname (self): - return escape (self.qs.get ('lastname', [''])[0]).decode ('utf-8') + return self.getField ('lastname') def getQsEmail (self): - return escape (self.qs.get ('email', [''])[0]).decode ('utf-8') + return self.getField ('email') def getQsCallsign (self): - return escape (self.qs.get ('callsign', [''])[0]).decode ('utf-8') + return self.getField ('callsign') def getQsLongitude (self): - return escape (self.qs.get ('longitude', [''])[0]).decode ('utf-8') + return self.getField ('longitude') def getQsLatitude (self): - return escape (self.qs.get ('latitude', [''])[0]).decode ('utf-8') + return self.getField ('latitude') def getQsPassword (self): - return escape (self.qs.get ('password', [''])[0]).decode ('utf-8') + return self.getField ('password') def getQsConfirm (self): - return escape (self.qs.get ('confirm', [''])[0]).decode ('utf-8') - + return self.getField ('confirm') + + def getField (self, field): + try: + return escape (self.qs.get (field)[0]) + except TypeError: + return '' + if __name__ == "__main__": pass diff --git a/tools/mmd/MmdUser.py b/tools/mmd/MmdUser.py index ee45e72..1521fae 100644 --- a/tools/mmd/MmdUser.py +++ b/tools/mmd/MmdUser.py @@ -13,8 +13,7 @@ class User: def create (self, user_id, firstname, lastname, email, callsign, longitude, latitude, password): password_hash = hashlib.sha1 (password).hexdigest () - token = str ('{0}{1}{2}{3}'.format (user_id, firstname, lastname, email)) - confreg = hashlib.sha1 (token).hexdigest () + confreg = hashlib.sha1 ('{0}{1}{2}{3}'.format (user_id, firstname, lastname, email)).hexdigest () self.db.userCreate (user_id, firstname, lastname, email, callsign, password_hash, confreg) return confreg diff --git a/tools/mmd/MmdWidgets.py b/tools/mmd/MmdWidgets.py index 1402410..252b6f8 100644 --- a/tools/mmd/MmdWidgets.py +++ b/tools/mmd/MmdWidgets.py @@ -16,7 +16,7 @@ def loginFormWidget (): </table> <input type="hidden" name="cmd" value="login" /> </form> - Don't have an account yet? <a href="mmd?cmd=registerForm">Register</a> here! + Don't have an account yet? <a href="?cmd=registerForm">Register</a> here! ''' return html @@ -116,7 +116,7 @@ def osmWidget (longitude = 15.4426, latitude = 47.06576): def statusWidget (ip, email): html = ''' - <a href="mmd"> + <a href=""> <img src="http://sat.mur.at/pics/sat-logo-notext.png" alt="mur.sat logo" /> </a> MURSAT1 Mission Dashboard @@ -134,7 +134,7 @@ def indexWidget (lcol, rcol, status): <head> <title>MURSAT1 Dashboard</title> <meta charset="utf-8" /> - <link rel="stylesheet" type="text/css" href="mmd.css" /> + <link rel="stylesheet" type="text/css" href="static/mmd.css" /> </head> <body> <div id="status"> @@ -164,9 +164,9 @@ def dataWidget (longitude = 15.44226, latitude = 47.06576): <div>Longitude: {0}</div> <div>Latitude: {1}</div> <hr /> - <div><a href="mmd?cmd=submitForm">Submit</a> a report</div> - <div><a href="mmd?cmd=loginForm">Login</a> to your personal account</div> - <div>View <a href="mmd?cmd=viewlog">Log</a> of reports</div> + <div><a href="?cmd=submitForm">Submit</a> a report</div> + <div><a href="?cmd=loginForm">Login</a> to your personal account</div> + <div>View <a href="?cmd=viewlog">Log</a> of reports</div> <hr /> <div>Checkout the <a href="http://sat.mur.at/">project page</a>!</div> '''.format (longitude, latitude) |