]> ToastFreeware Gitweb - philipp/winterrodeln/wradmin.git/blob - wradmin/model/__init__.py
b55cc98e3b772df2931fe05b0d8347a544d24afa
[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 categorylinks_table = mwdb.categorylinks_table(meta.metadata)
23
24
25 class WrReport(object):
26     pass
27
28
29 # Old version (not mapped)
30 class WrSleddingCache1_2(object):
31     pass
32
33
34 class WrSledrunCache(object):
35     pass
36
37
38 # Old version (not mapped)
39 class WrInnCache1_2(object):
40     pass
41
42
43 class WrInnCache(object):
44     pass
45
46
47 # Page (not mapped)
48 class Page(object):
49     pass
50
51
52 # MediaWiki text table
53 class MwText(object):
54     pass
55
56
57 # MediaWiki user table
58 class MwUser(UserMixin):
59     def get_id(self):
60         return str(self.user_id)
61
62
63 orm.mapper(WrReport, wrreport_table)
64 # We could add a relation but we don't need it yet:
65 # orm.mapper(WrSledrunCache, wrsledruncache_table, properties = {'reports': orm.relation(WrReport, backref='sledding')})
66 orm.mapper(WrSledrunCache, wrsledruncache_table)
67 orm.mapper(WrInnCache, wrinncache_table)
68 orm.mapper(MwText, text_table)
69 orm.mapper(MwUser, user_table)