Initial commit of the TextureCreator
This commit is contained in:
parent
a5e2744fc0
commit
707d234e2b
39 changed files with 1547 additions and 0 deletions
57
TextureCreator/lib/ScriptReader.py
Normal file
57
TextureCreator/lib/ScriptReader.py
Normal file
|
@ -0,0 +1,57 @@
|
|||
'''
|
||||
This script is part of the FURWARE texture creator, a texture
|
||||
generation script for the FURWARE text text-on-prim script
|
||||
for Second Life(R).
|
||||
|
||||
Please see the included README and LICENSE files in the root
|
||||
directory for more information.
|
||||
'''
|
||||
|
||||
'''
|
||||
This script is a wrapper for loading script and config files.
|
||||
'''
|
||||
|
||||
import codecs
|
||||
import re
|
||||
|
||||
class ScriptReader:
|
||||
def __init__(self, scriptPath):
|
||||
scriptFile = codecs.open(scriptPath, "r", "utf-8")
|
||||
self.tokenList = []
|
||||
self.rawArgList = []
|
||||
for line in scriptFile:
|
||||
if line[0] == "#":
|
||||
continue
|
||||
cleanedLine = line.rstrip("\n")
|
||||
tokens = cleanedLine.split()
|
||||
if len(tokens):
|
||||
self.tokenList.append(tokens)
|
||||
self.rawArgList.append(cleanedLine[len(tokens[0])+1:])
|
||||
scriptFile.close()
|
||||
self.curLine = 0
|
||||
|
||||
# Shall return True iff there is at least one more line
|
||||
# to parse the the moment this function is called.
|
||||
def more(self):
|
||||
if self.curLine >= len(self.tokenList):
|
||||
return False
|
||||
|
||||
self.tokens = self.tokenList[self.curLine]
|
||||
self.rawArg = self.rawArgList[self.curLine]
|
||||
self.curLine += 1
|
||||
|
||||
return True
|
||||
|
||||
def getCmd(self):
|
||||
return self.tokens[0]
|
||||
|
||||
def getArgs(self, specs):
|
||||
if len(specs)+1 != len(self.tokens):
|
||||
raise Exception("Invalid argument list.")
|
||||
result = []
|
||||
for i in range(0, len(specs)):
|
||||
result.append(specs[i](self.tokens[i+1]))
|
||||
return result
|
||||
|
||||
def getRawArg(self):
|
||||
return self.rawArg
|
Loading…
Add table
Add a link
Reference in a new issue