def __init__(self, transmogrifier, name, options, previous):
     keys = options.get('keys') or ''
     self.keys = Matcher(*keys.splitlines())
     if keys:
         self.dest = Expression(options['destination'], transmogrifier,
                                name, options)
     self.delete = Matcher(*options.get('delete', '').splitlines())
     self.condition = Condition(options.get('condition', 'python:True'),
                                transmogrifier, name, options)
     self.previous = previous
Ejemplo n.º 2
0
    def __init__(self, transmogrifier, name, options, previous):
        self.previous = previous
        self.context = transmogrifier.context

        if 'path-key' in options:
            pathkeys = options['path-key'].splitlines()
        else:
            pathkeys = defaultKeys(options['blueprint'], name, 'path')
        self.pathkey = Matcher(*pathkeys)

        if 'uid-key' in options:
            uidkeys = options['uid-key'].splitlines()
        else:
            uidkeys = defaultKeys(options['blueprint'], name, 'uid')
        self.uidkey = Matcher(*uidkeys)
Ejemplo n.º 3
0
    def __init__(self, transmogrifier, name, options, previous):
        self.transmogrifier = transmogrifier
        self.name = name
        self.options = options
        self.previous = previous

        self.directory = resolvePackageReferenceOrFile(options['directory'])
        self.metadata = None
        self.delimiter = None
        self.strict = False

        if 'metadata' in options:
            self.metadata = resolvePackageReferenceOrFile(options['metadata'])
            self.delimiter = options.get('delimiter', ',')
            self.strict = options.get('strict', False)

        self.requireMetadata = options.get('require-metadata',
                                           'false').lower() != 'false'

        self.folderType = options.get('folder-type', 'Folder')

        self.fileType = options.get('file-type', 'File')
        self.imageType = options.get('image-type', 'Image')

        self.fileField = options.get('file-field', 'file')
        self.imageField = options.get('image-field', 'image')

        self.wrapData = options.get('wrap-data', 'true').lower() == 'true'
        self.defaultMimeType = options.get('default-mime-type',
                                           'application/octet-stream')

        ignored = options.get('ignored') or ''
        self.ignored = Matcher(*ignored.splitlines())
    def __init__(self, transmogrifier, name, options, previous):
        self.previous = previous
        self.context = transmogrifier.context
        self.target = options['target']
        self.logger = logging.getLogger(name)
        self.condition = Condition(options.get('condition', 'python:True'),
                                   transmogrifier, name, options)
        self.prefixes = [
            ('left', 'title',
             options.get('left-title-prefix', '_left_portlet_title')),
            ('left', 'text',
             options.get('left-text-prefix', '_left_portlet_text')),
            ('right', 'title',
             options.get('right-title-prefix', '_right_portlet_title')),
            ('right', 'text',
             options.get('right-text-prefix', '_right_portlet_text')),
        ]

        if self.target:
            self.target = self.target.rstrip('/') + '/'

        if 'path-key' in options:
            pathkeys = options['path-key'].splitlines()
        else:
            pathkeys = defaultKeys(options['blueprint'], name, 'path')
        self.pathkey = Matcher(*pathkeys)
Ejemplo n.º 5
0
    def __init__(self, transmogrifier, name, options, previous):
        """
        :param options['path-key']: The key, under the path can be found in
                                    the item.
        :param options['stripstring']: A string to strip from the beginning of
                                       the path.
        :param options['prependstring']: A string to prepend on the beginning
                                         of the path.
        """
        self.previous = previous
        self.context = transmogrifier.context

        if 'path-key' in options:
            pathkeys = options['path-key'].splitlines()
        else:
            pathkeys = defaultKeys(options['blueprint'], name, 'path')
        self.pathkey = Matcher(*pathkeys)

        self.stripstring = None
        if 'stripstring' in options and options['stripstring']:
            self.stripstring = options['stripstring'].splitlines()[0]

        self.prependstring = None
        if 'prependstring' in options and options['prependstring']:
            self.prependstring = options['prependstring'].splitlines()[0]
    def __init__(self, transmogrifier, name, options, previous):
        self.previous = previous
        self.context = transmogrifier.context
        self.target = options['target']
        self.logger = logging.getLogger(name)
        self.condition = Condition(options.get('condition', 'python:True'),
                                   transmogrifier, name, options)
        self.skip_existing = options.get('skip-existing',
                                         'False').lower() in ['true', 'yes']
        self.skip_unmodified = options.get('skip-unmodified',
                                           'True').lower() in ['true', 'yes']
        self.skip_fields = set([
            f.strip() for f in options.get('skip-fields', '').split('\n')
            if f.strip()
        ])
        self.creation_key = options.get('creation-key',
                                        '_creation_flag').strip()
        self.headers_key = options.get('headers-key', '_content_info').strip()
        self.defaultpage_key = options.get('defaultpage-key',
                                           '_defaultpage').strip()

        if self.target:
            self.target = self.target.rstrip('/') + '/'

        if 'path-key' in options:
            pathkeys = options['path-key'].splitlines()
        else:
            pathkeys = defaultKeys(options['blueprint'], name, 'path')
        self.pathkey = Matcher(*pathkeys)
