def testUnsetAttributeWithCustomQuery(self):
     storage = AnnotationStorage()
     query   = {'getId' : 'd1'}
     actions = ({'fieldName'    : 'text',
                 'unset'        : True,
                 'storage'      : storage,
                 },)
     self.execute(query, actions)
     self.assertEqual(storage.get('text', self.folder['d2']).getRaw(), 'Body two')
     with self.assertRaises(AttributeError):
         storage.get('text', self.folder['d1'])
 def testTransform(self):
     storage = AnnotationStorage()
     query = {}
     actions = ({
         'fieldName': 'text',
         'storage': storage,
         'transform': makeUpper
     }, )
     self.execute(query, actions)
     self.assertEqual(
         storage.get('text', self.folder['d1']).getRaw(), 'BODY ONE')
     self.assertEqual(
         storage.get('text', self.folder['d2']).getRaw(), 'BODY TWO')
 def testAbortObject(self):
     storage = AnnotationStorage()
     query = {}
     actions = ({
         'fieldName': 'text',
         'transform': makeUpper,
         'storage': storage,
     }, )
     self.execute(query, actions, conditionallyAbortObject)
     self.assertEqual(
         storage.get('text', self.folder['d1']).getRaw(), 'Body one')
     self.assertEqual(
         storage.get('text', self.folder['d2']).getRaw(), 'BODY TWO')
    def testNewStorageOnly(self):
        storage = AnnotationStorage()
        newStorage = AttributeStorage()
        query = {}
        actions = ({"fieldName": "text", "storage": storage, "newStorage": newStorage},)
        self.execute(query, actions)
        self.assertEqual(getattr(self.folder["d1"], "text").getRaw(), "Body one")
        self.assertEqual(getattr(self.folder["d2"], "text").getRaw(), "Body two")

        try:
            storage.get("text", self.folder["d1"])
        except AttributeError:
            pass
        else:
            self.fail()
    def testAttributeRenaming(self):
        storage = AnnotationStorage()
        query = {}
        actions = ({
            'fieldName': 'text',
            'newFieldName': 'bodyText',
            'storage': storage
        }, )

        self.execute(query, actions)
        self.assertEqual(
            storage.get('bodyText', self.folder['d1']).getRaw(), 'Body one')
        self.assertEqual(
            storage.get('bodyText', self.folder['d2']).getRaw(), 'Body two')
        self.assertRaises(AttributeError, storage.get, 'text',
                          self.folder['d1'])
Ejemplo n.º 6
0
 def get(self, name, instance, **kwargs):
     """XXX TODO Retrieve video from Kaltura, 
        wrap it in a blob wrapper, and return it
     """
     value = AnnotationStorage.get(self, name, instance, **kwargs)
     #get video file from Kaltura and replace the file in the blob.
     return value
 def testAttributeRenamingAndTransform(self):
     storage = AnnotationStorage()
     query = {}
     actions = ({"fieldName": "text", "newFieldName": "bodyText", "storage": storage, "transform": makeUpper},)
     self.execute(query, actions)
     self.assertEqual(storage.get("bodyText", self.folder["d1"]).getRaw(), "BODY ONE")
     self.assertEqual(storage.get("bodyText", self.folder["d2"]).getRaw(), "BODY TWO")
 def testUnsetAttributeWithCustomQuery(self):
     storage = AnnotationStorage()
     query = {"getId": "d1"}
     actions = ({"fieldName": "text", "unset": True, "storage": storage},)
     self.execute(query, actions)
     self.assertEqual(storage.get("text", self.folder["d2"]).getRaw(), "Body two")
     self.assertRaises(AttributeError, storage.get, "text", self.folder["d1"])
 def testAbortObject(self):
     storage = AnnotationStorage()
     query = {}
     actions = ({"fieldName": "text", "transform": makeUpper, "storage": storage},)
     self.execute(query, actions, conditionallyAbortObject)
     self.assertEqual(storage.get("text", self.folder["d1"]).getRaw(), "Body one")
     self.assertEqual(storage.get("text", self.folder["d2"]).getRaw(), "BODY TWO")
