From 92a9c1ffa6dbd5fd750e869fae938c794eea973a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bartek=20G=C3=B3rny?= <bartek@gorny.edu.pl> Date: Sat, 26 Aug 2006 18:02:30 +0000 Subject: [PATCH] filename stored as source_reference; setting properties from a parsed filename using regexp from preferences; git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@9479 20353a03-c40f-0410-a6d1-a30d3c3de9de --- product/ERP5OOo/Document/DMSFile.py | 16 +++++++++++++++- product/ERP5OOo/Document/OOoDocument.py | 8 +++----- product/ERP5OOo/PropertySheet/DMSFile.py | 4 ---- 3 files changed, 18 insertions(+), 10 deletions(-) diff --git a/product/ERP5OOo/Document/DMSFile.py b/product/ERP5OOo/Document/DMSFile.py index 4e67b5eb98..02d3fd9983 100644 --- a/product/ERP5OOo/Document/DMSFile.py +++ b/product/ERP5OOo/Document/DMSFile.py @@ -158,7 +158,7 @@ class DMSFile(XMLObject,File): edit=File.edit searchable_attrs=('title','description','id','reference','version', - 'short_title','keywords','subject','original_filename','source_project_title') + 'short_title','keywords','subject','source_reference','source_project_title') ### Content indexing methods security.declareProtected(Permissions.View, 'getSearchableText') @@ -195,6 +195,20 @@ class DMSFile(XMLObject,File): self.content_type=content_type return content_type + security.declareProtected(Permissions.ModifyPortalContent, 'setPropertiesFromFilename') + def setPropertiesFromFilename(self,fname): + rx_parse=re.compile(self.portal_preferences.getPreferredDmsFilenameRegexp()) + if rx_parse is None: + self.setReference(fname) + return + m=rx_parse.match(fname) + if m is None: + self.setReference(fname) + return + for k,v in m.groupdict().items(): + self.setProperty(k,v) + + # BG copied from File in case index_html = CMFFile.index_html diff --git a/product/ERP5OOo/Document/OOoDocument.py b/product/ERP5OOo/Document/OOoDocument.py index 10068d5748..b3cc362366 100644 --- a/product/ERP5OOo/Document/OOoDocument.py +++ b/product/ERP5OOo/Document/OOoDocument.py @@ -219,7 +219,7 @@ class OOoDocument(DMSFile, CachingMixin): """ sp=self._mkProxy() #self.log('_convert',enc(self._unpackData(self.data))[:500]) - kw=sp.run_convert(self.getOriginalFilename(),enc(self._unpackData(self.data))) + kw=sp.run_convert(self.getSourceReference(),enc(self._unpackData(self.data))) self.oo_data=Pdata(dec(kw['data'])) # now we get text content text_data=self.extractTextContent() @@ -266,7 +266,7 @@ class OOoDocument(DMSFile, CachingMixin): self.setLanguage(meta.get('language','')) if meta.get('MIMEType',False): self.setMimeType(meta['MIMEType']) - self.setReference(meta.get('reference','')) + #self.setReference(meta.get('reference','')) #security.declareProtected(Permissions.View,'getOOfile') def getOOfile(self): @@ -285,8 +285,6 @@ class OOoDocument(DMSFile, CachingMixin): """ Checks whether we have an initial file """ - print 'IS INSTANCE' - print isinstance(self,object) _marker=[] if getattr(self,'data',_marker) is not _marker: # XXX - use propertysheet accessors return getattr(self,'data') is not None @@ -458,7 +456,7 @@ class OOoDocument(DMSFile, CachingMixin): """ # real version: sp=self._mkProxy() - kw=sp.run_generate(self.getOriginalFilename(),enc(self._unpackData(self.oo_data)),None,format) + kw=sp.run_generate(self.getSourceReference(),enc(self._unpackData(self.oo_data)),None,format) #self.log('_makeFile',mime) return kw['mime'],Pdata(dec(kw['data'])) diff --git a/product/ERP5OOo/PropertySheet/DMSFile.py b/product/ERP5OOo/PropertySheet/DMSFile.py index 0a1850be5d..7eca759041 100644 --- a/product/ERP5OOo/PropertySheet/DMSFile.py +++ b/product/ERP5OOo/PropertySheet/DMSFile.py @@ -31,10 +31,6 @@ class DMSFile: """ _properties = ( - { 'id' : 'original_filename', - 'description' : 'name of the uploaded file', - 'type' : 'string', - 'mode' : '' }, ) _categories = ('destination','similar','predecessor','successor','source_project','publication_section','classification', -- 2.30.9