Ejemplo n.º 7
0
 def __init__(self, transmogrifier, name, options, previous):
     self.transmogrifier = transmogrifier
     keys = options.get('keys') or ''
     self.pathkey = options.get('path-key', '_path').strip()
     self.keys = Matcher(*keys.splitlines())
     self.previous = previous
     self.logger = name
     self.storage = IAnnotations(transmogrifier).setdefault(
         VALIDATIONKEY, [])
Ejemplo n.º 8
0
    def __init__(self, transmogrifier, name, options, previous):
        self.transmogrifier = transmogrifier
        self.name = name
        self.options = options
        self.previous = previous
        self.context = transmogrifier.context

        if 'path-key' in options:
            pathkeys = options['path-key'].splitlines()
        else:
            pathkeys = defaultKeys(options['blueprint'], name, 'path')
        self.pathkey = Matcher(*pathkeys)

        if 'perms-key' in options:
            permskeys = options['perms-key'].splitlines()
        else:
            permskeys = defaultKeys(options['blueprint'], name, 'permissions')
        self.permskey = Matcher(*permskeys)
    def __init__(self, transmogrifier, name, options, previous):
        self.previous = previous
        self.locale = Expression(options.get('locale', 'python:None'),
                                 transmogrifier, name, options)
        self.destinationkey = Expression(
            options.get('destination-key', 'string:_id'), transmogrifier, name,
            options)

        self.sourcekey = Matcher(options.get('source-key', 'title'))
Ejemplo n.º 10
0
    def __init__(self, transmogrifier, name, options, previous):
        self.transmogrifier = transmogrifier
        self.name = name
        self.options = options
        self.previous = previous
        self.context = transmogrifier.context

        if 'path-key' in options:
            pathkeys = options['path-key'].splitlines()
        else:
            pathkeys = defaultKeys(options['blueprint'], name, 'path')
        self.pathkey = Matcher(*pathkeys)

        if 'mimetype-key' in options:
            mimetypekeys = options['mimetype-key'].splitlines()
        else:
            mimetypekeys = defaultKeys(options['blueprint'], name, 'content_type')
        self.mimetypekey = Matcher(*mimetypekeys)
Ejemplo n.º 11
0
    def __init__(self, transmogrifier, name, options, previous):
        self.transmogrifier = transmogrifier
        self.name = name
        self.options = options
        self.previous = previous
        self.context = transmogrifier.context
        self.wftool = getToolByName(self.context, 'portal_workflow')

        if 'path-key' in options:
            pathkeys = options['path-key'].splitlines()
        else:
            pathkeys = defaultKeys(options['blueprint'], name, 'path')
        self.pathkey = Matcher(*pathkeys)

        if 'workflowhistory-key' in options:
            workflowhistorykeys = options['workflowhistory-key'].splitlines()
        else:
            workflowhistorykeys = defaultKeys(options['blueprint'], name, 'workflow_history')
        self.workflowhistorykey = Matcher(*workflowhistorykeys)
Ejemplo n.º 12
0
    def __init__(self, transmogrifier, name, options, previous):
        self.transmogrifier = transmogrifier
        self.name = name
        self.options = options
        self.previous = previous
        self.context = transmogrifier.context
        self.memtool = getToolByName(self.context, 'portal_membership')

        if 'path-key' in options:
            pathkeys = options['path-key'].splitlines()
        else:
            pathkeys = defaultKeys(options['blueprint'], name, 'path')
        self.pathkey = Matcher(*pathkeys)

        if 'owner-key' in options:
            ownerkeys = options['owner-key'].splitlines()
        else:
            ownerkeys = defaultKeys(options['blueprint'], name, 'owner')
        self.ownerkey = Matcher(*ownerkeys)
Ejemplo n.º 13
0
    def __init__(self, transmogrifier, name, options, previous):
        """Initialize class."""
        self.transmogrifier = transmogrifier
        self.name = name
        self.options = options
        self.previous = previous
        self.context = transmogrifier.context

        if 'path-key' in options:
            pathkeys = options['path-key'].splitlines()
        else:
            pathkeys = defaultKeys(options['blueprint'], name, 'path')
        self.pathkey = Matcher(*pathkeys)

        if 'properties-key' in options:
            propertieskeys = options['properties-key'].splitlines()
        else:
            propertieskeys = \
                defaultKeys(options['blueprint'], name, 'properties')
        self.propertieskey = Matcher(*propertieskeys)
Ejemplo n.º 14
0
 def __init__(self, transmogrifier, name, options, previous):
     self.ptransforms = getToolByName(transmogrifier.context,
                                      'portal_transforms')
     self.keys = Matcher(*options['keys'].splitlines())
     self.transform = options.get('transform')
     if not self.transform:
         self.target = options['target']
         self.from_ = options.get('from')
     self.condition = Condition(options.get('condition', 'python:True'),
                                transmogrifier, name, options)
     self.previous = previous
