コード例 #1
0
def convert_subscription(old_subscription, portal, log):
    location = old_subscription.location
    user_id = old_subscription.user_id
    notif_type = old_subscription.notif_type
    lang = old_subscription.lang

    log.info("Updating (location=%r, user_id=%r, notif_type=%r, lang=%r)", location, user_id, notif_type, lang)

    try:
        obj = portal.unrestrictedTraverse(location)
        sc = ISubscriptionContainer(obj)
        new_subscription = AccountSubscription(user_id, notif_type, lang)
        sc.add(new_subscription)
    except:
        log.exception("Failed to update subscription")
コード例 #2
0
def convert_subscription(old_subscription, portal, log):
    location = old_subscription.location
    user_id = old_subscription.user_id
    notif_type = old_subscription.notif_type
    lang = old_subscription.lang

    log.info('Updating (location=%r, user_id=%r, notif_type=%r, lang=%r)',
             location, user_id, notif_type, lang)

    try:
        obj = portal.unrestrictedTraverse(location)
        sc = ISubscriptionContainer(obj)
        new_subscription = AccountSubscription(user_id, notif_type, lang)
        sc.add(new_subscription)
    except:
        log.exception('Failed to update subscription')
コード例 #3
0
    def test_add(self):
        sc = ISubscriptionContainer(self.root)
        self.assertEqual(sc._next_id, 1)

        sub1 = AccountSubscription('gigel', 'instant', 'en')
        sub2 = AccountSubscription('user2', 'instant', 'en')
        sub3 = AnonymousSubscription(email='*****@*****.**',
                                     location='',
                                     notif_type='instant',
                                     lang='en',
                                     content_types=[])
        sc.add(sub1)
        sc.add(sub2)
        sc.add(sub3)

        subs = list(sc)
        self.assertEqual(len(subs), 3)
        self.assertTrue(subs[0] is sub1)
        self.assertTrue(subs[1] is sub2)
        self.assertTrue(subs[2] is sub3)

        enum = dict(sc.list_with_keys())
        self.assertEqual(enum.keys(), [1, 2, 3])
        self.assertTrue(enum[1] is sub1)
        self.assertTrue(enum[2] is sub2)
        self.assertTrue(enum[3] is sub3)
        self.assertEqual(sc._next_id, 4)
コード例 #4
0
    def test_add(self):
        sc = ISubscriptionContainer(self.root)
        self.assertEqual(sc._next_id, 1)

        sub1 = AccountSubscription('gigel', 'instant', 'en')
        sub2 = AccountSubscription('user2', 'instant', 'en')
        sc.add(sub1)
        sc.add(sub2)

        subs = list(sc)
        self.assertEqual(len(subs), 2)
        self.assertTrue(subs[0] is sub1)
        self.assertTrue(subs[1] is sub2)

        enum = dict(sc.list_with_keys())
        self.assertEqual(enum.keys(), [1, 2])
        self.assertTrue(enum[1] is sub1)
        self.assertTrue(enum[2] is sub2)
        self.assertEqual(sc._next_id, 3)
コード例 #5
0
    def test_add(self):
        sc = ISubscriptionContainer(self.root)
        self.assertEqual(sc._next_id, 1)

        sub1 = AccountSubscription('gigel', 'instant', 'en')
        sub2 = AccountSubscription('user2', 'instant', 'en')
        sub3 = AnonymousSubscription(email='*****@*****.**',
                                     location='', notif_type='instant',
                                     lang='en', content_types=[])
        sc.add(sub1)
        sc.add(sub2)
        sc.add(sub3)

        subs = list(sc)
        self.assertEqual(len(subs), 3)
        self.assertTrue(subs[0] is sub1)
        self.assertTrue(subs[1] is sub2)
        self.assertTrue(subs[2] is sub3)

        enum = dict(sc.list_with_keys())
        self.assertEqual(enum.keys(), [1, 2, 3])
        self.assertTrue(enum[1] is sub1)
        self.assertTrue(enum[2] is sub2)
        self.assertTrue(enum[3] is sub3)
        self.assertEqual(sc._next_id, 4)
