Ejemplo n.º 1
0
    def openBlockContains(self, index):
        if not self.isLeafTag:
            for c in self._children:
                out = c.inOpenBlock(index)
                if out:
                    return out

        MarkupTag.openBlockContains(self, index)
Ejemplo n.º 2
0
    def clone(self, tree=True, replacements=None, **kwargs):
        ct = MarkupTag.clone(self, tree, replacements)
        if replacements:
            if isinstance(replacements, list):
                cloned = ct not in replacements
            else:
                cloned = ct != replacements
        else:
            cloned = True

        if cloned:
            if self._closeBlock:
                block = self._closeBlock.clone()
                self._processor.insertBlock(block, afterBlock=self._closeBlock)
            else:
                block = None
            ct.closeBlock = block

        if not tree:
            return ct

        for c in self._children:
            ctChild = c.clone(tree=tree, replacements=replacements, **kwargs)
            ct.addChild(ctChild)

        return ct
Ejemplo n.º 3
0
    def _createTags(self):
        tags  = []
        for g in self._blocks:
            self.trace(
                'Processing block',
                {'Block':g, 'Source':self._result[g.start:min(g.end, g.start + 40)]})

            #---------------------------------------------------------------------------------------
            # Markup Open Case:
            if g.blockType == MarkupTextBlockUtils.MARKUP_OPEN:
                self.trace('Creating tag', g)
                try:
                    t = MarkupTag.createFromBlock(self, g, self.getNextTagIndex())
                except Exception, err:
                    try:
                        tagName = MarkupTag.getTagNameFromBlock(self, g)
                    except Exception, err:
                        tagName = u'UNKNOWN'

                    self.logger.writeError([
                        'Failed to create tag',
                        'Block: ' + str(g),
                        'Tag Name: ' + tagName], err)

                    MarkupGlobalError(
                        processor=self,
                        errorDef=MarkupGlobalError.TAG_CREATION_FAILED,
                        block=g,
                        replacements=[[u'#TAG#', tagName]]).log()
                    continue

                if t is None:
                    MarkupGlobalError(
                        processor=self,
                        errorDef=MarkupGlobalError.FICTIONAL_TAG,
                        block=g).log()
                    self._addError('Unrecognized tag: ' + str(g))
                    continue

                self.trace('Tag created', t)

                if len(tags) > 0 and tags[-1].addChild(t):
                    self.trace('Tag parent found', t.parent)
                    continue

                self.trace('No tag parent found')
                tags.append(t)
Ejemplo n.º 4
0
    def __init__(self, *args, **kwargs):
        MarkupTag.__init__(self, *args, **kwargs)

        a = self.attrs

        groupName, groupNameKey = a.get(TagAttributesEnum.GROUP, None, returnKey=True)

        if groupName is None:
            MarkupAttributeError(
                tag=self,
                errorDef=MarkupAttributeError,
                attribute=groupNameKey[0],
                attributeData=groupNameKey[1],
                attributeGroup=TagAttributesEnum.GROUP,
                rawValue=None).log()
            return

        self._processor.groups[groupName] = a
Ejemplo n.º 5
0
    def getNonPassthruRootTag(self):
        if not self.renderChildren:
            return MarkupTag.getNonPassthruRootTag(self)

        if self.isPassthruTag:
            for c in self._children:
                t = c.getNonPassthruRootTag()
                if t:
                    return t
        else:
            return self

        return None
Ejemplo n.º 6
0
 def getAttributeList(cls):
     t = TagAttributesEnum
     return MarkupTag.getAttributeList() + t.URL + t.AUTO_PLAY + t.START + t.TIME \
            + t.ASPECT_RATIO + t.CODE + t.SIZE
Ejemplo n.º 7
0
 def getAttributeList(cls):
     t = TagAttributesEnum
     return (MarkupTag.getAttributeList() + t.URL + t.START + t.STOP + t.THUMB + t.ASPECT_RATIO)
Ejemplo n.º 8
0
 def getAttributeList(cls):
     return MarkupTag.getAttributeList()
Ejemplo n.º 9
0
 def _renderImplWrapper(self):
     self.attrs.content = self._getBodyImpl()
     return MarkupTag._renderImplWrapper(self)
Ejemplo n.º 10
0
 def getAttributeList(cls):
     t = TagAttributesEnum
     return MarkupTag.getAttributeList() + t.SEARCH + t.HEIGHT + t.COUNT + t.START + t.STOP + \
            t.IGNORE + t.TITLE + t.SUBTITLE + t.COUNT + t.SCROLL + t.TIME + t.LOOP
Ejemplo n.º 11
0
 def getAttributeList(cls):
     t = TagAttributesEnum
     return MarkupTag.getAttributeList() + t.URL + t.AUTO_PLAY + t.COLOR + t.ASPECT_RATIO
Ejemplo n.º 12
0
 def getAttributeList(cls):
     t = TagAttributesEnum
     return MarkupTag.getAttributeList() + t.SYMBOL + t.COLOR
Ejemplo n.º 13
0
 def getAttributeList(cls):
     t = TagAttributesEnum
     return MarkupTag.getAttributeList()
Ejemplo n.º 14
0
 def __init__(self, *args, **kwargs):
     MarkupTag.__init__(self, *args, **kwargs)
     self._processor.metadata = dict(
         self._processor.metadata.items() + self.attrs.attributeDict.items())
Ejemplo n.º 15
0
 def getAttributeList(cls):
     t = TagAttributesEnum
     return MarkupTag.getAttributeList() + t.HEIGHT + t.COLOR
Ejemplo n.º 16
0
 def __init__(self, *args, **kwargs):
     """Creates a new instance of ClassTemplate."""
     self._closeBlock = ArgsUtils.get('closeBlock', None, kwargs)
     self._children   = []
     MarkupTag.__init__(self, *args, **kwargs)
Ejemplo n.º 17
0
 def getAttributeList(cls):
     t = TagAttributesEnum
     return MarkupTag.getAttributeList() + t.ALIGNMENT + t.WIDTH + t.HEIGHT + t.URL + t.INLINE
Ejemplo n.º 18
0
 def getAttributeList(cls):
     t = TagAttributesEnum
     return MarkupTag.getAttributeList() + t.LINE_WIDTH + t.WIDTH + t.LINE_TYPE + t.TYPE + \
            t.COLOR + t.SPACING