]> ToastFreeware Gitweb - philipp/winterrodeln/wradmin.git/blob - wradmin/model/__init__.py
Make table user_groups available.
[philipp/winterrodeln/wradmin.git] / wradmin / model / __init__.py
1 """Model of wradmin"""
2 from sqlalchemy import orm
3 from flask_login import UserMixin
4 from wradmin.model import meta
5 from wrpylib import mwdb, wrmwdb
6
7
8 def init_model(engine):
9     """Call me before using any of the tables or classes in the model"""
10     meta.Session.configure(bind=engine)
11     meta.engine = engine
12
13
14 wrreport_table = wrmwdb.wrreport_table(meta.metadata)
15 wrreportcache_table = wrmwdb.wrreportcache_table(meta.metadata)
16 wrsledruncache_table = wrmwdb.wrsledruncache_table(meta.metadata)
17 wrinncache_table = wrmwdb.wrinncache_table(meta.metadata)
18 page_table = mwdb.page_table(meta.metadata)
19 revision_table = mwdb.revision_table(meta.metadata)
20 text_table = mwdb.text_table(meta.metadata)
21 user_table = mwdb.user_table(meta.metadata)
22 user_groups_table = mwdb.user_groups_table(meta.metadata)
23 categorylinks_table = mwdb.categorylinks_table(meta.metadata)
24
25
26 class WrReport(object):
27     pass
28
29
30 # Old version (not mapped)
31 class WrSleddingCache1_2(object):
32     pass
33
34
35 class WrSledrunCache(object):
36     pass
37
38
39 # Old version (not mapped)
40 class WrInnCache1_2(object):
41     pass
42
43
44 class WrInnCache(object):
45     pass
46
47
48 # Page (not mapped)
49 class Page(object):
50     pass
51
52
53 # MediaWiki text table
54 class MwText(object):
55     pass
56
57
58 # MediaWiki user table
59 class MwUser(UserMixin):
60     def get_id(self):
61         return str(self.user_id)
62
63
64 # MediaWiki groups
65 class MwUserGroups:
66     pass
67
68
69 orm.mapper(WrReport, wrreport_table)
70 # We could add a relation but we don't need it yet:
71 # orm.mapper(WrSledrunCache, wrsledruncache_table, properties = {'reports': orm.relation(WrReport, backref='sledding')})
72 orm.mapper(WrSledrunCache, wrsledruncache_table)
73 orm.mapper(WrInnCache, wrinncache_table)
74 orm.mapper(MwText, text_table)
75 orm.mapper(MwUserGroups, user_groups_table)
76 orm.mapper(MwUser, user_table)