2 # -*- coding: iso-8859-1 -*-
4 # ==============================
6 # ==============================
14 print >> sys.stderr, "ERROR: sqlite3 module not available!"
15 print >> sys.stderr, "This script needs sqlite3 support which is part of Python 2.5"
16 print >> sys.stderr, "You probably need to upgrade your Python installation first."
19 class UserManager(object):
21 self.db = sqlite3.connect(os.environ['HOME'] + '/.quassel/quassel-storage.sqlite')
27 def shaCrypt(self, password):
28 shaPass = sha.new(password)
29 return shaPass.hexdigest()
31 def addUser(self, username, password):
32 cursor = self.db.cursor()
33 cursor.execute('INSERT INTO quasseluser (username, password) VALUES (:username, :password)',
34 {'username':username, 'password':self.shaCrypt(password)})
36 def changePass(self, username, password):
37 cursor = self.db.cursor()
38 cursor.execute('UPDATE quasseluser SET password = :password WHERE username = :username',
39 {'username':username, 'password':self.shaCrypt(password)})
41 if __name__ == "__main__":
42 generalError = "ERROR: Wrong argument count (Syntax: %s add|changepass <username> <password>)" % sys.argv[0]
47 if sys.argv[1].lower() not in ['add', 'changepass']:
51 userManager = UserManager()
52 actions = {'add':userManager.addUser,
53 'changepass':userManager.changePass}
55 actions[sys.argv[1]](sys.argv[2], sys.argv[3])