def initializeArchetype(self, **kwargs): BaseFolder.initializeArchetype(self, **kwargs) ATFile.initializeArchetype(self, **kwargs) if self.isTemporary(): log('initializeArchetype> Not yet!') #DBG return self._generateTakeTranscription()
def test_attachments(self): su = StatusUpdate("foo bar") attachments = IAttachmentStorage(su) f = ATFile("data.dat") attachments.add(f) self.assertEqual([k for k in attachments.keys()], [f.getId()]) attachments.remove(f.getId()) self.assertEqual(len(attachments.keys()), 0)
def setFile(self, value, **kwargs): """Saves file and stores flash informations (size, flash version)""" ATFile.setFile(self, value, **kwargs) data_sample = str(self.getFile())[:1024] if len(data_sample): tags = analyseContent(data_sample) self.width = tags['width'] self.height = tags['height'] self.flashversion = tags['flashversion']
def test_attachments(self): su = StatusUpdate('foo bar') attachments = IAttachmentStorage(su) f = ATFile('data.dat') attachments.add(f) self.assertEqual([k for k in attachments.keys()], [f.getId()]) attachments.remove(f.getId()) self.assertEqual(len(attachments.keys()), 0)
def manage_afterPUT(self, data, marshall_data, file, context, mimetype,filename, REQUEST, RESPONSE): is_new = False title = self.Title() if not title: is_new = True BaseClass.manage_afterPUT(self, data, marshall_data, file, context, mimetype, filename, REQUEST, RESPONSE) if is_new: notify(ObjectInitializedEvent(self)) else: notify(ObjectEditedEvent(self))
def setFile(self, value, **kwargs): """Saves file and stores flash informations (size, flash version)""" ATFile.setFile(self, value, **kwargs) if value: value.seek(0) # rewind tags = analyseContent(value.read(1024)) self.setWidth(tags['width']) self.setHeight(tags['height']) self.setFlashversion(tags['flashversion'])
def test_getPayload(self): # We don't actually allow archetypes in a workspace # but we need to check that this method supports them # so we manually set one up here testfile_at = ATFile(TEST_FILENAME) testfile_at.initializeArchetype() testfile_at.setFile(self.filedata, filename=TEST_FILENAME) fetcher = BasePreviewFetcher(testfile_at) mimetype, data = fetcher.getPayload() self.assertEqual(mimetype, TEST_MIME_TYPE) self.assertEqual(data, self.filedata, 'File data does not match') # ... and then for default dexterity fetcher = BasePreviewFetcher(self.testfile) mimetype, data = fetcher.getPayload() self.assertEqual(mimetype, TEST_MIME_TYPE) self.assertEqual(data, self.filedata, 'File data does not match')
def manage_afterPUT(self, data, marshall_data, file, context, mimetype,filename, REQUEST, RESPONSE): is_video_type = self.is_video_type(filename) is_audio_type = self.is_audio_type(filename) if is_video_type: self.__class__ = Video self._p_changed = 1 self.portal_type = 'Video' elif is_audio_type: self.__class__ = Audio self._p_changed = 1 self.portal_type = 'Audio' is_new = False title = self.Title() if not title: is_new = True BaseClass.manage_afterPUT(self, data, marshall_data, file, context, mimetype, filename, REQUEST, RESPONSE) if is_new: notify(ObjectInitializedEvent(self)) else: notify(ObjectEditedEvent(self))
def manage_afterPUT(self, data, marshall_data, file, context, mimetype, filename, REQUEST, RESPONSE): is_video_type = self.is_video_type(filename) is_audio_type = self.is_audio_type(filename) if is_video_type: self.__class__ = Video self._p_changed = 1 self.portal_type = 'Video' elif is_audio_type: self.__class__ = Audio self._p_changed = 1 self.portal_type = 'Audio' is_new = False title = self.Title() if not title: is_new = True BaseClass.manage_afterPUT(self, data, marshall_data, file, context, mimetype, filename, REQUEST, RESPONSE) if is_new: notify(ObjectInitializedEvent(self)) else: notify(ObjectEditedEvent(self))
def testBlobbableEmptyATFile(self): obj = ATFile('foo') blobbable = IBlobbable(obj) target = Blob() blobbable.feed(target)
def index_html(self, REQUEST=None, RESPONSE=None): """Download the file """ return ATFile.index_html(self, REQUEST, RESPONSE)
def index_html(self, REQUEST=None, RESPONSE=None): '''Download the file''' self.portal_plonemeeting.rememberAccess(self.UID()) return ATFile.index_html(self, REQUEST, RESPONSE)