source: products/quintagroup.transmogrifier/trunk/quintagroup/transmogrifier/catalogsource.txt @ 1589

Last change on this file since 1589 was 416, checked in by chervol, 18 years ago

rm

File size: 2.2 KB
Line 
1Catalog source section
2======================
3
4This is a source section that returns items queried from catalog. The catalog
5source section blueprint name is ``quintagroup.transmogrifier.catalogsource``.
6
7Catalog source section has next options:
8  - ``path-key' (default ``_path``) - key where object path is stored
9  - ``entries-key`` (default ``_entries``) - key where data for manifest section
10     is stored (tuple of contained items)
11
12All other options are assumed to be catalog query parameters, option name
13corresponds to index and its value is value for search or string representation
14of record object. Record object is a dictionary, which items are separeted by
15``;`` and key is separeted from value with ``=``.
16
17Test parsing os catalog query, which is given in section options (here we
18manually initialize section with that query).
19
20>>> from pprint import pprint
21>>> from quintagroup.transmogrifier.catalogsource import CatalogSourceSection
22>>> options = {'modified': 'query = 2008/11/02 12:00:00 GMT+0 ; range = min',
23...            'Type': 'Document',
24...            'blueprint': 'quintagroup.transmogrifier.catalogsource'}
25>>> section = CatalogSourceSection(transmogrifier, 'catalogsource', options, object())
26>>> pprint(section.query)
27{'Type': 'Document',
28 'modified': {'query': '2008/11/02 12:00:00 GMT+0', 'range': 'min'}}
29
30Now test functionality of this section.
31
32>>> catalogsource = """
33... [transmogrifier]
34... pipeline =
35...     catalogsource
36...     printer
37...
38... [catalogsource]
39... blueprint = quintagroup.transmogrifier.catalogsource
40... modified = query = 2008-11-02T12:00:00Z; range = min
41...
42... [printer]
43... blueprint = collective.transmogrifier.sections.tests.pprinter
44... """
45>>> registerConfig(u'quintagroup.transmogrifier.tests.catalogsource',
46...                catalogsource)
47>>> transmogrifier(u'quintagroup.transmogrifier.tests.catalogsource') #doctest: +REPORT_NDIFF
48{'_entries': (('folder2', 'Folder'), ('folder1', 'Folder')), '_path': ''}
49{'_entries': (('document2', 'Document'), ('document3', 'Document')),
50 '_path': 'folder1'}
51{'_path': 'folder1/document2'}
52{'_path': 'folder1/document3'}
53{'_entries': (('document4', 'Document'),), '_path': 'folder2'}
54{'_path': 'folder2/document4'}
Note: See TracBrowser for help on using the repository browser.