]> ToastFreeware Gitweb - philipp/winterrodeln/wradmin.git/blob - wradmin/wradmin/model/__init__.py
f1839b0ab095855fbe454679e4d220437f835c09
[philipp/winterrodeln/wradmin.git] / wradmin / wradmin / model / __init__.py
1 "Model of wradmin"
2 import sqlalchemy as sa
3 from sqlalchemy import orm, schema, types
4 from wradmin.model import meta
5 import datetime
6
7 def init_model(engine):
8     """Call me before using any of the tables or classes in the model"""
9     meta.Session.configure(bind=engine)
10     meta.engine = engine
11
12
13 wrreport_table = sa.Table("wrreport", meta.metadata,
14     sa.Column("id", types.Integer, primary_key=True),
15     sa.Column("page_id", types.Integer, schema.ForeignKey('wrsleddingcache.page_id')),
16     sa.Column("page_title", types.Unicode(255), nullable=False),
17     sa.Column("date_report", types.Date),
18     sa.Column("date_entry", types.DateTime, nullable=False),
19     sa.Column("date_invalid", types.DateTime),
20     sa.Column("condition", types.Integer),
21     sa.Column("description", types.Unicode),
22     sa.Column("author_name", types.Unicode(30)),
23     sa.Column("author_ip", types.Unicode(15)),
24     sa.Column("author_userid", types.Integer),
25     sa.Column("author_username", types.Unicode(30)),
26     sa.Column("delete_date", types.DateTime),
27     sa.Column("delete_person_name", types.Unicode(30)),
28     sa.Column("delete_person_ip", types.Unicode(15)),
29     sa.Column("delete_person_userid", types.Integer),
30     sa.Column("delete_person_username", types.Unicode(30)),
31     sa.Column("delete_reason_public", types.Unicode),
32     )
33
34
35 wrsleddingcache_table =  sa.Table("wrsleddingcache", meta.metadata,
36     sa.Column("page_id", types.Integer, primary_key=True),
37     sa.Column("page_title", types.Unicode(255)),
38     sa.Column("length", types.Integer),
39     sa.Column("walktime", types.Integer),
40     sa.Column("height_top", types.Integer),
41     sa.Column("height_bottom", types.Integer),
42     sa.Column("walkup_separate", types.Boolean),
43     sa.Column("lift", types.Boolean),
44     sa.Column("night_light", types.Boolean),
45     sa.Column("sledge_rental", types.Boolean),
46     sa.Column("public_transport", types.Boolean),
47     sa.Column("image", types.Unicode(255)),
48     sa.Column("position_latitude", types.Float),
49     sa.Column("position_longitude", types.Float),
50     sa.Column("information", types.Unicode(255)),
51     sa.Column("forum_id", types.Integer),
52     sa.Column("under_construction", types.Boolean),
53     sa.Column("show_in_overview", types.Boolean),
54     )
55
56
57 wrinncache_table =  sa.Table("wrinncache", meta.metadata,
58     sa.Column("page_id", types.Integer, primary_key=True),
59     sa.Column("page_title", types.Unicode(255)),
60     sa.Column("height", types.Integer),
61     sa.Column("phone", types.Unicode(30)),
62     sa.Column("mobile_phone", types.Unicode(30)),
63     sa.Column("email", types.Unicode(255)),
64     sa.Column("homepage", types.Unicode(255)),
65     sa.Column("smoker_area", types.Boolean),
66     sa.Column("nonsmoker_area", types.Boolean),
67     sa.Column("image", types.Unicode(255)),
68     sa.Column("position_latitude", types.Float),
69     sa.Column("position_longitude", types.Float),
70     sa.Column("under_construction", types.Boolean),
71     )
72
73
74 page_table = sa.Table("page", meta.metadata,
75     sa.Column("page_id", types.Integer, primary_key=True),
76     sa.Column("page_namespace", types.Integer, nullable=False),
77     sa.Column("page_title", types.Unicode(255), nullable=False),
78     sa.Column("page_restrictions", types.Unicode, nullable=False),
79     sa.Column("page_counter", types.Integer, nullable=False),
80     sa.Column("page_is_redirect", types.Integer, nullable=False),
81     sa.Column("page_is_new", types.Integer, nullable=False),
82     sa.Column("page_random", types.Float, nullable=False),
83     sa.Column("page_touched", types.Unicode(14), nullable=False),
84     sa.Column("page_latest", types.Integer, nullable=False),
85     sa.Column("page_len", types.Integer, nullable=False),
86     )
87
88
89 revision_table = sa.Table("revision", meta.metadata,
90     sa.Column("rev_id", types.Integer, nullable=False, primary_key=True),
91     sa.Column("rev_page", types.Integer, nullable=False, primary_key=True),
92     sa.Column("rev_text_id", types.Integer, nullable=False),
93     sa.Column("rev_comment", types.Unicode),
94     sa.Column("rev_user", types.Integer, nullable=False),
95     sa.Column("rev_user_text", types.Unicode(255), nullable=False),
96     sa.Column("rev_timestamp", types.Unicode(14), nullable=False),
97     sa.Column("rev_minor_edit", types.Integer, nullable=False),
98     sa.Column("rev_deleted", types.Integer, nullable=False),
99     sa.Column("rev_len", types.Integer, nullable=False),
100     sa.Column("rev_parent_id", types.Integer, nullable=False),
101     )
102
103
104 text_table = sa.Table("text", meta.metadata,
105     sa.Column("old_id", types.Integer, primary_key=True),
106     sa.Column("old_text", types.Unicode),
107     sa.Column("old_flags", types.Unicode),
108     )
109
110
111 categorylinks_table = sa.Table("categorylinks", meta.metadata,
112     sa.Column("cl_from", types.Integer, nullable=False, primary_key=True),
113     sa.Column("cl_to", types.Unicode(255), nullable=False, primary_key=True),
114     sa.Column("cl_sortkey", types.Unicode, nullable=False),
115     sa.Column("cl_timestamp", types.DateTime, nullable=False),
116     )
117
118
119 class WrReport(object):
120     pass
121
122
123 class WrSleddingCache(object):
124     pass
125
126
127 class WrInnCache(object):
128     pass
129
130
131 orm.mapper(WrReport, wrreport_table)
132 # We could add a relation but we don't need it yet:
133 # orm.mapper(WrSleddingCache, wrsleddingcache_table, properties = {'reports': orm.relation(WrReport, backref='sledding')})
134 orm.mapper(WrSleddingCache, wrsleddingcache_table)
135 orm.mapper(WrInnCache, wrinncache_table)