Ejemplo n.º 10
0
    def testNewStorageOnly(self):
        storage = AnnotationStorage()
        newStorage = AttributeStorage()
        query   = {}
        actions = ({'fieldName'    : 'text',
                    'storage'      : storage,
                    'newStorage'   : newStorage
                    },)
        self.execute(query, actions)
        self.assertEqual(getattr(self.folder['d1'], 'text').getRaw(), 'Body one')
        self.assertEqual(getattr(self.folder['d2'], 'text').getRaw(), 'Body two')

        try:
            storage.get('text', self.folder['d1'])
        except AttributeError:
            pass
        else:
            self.fail()
    def testNewStorageOnly(self):
        storage = AnnotationStorage()
        newStorage = AttributeStorage()
        query   = {}
        actions = ({'fieldName'    : 'text',
                    'storage'      : storage,
                    'newStorage'   : newStorage
                    },)
        self.execute(query, actions)
        self.assertEqual(getattr(self.folder['d1'], 'text').getRaw(), 'Body one')
        self.assertEqual(getattr(self.folder['d2'], 'text').getRaw(), 'Body two')

        try:
            storage.get('text', self.folder['d1'])
        except AttributeError:
            pass
        else:
            self.fail()
    def testAttributeRenaming(self):
        storage = AnnotationStorage()
        query = {}
        actions = ({"fieldName": "text", "newFieldName": "bodyText", "storage": storage},)

        self.execute(query, actions)
        self.assertEqual(storage.get("bodyText", self.folder["d1"]).getRaw(), "Body one")
        self.assertEqual(storage.get("bodyText", self.folder["d2"]).getRaw(), "Body two")
        self.assertRaises(AttributeError, storage.get, "text", self.folder["d1"])
Ejemplo n.º 13
0
 def testTransform(self):
     storage = AnnotationStorage()
     query   = {}
     actions = ({'fieldName'    : 'text',
                 'storage'      : storage,
                 'transform'    : makeUpper
                  },)
     self.execute(query, actions)
     self.assertEqual(storage.get('text', self.folder['d1']).getRaw(), 'BODY ONE')
     self.assertEqual(storage.get('text', self.folder['d2']).getRaw(), 'BODY TWO')
Ejemplo n.º 14
0
 def testAbortObject(self):
     storage = AnnotationStorage()
     query   = {}
     actions = ({'fieldName'    : 'text',
                 'transform'    : makeUpper,
                  'storage'      : storage,
                 },)
     self.execute(query, actions, conditionallyAbortObject)
     self.assertEqual(storage.get('text', self.folder['d1']).getRaw(), 'Body one')
     self.assertEqual(storage.get('text', self.folder['d2']).getRaw(), 'BODY TWO')
Ejemplo n.º 15
0
    def testAttributeRenaming(self):
        storage = AnnotationStorage()
        query   = {}
        actions = ({'fieldName'    : 'text',
                    'newFieldName' : 'bodyText',
                    'storage'      : storage
                    },)

        self.execute(query, actions)
        self.assertEqual(storage.get('bodyText', self.folder['d1']).getRaw(), 'Body one')
        self.assertEqual(storage.get('bodyText', self.folder['d2']).getRaw(), 'Body two')
        self.assertRaises(AttributeError, storage.get, 'text', self.folder['d1'])
    def get(self, name, instance, **kwargs):
        aws_utility = getUtility(IAWSFileClientUtility)
        if not aws_utility.active():
            return AnnotationStorage.get(self, name, instance, **kwargs)

        file_ = AnnotationStorage.get(self, name, instance, **kwargs)
        request = instance.REQUEST
        if not isinstance(request, type('')) and \
                request.get('%s_migrate' % name, '') or \
                ('migrate' in kwargs and kwargs['migrate']):
            # check if object is already migrated
            if isinstance(file_, AWSFile):
                return file_
            try:
                new_file_ = self._do_migrate(file_, instance)
            except (FileClientRemoveError, FileClientStoreError):
                return file_

            AnnotationStorage.set(self, name, instance, new_file_, **kwargs)
            return new_file_
        else:
            return file_