コード例 #1
0
ファイル: MarkupBlockTag.py プロジェクト: sernst/StaticFlow
    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)
コード例 #2
0
ファイル: MarkupBlockTag.py プロジェクト: sernst/StaticFlow
    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
コード例 #3
0
ファイル: MarkupProcessor.py プロジェクト: sernst/StaticFlow
    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)
コード例 #4
0
ファイル: GroupTag.py プロジェクト: sernst/StaticFlow
    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
コード例 #5
0
ファイル: MarkupBlockTag.py プロジェクト: sernst/StaticFlow
    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
コード例 #6
0
ファイル: YouTubeTag.py プロジェクト: sernst/StaticFlow
 def getAttributeList(cls):
     t = TagAttributesEnum
     return MarkupTag.getAttributeList() + t.URL + t.AUTO_PLAY + t.START + t.TIME \
            + t.ASPECT_RATIO + t.CODE + t.SIZE
コード例 #7
0
ファイル: HuluTag.py プロジェクト: sernst/StaticFlow
 def getAttributeList(cls):
     t = TagAttributesEnum
     return (MarkupTag.getAttributeList() + t.URL + t.START + t.STOP + t.THUMB + t.ASPECT_RATIO)
コード例 #8
0
ファイル: MarkupBlockTag.py プロジェクト: sernst/StaticFlow
 def getAttributeList(cls):
     return MarkupTag.getAttributeList()
コード例 #9
0
ファイル: MarkupBlockTag.py プロジェクト: sernst/StaticFlow
 def _renderImplWrapper(self):
     self.attrs.content = self._getBodyImpl()
     return MarkupTag._renderImplWrapper(self)
コード例 #10
0
ファイル: TwitterTag.py プロジェクト: sernst/StaticFlow
 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
コード例 #11
0
ファイル: VimeoTag.py プロジェクト: sernst/StaticFlow
 def getAttributeList(cls):
     t = TagAttributesEnum
     return MarkupTag.getAttributeList() + t.URL + t.AUTO_PLAY + t.COLOR + t.ASPECT_RATIO
コード例 #12
0
ファイル: SymbolTag.py プロジェクト: sernst/StaticFlow
 def getAttributeList(cls):
     t = TagAttributesEnum
     return MarkupTag.getAttributeList() + t.SYMBOL + t.COLOR
コード例 #13
0
ファイル: DisqusTag.py プロジェクト: sernst/StaticFlow
 def getAttributeList(cls):
     t = TagAttributesEnum
     return MarkupTag.getAttributeList()
コード例 #14
0
ファイル: MetaDataTag.py プロジェクト: sernst/StaticFlow
 def __init__(self, *args, **kwargs):
     MarkupTag.__init__(self, *args, **kwargs)
     self._processor.metadata = dict(
         self._processor.metadata.items() + self.attrs.attributeDict.items())
コード例 #15
0
ファイル: SpacerTag.py プロジェクト: sernst/StaticFlow
 def getAttributeList(cls):
     t = TagAttributesEnum
     return MarkupTag.getAttributeList() + t.HEIGHT + t.COLOR
コード例 #16
0
ファイル: MarkupBlockTag.py プロジェクト: sernst/StaticFlow
 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)
コード例 #17
0
ファイル: ImageTag.py プロジェクト: sernst/StaticFlow
 def getAttributeList(cls):
     t = TagAttributesEnum
     return MarkupTag.getAttributeList() + t.ALIGNMENT + t.WIDTH + t.HEIGHT + t.URL + t.INLINE
コード例 #18
0
ファイル: LineTag.py プロジェクト: sernst/StaticFlow
 def getAttributeList(cls):
     t = TagAttributesEnum
     return MarkupTag.getAttributeList() + t.LINE_WIDTH + t.WIDTH + t.LINE_TYPE + t.TYPE + \
            t.COLOR + t.SPACING