def test_adding_with_subobject(self): root = Folder() folder = Folder() folder['1'] = Folder() folder['1']['2'] = Folder() #Add subscriber L = [] def subscriber(context, event): L.append([context, event]) self.config.add_subscriber(subscriber, [IFolder, IObjectAddedEvent]) root['f'] = folder self.assertEqual(len(L), 3)
def test_removing_with_subobject(self): root = Folder() root['1'] = Folder() root['1']['2'] = Folder() root['1']['2']['3'] = Folder() #Add subscriber L = [] def subscriber(context, event): L.append([context, event]) self.config.add_subscriber(subscriber, [IFolder, IObjectWillBeRemovedEvent]) del root['1'] self.assertEqual(len(L), 3)
def __init__(self): super(PeopleDirectory, self).__init__() self['categories'] = Folder() # {id: PeopleCategory} self.catalog = CachingCatalog() self.catalog.document_map = DocumentMap() self.update_indexes() # Set up a default configuration self['all'] = section = PeopleSection('All') section['all'] = report = PeopleReport('All') report.columns = ('name', 'organization', 'location', 'email') self.order = ['all']
def sample_folder(multiplier): from repoze.folder import Folder from zope.interface import alsoProvides from osi.interfaces import IMetricsMonthFolder f = Folder() alsoProvides(f, IMetricsMonthFolder) f.contenttypes = sample_content_types(multiplier) username = u'marty' if multiplier % 2 == 0 else u'mcfly' f.profiles = sample_profiles(username, multiplier) commid, commtitle = (('delorean', 'Delorean') if multiplier % 2 == 0 else ('flux', 'Capacitor')) f.communities = sample_communities(commid, commtitle, multiplier) f.users = sample_users(multiplier) return f
def generate_metrics(root, year, month): contenttype = metrics.collect_contenttype_metrics(root, year, month) profiles = metrics.collect_profile_metrics(root, year, month) users = metrics.collect_user_metrics(root, year, month) communities = metrics.collect_community_metrics(root, year, month) metrics_folder = find_or_create_metrics_container(root) year_folder = metrics_folder.get(str(year), None) if year_folder is None: year_folder = Folder() alsoProvides(year_folder, IMetricsYearFolder) metrics_folder[str(year)] = year_folder month_folder = year_folder.get(month_string(month), None) if month_folder is None: month_folder = Folder() alsoProvides(month_folder, IMetricsMonthFolder) year_folder[month_string(month)] = month_folder month_folder.contenttypes = OOBTree(contenttype) month_folder.profiles = OOBTree(profiles) month_folder.users = OOBTree(users) month_folder.communities = OOBTree(communities)
def test_edit_w_date_w_editor_w___parent__(self): from datetime import datetime from datetime import timedelta from repoze.folder import Folder from .. import models parent = Folder() BEFORE = datetime.now() AFTER = BEFORE + timedelta(1) author = _User() editor = _User() with _Monkey(models, _NOW=BEFORE): parent['testing'] = post = self._makeOne(author, 'TEXT') post.edit('NEW TEXT', editor, AFTER) self.failUnless(post.editor is editor) self.assertEqual(post.modified, AFTER) self.assertEqual(author.points, 50) self.assertEqual(editor.points, 20) self.assertEqual(editor.badges, {'editor': [None]}) self.failUnless('hotness' in parent.__dict__)
def __init__(self, url): """Initialize the topic and it's timestamp/content. Verification happens afterward. """ # Do some basic sanity checks pieces = urlparse(url) if not (pieces.scheme and pieces.netloc and pieces.path): raise ValueError self.url = url self.timestamp = None self.content_type = '' self.content = None self.changed = False self.subscribers = Folder() self.subscriber_count = 0 self.last_pinged = None self.failed = False self.ping()
def __init__(self): super(Plungyr, self).__init__() self['profiles'] = Folder()
def create_metrics_container(context): site = find_site(context) metrics_container = Folder() alsoProvides(metrics_container, IMetricsContainerFolder) site['metrics'] = metrics_container return metrics_container