Changeset 1321
- Timestamp:
- 10/10/08 14:44:31
- Files:
-
- quintagroup.transmogrifier/trunk/TODO.txt (modified) (1 diff)
- quintagroup.transmogrifier/trunk/quintagroup/transmogrifier/comments.py (moved) (moved from quintagroup.transmogrifier/trunk/quintagroup/transmogrifier/discussioncontainer.py) (2 diffs)
- quintagroup.transmogrifier/trunk/quintagroup/transmogrifier/comments.txt (moved) (moved from quintagroup.transmogrifier/trunk/quintagroup/transmogrifier/discussioncontainer.txt)
- quintagroup.transmogrifier/trunk/quintagroup/transmogrifier/configure.zcml (modified) (2 diffs)
- quintagroup.transmogrifier/trunk/quintagroup/transmogrifier/export.cfg (modified) (2 diffs)
- quintagroup.transmogrifier/trunk/quintagroup/transmogrifier/exportimport.py (modified) (previous)
- quintagroup.transmogrifier/trunk/quintagroup/transmogrifier/import.cfg (modified) (2 diffs)
- quintagroup.transmogrifier/trunk/quintagroup/transmogrifier/logger.py (added)
- quintagroup.transmogrifier/trunk/quintagroup/transmogrifier/manifest.txt (modified) (1 diff)
- quintagroup.transmogrifier/trunk/quintagroup/transmogrifier/patches.py (modified) (1 diff)
- quintagroup.transmogrifier/trunk/quintagroup/transmogrifier/propertymanager.py (modified) (1 diff)
- quintagroup.transmogrifier/trunk/quintagroup/transmogrifier/reader.py (modified) (3 diffs)
- quintagroup.transmogrifier/trunk/quintagroup/transmogrifier/reader.txt (modified) (3 diffs)
- quintagroup.transmogrifier/trunk/quintagroup/transmogrifier/tests.py (modified) (1 diff)
- quintagroup.transmogrifier/trunk/quintagroup/transmogrifier/writer.py (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
quintagroup.transmogrifier/trunk/TODO.txt
r1320 r1321 2 2 ==== 3 3 4 - Reference fields aren'timported now, fix it.4 - Reference fields can't be imported now, fix it. 5 5 6 6 - Make cleaning in manifest export/import sections. 7 7 8 - Create tests for ``datacorrector`` adapters ,and GS Content steps.8 - Create tests for ``datacorrector`` adapters and GS Content steps. 9 9 10 - Import doesn't work now for some reason.10 - Rewrite FileExporter/FileImporter adapters as pipeline sections. quintagroup.transmogrifier/trunk/quintagroup/transmogrifier/comments.py
r1319 r1321 6 6 from Products.CMFCore import utils 7 7 from Products.CMFDefault import DiscussionItem 8 from Products.CMFDefault.exceptions import DiscussionNotAllowed 8 9 9 10 from collective.transmogrifier.interfaces import ISection, ISectionBlueprint … … 112 113 if not (pathkey and fileskey): 113 114 yield item; continue 115 114 116 if 'comments' not in item[fileskey]: 115 117 yield item; continue quintagroup.transmogrifier/trunk/quintagroup/transmogrifier/configure.zcml
r1319 r1321 45 45 46 46 <utility 47 component=". discussioncontainer.CommentsExporterSection"47 component=".comments.CommentsExporterSection" 48 48 name="quintagroup.transmogrifier.commentsexporter" 49 49 /> 50 50 51 51 <utility 52 component=". discussioncontainer.CommentsImporterSection"52 component=".comments.CommentsImporterSection" 53 53 name="quintagroup.transmogrifier.commentsimporter" 54 54 /> … … 85 85 component=".xslt.XSLTSection" 86 86 name="quintagroup.transmogrifier.xslt" 87 /> 88 89 <utility 90 component=".logger.LoggerSection" 91 name="quintagroup.transmogrifier.logger" 87 92 /> 88 93 quintagroup.transmogrifier/trunk/quintagroup/transmogrifier/export.cfg
r1319 r1321 8 8 datacorrector 9 9 writer 10 EXPORTING 10 11 11 12 [sitewalker] … … 33 34 blueprint = quintagroup.transmogrifier.writer 34 35 prefix = structure 36 37 [EXPORTING] 38 blueprint = quintagroup.transmogrifier.logger 39 keys = 40 _type 41 _path quintagroup.transmogrifier/trunk/quintagroup/transmogrifier/import.cfg
r1320 r1321 8 8 propertiesimporter 9 9 commentsimporter 10 IMPORTING 10 11 11 12 [reader] 12 13 blueprint = quintagroup.transmogrifier.reader 13 14 prefix = structure 15 .objects.xml = manifest 16 .marshall.xml = marshall 17 .properties.xml = propertymanager 18 .comments.xml = comments 14 19 15 20 [manifestimport] … … 33 38 [commentsimporter] 34 39 blueprint = quintagroup.transmogrifier.commentsimporter 40 41 [IMPORTING] 42 blueprint = quintagroup.transmogrifier.logger 43 keys = 44 _type 45 _path quintagroup.transmogrifier/trunk/quintagroup/transmogrifier/manifest.txt
r1314 r1321 1 1 Manifest section 2 2 ================ 3 4 A manifest section is used to create listing in XML format of all objects 5 contained in some folder. Manifest section blueprint name is 6 ``quintagroup.transmogrifier.manifest``. 3 7 4 8 >>> manifest = """ quintagroup.transmogrifier/trunk/quintagroup/transmogrifier/patches.py
r1320 r1321 71 71 continue 72 72 # directories have trailing '/' character and we need to remove it 73 name .rstrip('/')73 name = name.rstrip('/') 74 74 names.append(name) 75 75 quintagroup.transmogrifier/trunk/quintagroup/transmogrifier/propertymanager.py
r1318 r1321 95 95 96 96 self.helper = Helper() 97 self.helper._encoding = 'utf-8' 97 98 98 99 def __iter__(self): quintagroup.transmogrifier/trunk/quintagroup/transmogrifier/reader.py
r1314 r1321 9 9 from Products.CMFCore import utils 10 10 11 FILENAME_TO_SECTION = {12 '.objects.xml': 'manifest',13 '.marshall.xml': 'marshall',14 '.properties.xml': 'propertymanager',15 '.comments.xml': 'discussioncontainer'16 }17 18 11 class ReaderSection(object): 19 12 classProvides(ISectionBlueprint) … … 23 16 self.previous = previous 24 17 self.context = transmogrifier.context 18 self.options = options 25 19 26 20 self.pathkey = options.get('path-key', '_path').strip() … … 70 64 full_name = os.path.join(top, name) 71 65 if self.import_context.isDirectory(full_name): continue 72 section = FILENAME_TO_SECTION.get(name, name)66 section = self.options.get(name, name).strip() 73 67 files = item.setdefault(self.fileskey, {}) 74 68 files[section] = { quintagroup.transmogrifier/trunk/quintagroup/transmogrifier/reader.txt
r1314 r1321 19 19 to generated item's path. 20 20 21 Reader reads files and adds to ``item[files-key]`` dictionary with file's data 22 and name. This dictionary is stored on a key, that identifies to which section 23 this file corresponds. Mapping between filenames and sections is defined in 24 reader section options. Option name is filename and option value is section name. 25 21 26 >>> reader = """ 22 27 ... [transmogrifier] … … 28 33 ... blueprint = quintagroup.transmogrifier.reader 29 34 ... prefix = structure 35 ... .objects.xml = manifest 36 ... .marshall.xml = marshall 37 ... .properties.xml = propertymanager 38 ... .comments.xml = comments 30 39 ... 31 40 ... [printer] … … 47 56 '_import_context': <Tarball ...>, 48 57 '_path': 'pages'} 49 {'_files': {'discussioncontainer': {'data': 'some data', 50 'name': '.comments.xml'}, 58 {'_files': {'comments': {'data': 'some data', 'name': '.comments.xml'}, 51 59 'marshall': {'data': 'some data', 'name': '.marshall.xml'}}, 52 60 '_import_context': <Tarball ...>, quintagroup.transmogrifier/trunk/quintagroup/transmogrifier/tests.py
r1319 r1321 757 757 setUp=propertyManagerSetUp, tearDown=tearDown), 758 758 doctest.DocFileSuite( 759 ' discussioncontainer.txt',759 'comments.txt', 760 760 setUp=commentsSetUp, tearDown=tearDown), 761 761 doctest.DocFileSuite( quintagroup.transmogrifier/trunk/quintagroup/transmogrifier/writer.py
r1314 r1321 54 54 55 55 item_path = os.path.join(self.prefix, path) 56 item_path .rstrip('/')56 item_path = item_path.rstrip('/') 57 57 58 58 for k, v in item[fileskey].items():
