X-Git-Url: https://git.ctpug.org.za/?a=blobdiff_plain;f=erdslangetjie%2Feditor%2Feditor.py;h=998ad4057e90e4d4c3ea4b0cfad29a9e3eb42474;hb=df49c5d20f821b566981248725ba23cb10858655;hp=8d9fdcbfd5f410a870d220debe5a0fc62b66131d;hpb=743cc9f8d9560dcc1fd8071c1926a1979bee655f;p=erdslangetjie.git diff --git a/erdslangetjie/editor/editor.py b/erdslangetjie/editor/editor.py index 8d9fdcb..998ad40 100644 --- a/erdslangetjie/editor/editor.py +++ b/erdslangetjie/editor/editor.py @@ -1,24 +1,55 @@ +import sys +import os import kivy +from erdslangetjie.data import filepath, load kivy.require('1.6.0') from kivy.app import App +from kivy.logger import Logger, LoggerHistory from kivy.uix.widget import Widget + class EditorWindow(Widget): - pass + def __init__(self, level): + if os.path.exists(filepath(level)): + self.level_data = load(level) + self.level = level + elif os.path.exists(filepath('levels/' + level)): + self.level_data = load('levels/' + level) + self.level = 'levels/' + level + else: + print 'Unable to find %s - treating this as a new level' % level + self.level_data = load('levels/blank.txt') + if 'levels/' in level: + self.level = level + else: + self.level = 'levels/' + level + super(EditorWindow, self).__init__() class EditorApp(App): - def build(self): - return EditorWindow() + def __init__(self, level): + self.level = level + super(EditorApp, self).__init__() + + def build(self): + return EditorWindow(self.level) def main(): - EditorApp().run() + if len(sys.argv) > 1: + level = sys.argv[1] + else: + level = 'level1.txt' + # Uncomment to silence excessive logging + #for hdlr in Logger.handlers[:]: + # if not isinstance(hdlr, LoggerHistory): + # Logger.removeHandler(hdlr) + EditorApp(level).run() if __name__ == '__main__': - main() + main()