예제 #1
0
    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)
예제 #2
0
    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)
예제 #3
0
    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']
예제 #4
0
파일: test_metrics.py 프로젝트: iotest3/new
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
예제 #5
0
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)
예제 #6
0
 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__)
예제 #7
0
파일: topic.py 프로젝트: ucla/PushHubCore
    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()
예제 #8
0
 def __init__(self):
     super(Plungyr, self).__init__()
     self['profiles'] = Folder()
예제 #9
0
def create_metrics_container(context):
    site = find_site(context)
    metrics_container = Folder()
    alsoProvides(metrics_container, IMetricsContainerFolder)
    site['metrics'] = metrics_container
    return metrics_container