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
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