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 categorylinks_table = mwdb.categorylinks_table(meta.metadata)
25 class WrReport(object):
29 # Old version (not mapped)
30 class WrSleddingCache1_2(object):
34 class WrSledrunCache(object):
38 # Old version (not mapped)
39 class WrInnCache1_2(object):
43 class WrInnCache(object):
52 # MediaWiki text table
57 # MediaWiki user table
58 class MwUser(UserMixin):
60 return str(self.user_id)
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)