Ejemplo n.º 15
0
    def __init__(self, transmogrifier, name, options, previous):
        self.previous = previous
        self.context = transmogrifier.context

        if 'path-key' in options:
            pathkeys = options['path-key'].splitlines()
        else:
            pathkeys = defaultKeys(options['blueprint'], name, 'path')
        self.pathkey = Matcher(*pathkeys)

        self.output = options.get('output')
        self.logger = logging.getLogger(name)
Ejemplo n.º 16
0
    def __init__(self, transmogrifier, name, options, previous):
        self.transmogrifier = transmogrifier
        self.name = name
        self.options = options
        self.previous = previous
        self.context = transmogrifier.context

        if "acl_groups-key" in options:
            groupskeys = options["acl_groups-key"].splitlines()
        else:
            groupskeys = defaultKeys(options["blueprint"], name, "acl_groups")
        self.groupskey = Matcher(*groupskeys)
Ejemplo n.º 17
0
    def __init__(self, transmogrifier, name, options, previous):
        self.transmogrifier = transmogrifier
        self.name = name
        self.options = options
        self.previous = previous
        self.context = transmogrifier.context

        if 'path-key' in options:
            pathkeys = options['path-key'].splitlines()
        else:
            pathkeys = defaultKeys(options['blueprint'], name, 'path')
        self.pathkey = Matcher(*pathkeys)

        self.datafield_prefix = options.get('datafield-prefix', DATAFIELD)
Ejemplo n.º 18
0
    def __init__(self, transmogrifier, name, options, previous):
        self.transmogrifier = transmogrifier
        self.name = name
        self.options = options
        self.previous = previous
        self.context = transmogrifier.context

        if 'path-key' in options:
            pathkeys = options['path-key'].splitlines()
        else:
            pathkeys = defaultKeys(options['blueprint'], name, 'path')
        self.pathkey = Matcher(*pathkeys)

        self.typekey = defaultMatcher(options, 'type-key', name, 'type',
                                      ('portal_type', 'Type'))
Ejemplo n.º 19
0
    def __init__(self, transmogrifier, name, options, previous):
        self.previous = previous

        self.key = options.get('key')
        self.delete = Matcher(*options.get('delete', '').splitlines())
        self.condition = Condition(options.get('condition', 'python:True'),
                                   transmogrifier, name, options)

        self.logger = logging.getLogger(
            options.get('name', transmogrifier.configuration_id + '.' + name))
        # First check if the level is a named level:
        level = options.get('level', logging.getLevelName(self.logger.level))
        self.level = getattr(logging, level, None)
        if self.level is None:
            # Assume it's an integer:
            self.level = int(level)
        self.logger.setLevel(self.level)

        if self.key is None:
            import pprint
            self.pformat = pprint.PrettyPrinter().pformat
    def __init__(self, transmogrifier, name, options, previous):
        self.previous = previous

        if options.get('from'):
            from_ = options['from'].strip().lower()
            if from_ != 'unicode':
                if from_ == 'default':
                    from_ = _get_default_encoding(transmogrifier.context)

                # Test if the decoder is available
                codecs.getdecoder(from_)

                self.from_ = from_

        self.from_error_handler = options.get(
            'from-error-handler', self.from_error_handler).strip().lower()
        # Test if the error handler is available
        codecs.lookup_error(self.from_error_handler)

        if options.get('to'):
            to = options['to'].strip().lower()
            if to != 'unicode':
                if to == 'default':
                    to = _get_default_encoding(transmogrifier.context)

                # Test if the encoder is available
                codecs.getencoder(to)

                self.to = to

        self.to_error_handler = options.get(
            'to-error-handler', self.to_error_handler).strip().lower()
        # Test if the error handler is available
        codecs.lookup_error(self.to_error_handler)

        self.matcher = Matcher(*options['keys'].splitlines())
        self.condition = Condition(options.get('condition', 'python:True'),
                                   transmogrifier, name, options)
Ejemplo n.º 21
0
 def __init__(self, transmogrifier, name, options, previous):
     keys = options.get('keys') or 'regexp:(.*[Dd]ate)$'
     self.keys = Matcher(*keys.splitlines())
     self.condition = Condition(options.get('condition', 'python:True'),
                                transmogrifier, name, options)
     self.previous = previous
Ejemplo n.º 22
0
 def __init__(self, transmogrifier, name, options, previous):
     self.keys = Matcher(*options['keys'].splitlines())
     self.defer = boolean(options.get('defer-until-present', 'no'))
     self.previous = previous
     self._deferred = []
     self.context = transmogrifier.context
Ejemplo n.º 23
0
 def __init__(self, transmogrifier, name, options, previous):
     keys = options.get("keys") or "regexp:(.*[Dd]ate)$"
     self.keys = Matcher(*keys.splitlines())
     self.condition = Condition(options.get("condition", "python:True"),
                                transmogrifier, name, options)
     self.previous = previous