summaryrefslogtreecommitdiff
path: root/tools/mmd
diff options
context:
space:
mode:
authorJogi Hofmüller <jogi@mur.at>2011-08-01 09:21:12 +0000
committerJogi Hofmüller <jogi@mur.at>2011-08-01 09:21:12 +0000
commit8f163642ecceac0e9eba916b1dfbd4d6d0ad63bb (patch)
tree00bd3232f9c89a12fdf019eb1035c6cffedbc2e5 /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.py16
-rw-r--r--tools/mmd/MmdSession.py26
-rw-r--r--tools/mmd/MmdUser.py3
-rw-r--r--tools/mmd/MmdWidgets.py12
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)