Add some code for silencing some of kivy's loggin
[erdslangetjie.git] / erdslangetjie / editor / editor.py
1 import sys
2 import os
3 import kivy
4 from erdslangetjie.data import filepath, load
5
6 kivy.require('1.6.0')
7
8 from kivy.app import App
9 from kivy.logger import Logger, LoggerHistory
10 from kivy.uix.widget import Widget
11
12
13
14 class EditorWindow(Widget):
15     def __init__(self, level):
16         if os.path.exists(filepath(level)):
17             self.level_data = load(level)
18             self.level = level
19         elif os.path.exists(filepath('levels/' + level)):
20             self.level_data = load('levels/' + level)
21             self.level = 'levels/' + level
22         else:
23             print 'Unable to find %s - treating this as a new level' % level
24             self.level_data = load('levels/blank.txt')
25             if 'levels/' in level:
26                 self.level = level
27             else:
28                 self.level = 'levels/' + level
29         super(EditorWindow, self).__init__()
30
31
32 class EditorApp(App):
33
34     def __init__(self, level):
35         self.level = level
36         super(EditorApp, self).__init__()
37
38     def build(self):
39         return EditorWindow(self.level)
40
41
42 def main():
43     if len(sys.argv) > 1:
44         level = sys.argv[1]
45     else:
46         level = 'level1.txt'
47     # Uncomment to silence excessive logging
48     #for hdlr in Logger.handlers[:]:
49     #    if not isinstance(hdlr, LoggerHistory):
50     #        Logger.removeHandler(hdlr)
51     EditorApp(level).run()
52
53
54 if __name__ == '__main__':
55     main()