Test commit
[couchpytato.git] / cfg.py
blob0e65e1586d2f47e4afce6d39af23725b48ea6044
1 import configobj, os, gui, pygame, sys
3 cf = configobj.ConfigObj(os.path.join(sys.path[0], 'couchpytato.cfg'))
4 th = configobj.ConfigObj(os.path.join(sys.path[0], 'themes', cf['theme'], 'theme.cfg'))
5 modname = 'mainmenu'
6 modcf = cf['modules'][modname]
7 lastmodname = modname
9 def thpath(file):
10 return os.path.join(sys.path[0], 'themes', cf['theme'], file)
12 fonts = {}
13 for i in range(len(th['fonts'].values())):
14 font = th['fonts'].values()[i]
15 ttf = thpath(font[0])
16 size = int(font[1])
17 fonts[th['fonts'].keys()[i]] = pygame.font.Font(ttf, size)
19 def getgui(module):
20 GUI = []
21 i = 0
22 for obj in th[module].values():
23 name = th[module].keys()[i]
24 xpos = int(obj['xpos'])
25 ypos = int(obj['ypos'])
26 layer = int(obj['layer'])
27 try:
28 contentkey = obj['contentkey']
29 except:
30 contentkey = None
31 try:
32 fx = obj['fx'][0]
33 fxspeed = int(obj['fx'][1])
34 except:
35 fx = None
36 fxspeed = 1
37 if obj['class'] == 'IMAGE':
38 image = thpath(obj['image'])
39 try:
40 size = int(obj['size'])
41 except:
42 size = None
43 try:
44 alpha = int(obj['alpha'])
45 except:
46 alpha = None
47 try:
48 hflip = bool(obj['hflip'])
49 except:
50 hflip = False
51 try:
52 vflip = bool(obj['vflip'])
53 except:
54 vflip = False
55 try:
56 degree = int(obj['degree'])
57 except:
58 degree = None
59 GUI.append(gui.Image(name, xpos, ypos, layer, image, size, alpha, hflip, vflip, degree))
61 if obj['class'] == 'LABEL':
62 font = fonts[obj['font']]
63 color = int(obj['color'][0]), int(obj['color'][1]), int(obj['color'][2])
64 try:
65 text = obj['text']
66 except:
67 text = ' '
68 try:
69 width = int(obj['width'])
70 except:
71 width = None
72 try:
73 extra = obj['extra']
74 except:
75 extra = None
76 GUI.append(gui.Label(name, xpos, ypos, layer, font, color, text, width, extra))
78 if obj['class'] == 'LIST':
79 barlayer = int(obj['barlayer'])
80 barimage = thpath(obj['barimage'])
81 xoff = int(obj['xoff'])
82 yoff = int(obj['yoff'])
83 listbar = gui.ListBar('bar', xpos, ypos, barlayer, barimage, xoff, yoff)
84 color = int(obj['color'][0]), int(obj['color'][1]), int(obj['color'][2])
85 maxlen = int(obj['maxlen'])
86 space = int(obj['space'])
87 width = int(obj['width'])
88 GUI.append(gui.List(name, xpos, ypos, layer, fonts[obj['font']], color, maxlen, space, width, listbar))
89 GUI[-1].contentkey = contentkey
90 GUI[-1].fx = fx
91 GUI[-1].fxspeed = fxspeed
92 i += 1
94 return GUI