- Timestamp:
- 21 Sep 2012, 08:19:35 (12 years ago)
- Location:
- main/waeup.kofa/branches/uli-zc-async
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
main/waeup.kofa/branches/uli-zc-async
- Property svn:mergeinfo changed
/main/waeup.kofa/branches/uli-async-update removed /main/waeup.kofa/branches/uli-autoinclude-less removed /main/waeup.kofa/trunk removed
- Property svn:mergeinfo changed
-
main/waeup.kofa/branches/uli-zc-async/src/waeup/kofa/userscontainer.py
r9209 r9211 23 23 from waeup.kofa.interfaces import IUsersContainer 24 24 from waeup.kofa.utils.logger import Logger 25 from waeup.kofa.utils.batching import ExporterBase26 from waeup.kofa.interfaces import ICSVExporter27 from waeup.kofa.interfaces import MessageFactory as _28 29 25 30 26 class UsersContainer(grok.Container, Logger): … … 64 60 del self[name] 65 61 #self.logger.info('User account %s deleted.' % name) 66 67 68 class UsersExporter(grok.GlobalUtility, ExporterBase):69 """Exporter for user accounts.70 """71 grok.implements(ICSVExporter)72 grok.name('users')73 74 #: Fieldnames considered by this exporter75 fields = ('name', 'title', 'public_name', 'description',76 'email', 'phone', 'roles', 'local_roles', 'password')77 78 #: The title under which this exporter will be displayed79 title = _(u'Users')80 81 def mangle_value(self, value, name, context=None):82 """Treat location values special.83 """84 85 if name == 'local_roles' and context is not None:86 local_roles = context.getLocalRoles()87 value = {}88 for role in local_roles.keys():89 objects = local_roles[role]90 object_list = []91 for object in objects:92 object.__class__.__name__93 object_list.append((object.__name__, object.__class__.__name__))94 value[role] = object_list95 return super(96 UsersExporter, self).mangle_value(97 value, name, context=context)98 99 def export(self, users, filepath=None):100 """Export `users`, an iterable, as CSV file.101 102 If `filepath` is ``None``, a raw string with CSV data is returned.103 """104 writer, outfile = self.get_csv_writer(filepath)105 for user in users:106 self.write_item(user, writer)107 return self.close_outfile(filepath, outfile)108 109 def export_all(self, site, filepath=None):110 """Export users into filepath as CSV data.111 112 If `filepath` is ``None``, a raw string with CSV data is returned.113 """114 users = site.get('users', {})115 return self.export(users.values(), filepath)
Note: See TracChangeset for help on using the changeset viewer.