extras-buildsys/utils user-manager.py,1.1,1.2

Daniel Williams (dcbw) fedora-extras-commits at redhat.com
Tue Aug 2 04:10:35 UTC 2005


Author: dcbw

Update of /cvs/fedora/extras-buildsys/utils
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv27005/utils

Modified Files:
	user-manager.py 
Log Message:
2005-08-01  Dan Williams <dcbw at redhat.com>

    * Implement 'finished' state, allow users to move failed/needsign jobs
        to the 'finished' state

    * Random cleanups of database access code to make it more readable

    * Simplify user permissions

    * server/PackageJob.py
        - Each state/stage now has a private method called "_stage_<the-stage>"
            that gets called when the job is in that stage.  This simplifies
            the job's process routine quite a bit
        - Jobs now record a 'result', either 'success', 'failed', or 'killed'




Index: user-manager.py
===================================================================
RCS file: /cvs/fedora/extras-buildsys/utils/user-manager.py,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- user-manager.py	14 Jun 2005 01:16:31 -0000	1.1
+++ user-manager.py	2 Aug 2005 04:10:33 -0000	1.2
@@ -25,9 +25,9 @@
     print "Usage:\n"
     print "   %s <dbfile> <command ...>\n\n" % prog
     print "      Commands:"
-    print "         add <email> [own_jobs] [kill_any_job] [modify_users] [server_admin]"
+    print "         add <email> [own_jobs] [job_admin] [user_admin] [server_admin]"
     print "         del <email>"
-    print "         mod <email> [+/-own_jobs] [+/-kill_any_job] [+/-modify_users] [+/-server_admin]"
+    print "         mod <email> [+/-own_jobs] [+/-job_admin] [+/-user_admin] [+/-server_admin]"
     print "         find <search string>"
 
 
@@ -51,8 +51,8 @@
 
         if create:
             self.curs.execute('CREATE TABLE users (email VARCHAR(50), ' \
-                    'own_jobs BOOLEAN, kill_any_job BOOLEAN, ' \
-                    'modify_users BOOLEAN, server_admin BOOLEAN)')
+                    'own_jobs BOOLEAN, job_admin BOOLEAN, ' \
+                    'user_admin BOOLEAN, server_admin BOOLEAN)')
             self.dbcx.commit()
 
     def __del__(self):
@@ -82,24 +82,24 @@
             raise UserManagerException("User %s already exists." % email)
 
         own_jobs = 0
-        kill_any_job = 0
-        modify_users = 0
+        job_admin = 0
+        user_admin = 0
         server_admin = 0
         for arg in args[1:]:
             if arg == 'own_jobs':
                 own_jobs = 1
-            elif arg == 'kill_any_job':
-                kill_any_job = 1
-            elif arg == 'modify_users':
-                modify_users = 1
+            elif arg == 'job_admin':
+                job_admin = 1
+            elif arg == 'user_admin':
+                user_admin = 1
             elif arg == 'server_admin':
                 server_admin = 1
             else:
                 raise UserManagerException("The user privilege '%s' is unknown." % arg)
 
-        self.curs.execute('INSERT INTO users (email, own_jobs, kill_any_job,' \
-                ' modify_users, server_admin) VALUES ("%s", %d, %d, %d, %d)' \
-                % (email, own_jobs, kill_any_job, modify_users, server_admin))
+        self.curs.execute('INSERT INTO users (email, own_jobs, job_admin,' \
+                ' user_admin, server_admin) VALUES ("%s", %d, %d, %d, %d)' \
+                % (email, own_jobs, job_admin, user_admin, server_admin))
         self.dbcx.commit()
         print "User %s added." % email
 
@@ -144,8 +144,8 @@
             raise UserManagerException("User %s doesn't exist." % email)
 
         own_jobs = item['own_jobs']
-        kill_any_job = item['kill_any_job']
-        modify_users = item['modify_users']
+        job_admin = item['job_admin']
+        user_admin = item['user_admin']
         server_admin = item['server_admin']
         for opt in args[1:]:
             if opt[0] != '+' and opt[0] != '-':
@@ -153,20 +153,20 @@
             priv = opt[1:]
             if priv == 'own_jobs':
                 own_jobs = self._cap_to_num(opt[0])
-            elif priv == 'kill_any_job':
-                kill_any_job = self._cap_to_num(opt[0])
-            elif priv == 'modify_users':
-                modify_users = self._cap_to_num(opt[0])
+            elif priv == 'job_admin':
+                job_admin = self._cap_to_num(opt[0])
+            elif priv == 'user_admin':
+                user_admin = self._cap_to_num(opt[0])
             elif priv == 'server_admin':
                 server_admin = self._cap_to_num(opt[0])
             else:
                 raise UserManagerException("The privilege '%s' is unknown." % privilege)
 
-        self.curs.execute('UPDATE users SET own_jobs=%d, kill_any_job=%d, modify_users=%d, server_admin=%d' \
-                    ' WHERE email="%s"' % (own_jobs, kill_any_job, modify_users, server_admin, email))
+        self.curs.execute('UPDATE users SET own_jobs=%d, job_admin=%d, user_admin=%d, server_admin=%d' \
+                    ' WHERE email="%s"' % (own_jobs, job_admin, user_admin, server_admin, email))
         self.dbcx.commit()
-        print "User privileges updated: own_jobs=%d, kill_any_job=%d, modify_users=%d, server_admin=%d" % (
-                    own_jobs, kill_any_job, modify_users, server_admin)
+        print "User privileges updated: own_jobs=%d, job_admin=%d, user_admin=%d, server_admin=%d" % (
+                    own_jobs, job_admin, user_admin, server_admin)
 
     def find_user(self, args):
         if len(args) < 1:
@@ -184,8 +184,8 @@
         for row in data:
             string = "%s" % row['email'] + " " * (40 - len(row['email']))
             string = string + "own_jobs:%d  " % row['own_jobs']
-            string = string + "kill_any_job:%d  " % row['kill_any_job']
-            string = string + "modify_users:%d  " % row['modify_users']
+            string = string + "job_admin:%d  " % row['job_admin']
+            string = string + "user_admin:%d  " % row['user_admin']
             string = string + "server_admin:%d  " % row['server_admin']
             print string
         print ""




More information about the scm-commits mailing list