2 from sqlalchemy import orm
3 from flask_login import UserMixin
4 from wradmin.model import meta
5 from wrpylib import mwdb, wrmwdb
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)
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)
26 class WrReport(object):
30 # Old version (not mapped)
31 class WrSleddingCache1_2(object):
35 class WrSledrunCache(object):
39 # Old version (not mapped)
40 class WrInnCache1_2(object):
44 class WrInnCache(object):
53 # MediaWiki text table
58 # MediaWiki user table
59 class MwUser(UserMixin):
61 return str(self.user_id)
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)