コード例 #6
0
    def afterSetUp(self):
        addNyFolder(self.portal, id='f1', contributor='contributor')
        addNyFolder(self.portal['f1'], id='a', contributor='contributor')
        addNyFolder(self.portal['f1'], id='b', contributor='contributor')
        addNyFolder(self.portal['f1']['b'], id='2', contributor='contributor')

        f1 = self.portal['f1']
        f1_b_sc = ISubscriptionContainer(f1['b'])
        f1_b_2_sc = ISubscriptionContainer(f1['b']['2'])

        self.user1_sub = AccountSubscription('user1', 'instant', 'en')
        f1_b_sc.add(self.user1_sub)

        self.user2_sub = AccountSubscription('user2', 'instant', 'en')
        f1_b_2_sc.add(self.user2_sub)
コード例 #7
0
    def test_remove(self):
        sc = ISubscriptionContainer(self.root)
        sub1 = AccountSubscription('user1', 'instant', 'en')
        sub2 = AccountSubscription('user2', 'instant', 'en')
        sc.add(sub1)
        sc.add(sub2)
        self.assertEqual(len(list(sc)), 2)

        enum = dict(sc.list_with_keys())
        self.assertTrue(enum[1] is sub1)

        sc.remove(1)
        self.assertEqual(len(list(sc)), 1)
        self.assertTrue(list(sc)[0] is sub2)
コード例 #8
0
    def test_remove(self):
        sc = ISubscriptionContainer(self.root)
        sub1 = AccountSubscription('user1', 'instant', 'en')
        sub2 = AccountSubscription('user2', 'instant', 'en')
        sc.add(sub1)
        sc.add(sub2)
        self.assertEqual(len(list(sc)), 2)

        enum = dict(sc.list_with_keys())
        self.assertTrue(enum[1] is sub1)

        sc.remove(1)
        self.assertEqual(len(list(sc)), 1)
        self.assertTrue(list(sc)[0] is sub2)
コード例 #9
0
    def afterSetUp(self):
        addNyFolder(self.portal, id='f1', contributor='contributor')
        addNyFolder(self.portal['f1'], id='a', contributor='contributor')
        addNyFolder(self.portal['f1'], id='b', contributor='contributor')
        addNyFolder(self.portal['f1']['b'], id='2', contributor='contributor')

        f1 = self.portal['f1']
        f1_b_sc = ISubscriptionContainer(f1['b'])
        f1_b_2_sc = ISubscriptionContainer(f1['b']['2'])

        self.user1_sub = AccountSubscription('user1', 'instant', 'en')
        f1_b_sc.add(self.user1_sub)

        self.user2_sub = AccountSubscription('user2', 'instant', 'en')
        f1_b_2_sc.add(self.user2_sub)
コード例 #10
0
 def import_subscribers(self, notif_type='monthly'):
     ''' '''
     from Products.NaayaCore.NotificationTool.interfaces import ISubscriptionContainer
     import xmlrpclib
     sdo = xmlrpclib.ServerProxy('http://sd-online.ewindows.eu.org')
     obs = sdo.a_subscribers_export()
     total_obs = len(obs)
     current_ob = 0
     for ob in obs:
         current_ob += 1
         notificationTool = self.getSite().portal_anonymous_notification
         notificationTool.import_email_subscription(ob['email'],
                                                    ob['organisation'],
                                                    ob['sector'],
                                                    ob['country'],
                                                    notif_type, 'en')
         print '%s of %s objects, SDO Id: %s' % (current_ob, total_obs,
                                                 ob['id'])
     print 'Import finished.'
     subscription_container = ISubscriptionContainer(self.getSite())
     for ob in subscription_container:
         print ob