diff options
Diffstat (limited to 'build_tools/l7/larch0/cli/userinfo.py')
-rw-r--r-- | build_tools/l7/larch0/cli/userinfo.py | 93 |
1 files changed, 0 insertions, 93 deletions
diff --git a/build_tools/l7/larch0/cli/userinfo.py b/build_tools/l7/larch0/cli/userinfo.py deleted file mode 100644 index f2045aa..0000000 --- a/build_tools/l7/larch0/cli/userinfo.py +++ /dev/null @@ -1,93 +0,0 @@ -# userinfo.py -# -# (c) Copyright 2009-2010 Michael Towers (larch42 at googlemail dot com) -# -# This file is part of the larch project. -# -# larch is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# larch is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with larch; if not, write to the Free Software Foundation, Inc., -# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA -# -#---------------------------------------------------------------------------- -# 2010.07.11 - -import os -from ConfigParser import SafeConfigParser - -# Default list of 'additional' groups for a new user -BASEGROUPS = 'video,audio,optical,storage,scanner,power,camera' - -class Userinfo: - def __init__(self, profile): - self.profile_dir = profile - - def getusers(self): - """Read user information by means of a SafeConfigParser instance. - This is then available as self.userconf. - """ - self.userconf = SafeConfigParser({'pw':'', 'maingroup':'', 'uid':'', - 'skel':'', 'xgroups':BASEGROUPS, 'expert':''}) - users = self.profile_dir + '/users' - if os.path.isfile(users): - try: - self.userconf.read(users) - except: - error0(_("Invalid 'users' file")) - - def allusers(self): - self.getusers() - return self.userconf.sections() - - def get(self, user, field): - return self.userconf.get(user, field) - - def userinfo(self, user, fields): - """Get an ordered list of the given field data for the given user. - """ - return [self.userconf.get(user, f) for f in fields] - - def userset(self, uname, field, text): - self.userconf.set(uname, field, text) - - def newuser(self, user): - try: - self.userconf.add_section(user) - return self.saveusers() - except: - error0(_("Couldn't add user '%s'") % user) - return False - - def deluser(self, user): - try: - self.userconf.remove_section(user) - return self.saveusers() - except: - error0(_("Couldn't remove user '%s'") % user) - return False - - def saveusers(self): - """Save the user configuration data (in 'INI' format) - """ - try: - fh = None - fh = open(self.profile_dir + '/users', 'w') - self.userconf.write(fh) - fh.close() - return True - except: - if fh: - fh.close() - error0(_("Couldn't save 'users' file")) - self.getusers() - return False - |