Example #1
0
    def __init__(self, spec=None):
        '''
		Init L{SpecTokenList}
		@param spec: file or string to be parsed
		@type spec: string/file
		@return: None
		@rtype: None
		'''
        self.current = 0
        self.pointer = 0
        self.token_list = []

        # TODO: pass spec in another method
        if spec is None:
            return

        line = 1
        specFile = SpecFile(spec)
        while True:
            t = SpecToken(specFile)
            self.token_list.append(t)

            line += t.eol_count_prepend
            t.line = line
            line += t.eol_count_append

            if t.token == None:
                break
Example #2
0
    def create(cls, parent, pkg=None):
        '''
		Create a package section
		@param parent: parent section
		@type parent: L{SpecSection}
		@param pkg: package name, None or '-' if main package
		@type pkg: string
		@return: newly created package section
		@rtype: L{SpecStPackage}
		'''
        ret = SpecStPackage(parent)
        pkg = None if pkg == None or pkg == '-' else pkg
        if pkg is not None:
            ret.set_package(SpecToken().create(pkg, append='\n'))
        ret.set_token_section(SpecToken().create(
            '%package', append='\n' if pkg is None else ' '))
        return ret