X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=blender%2Fio_mspgl%2Fdatafile.py;fp=blender%2Fio_mspgl%2Fdatafile.py;h=09fb86c5210e2dcba3349aac31072414bc20ec3e;hb=6ee541fd39de1e1368134cb8a98a14f2f5ddd767;hp=0000000000000000000000000000000000000000;hpb=04c89988c7eda12ea763a9283df0aeba177a11ad;p=libs%2Fgl.git diff --git a/blender/io_mspgl/datafile.py b/blender/io_mspgl/datafile.py new file mode 100644 index 00000000..09fb86c5 --- /dev/null +++ b/blender/io_mspgl/datafile.py @@ -0,0 +1,35 @@ +class Statement: + def __init__(self, keyword, *args): + self.keyword = keyword + self.args = list(args) + self.sub = [] + + def append(self, v): + self.args.append(v) + + def write_to_file(self, f, indent=0): + s = self.keyword + for a in self.args: + if type(a)==float: + s += " {:#.6g}".format(a) + elif type(a)==str: + s += ' "{}"'.format(a) + else: + s += " {}".format(a) + + tabs = '\t'*indent + f.write("{}{}".format(tabs, s)) + if self.sub: + f.write("\n{}{{\n".format(tabs)) + for s in self.sub: + s.write_to_file(f, indent+1) + f.write("{}}};\n".format(tabs)) + else: + f.write(";\n") + +class Token: + def __init__(self, text): + self.text = text + + def __str__(self): + return self.text