Updated function rodelbahnbox_to_sledrun to use RodelbahnboxValidator.
[philipp/winterrodeln/wrpylib.git] / wrpylib / wrmwdb.py
index 026868711a9d900d833012e1208dfa4112508fe1..52f8e09d89e1d40d91850a81a91026b63194a3f8 100644 (file)
@@ -1,4 +1,4 @@
-#!/usr/bin/python2.6
+#!/usr/bin/python2.7
 # -*- coding: iso-8859-15 -*-
 # $Id$
 # $HeadURL$
 # -*- coding: iso-8859-15 -*-
 # $Id$
 # $HeadURL$
@@ -6,6 +6,7 @@
 tables in MediaWiki easy. The module uses sqlalchemy to access the database.
 """
 from sqlalchemy import Table, Column, types, schema
 tables in MediaWiki easy. The module uses sqlalchemy to access the database.
 """
 from sqlalchemy import Table, Column, types, schema
+from geoalchemy import GeometryExtensionColumn, MultiPolygon
 
 
 def wrreport_table(metadata):
 
 
 def wrreport_table(metadata):
@@ -14,6 +15,7 @@ def wrreport_table(metadata):
     * version 1.2
     * version 1.3 (no changes)
     * version 1.4 (no changes)
     * version 1.2
     * version 1.3 (no changes)
     * version 1.4 (no changes)
+    * version 1.5 added time_report
     :param metadata: metadata = sqlalchemy.MetaData()
     """
     return Table("wrreport", metadata,
     :param metadata: metadata = sqlalchemy.MetaData()
     """
     return Table("wrreport", metadata,
@@ -21,6 +23,7 @@ def wrreport_table(metadata):
     Column("page_id", types.Integer, schema.ForeignKey('wrsledruncache.page_id')),
     Column("page_title", types.Unicode(255), nullable=False),
     Column("date_report", types.Date),
     Column("page_id", types.Integer, schema.ForeignKey('wrsledruncache.page_id')),
     Column("page_title", types.Unicode(255), nullable=False),
     Column("date_report", types.Date),
+    Column("time_report", types.Time),
     Column("date_entry", types.DateTime, nullable=False),
     Column("date_invalid", types.DateTime),
     Column("condition", types.Integer),
     Column("date_entry", types.DateTime, nullable=False),
     Column("date_invalid", types.DateTime),
     Column("condition", types.Integer),
@@ -35,6 +38,7 @@ def wrreport_table(metadata):
     Column("delete_person_userid", types.Integer),
     Column("delete_person_username", types.Unicode(30)),
     Column("delete_reason_public", types.Unicode),
     Column("delete_person_userid", types.Integer),
     Column("delete_person_username", types.Unicode(30)),
     Column("delete_reason_public", types.Unicode),
+    Column("delete_invisible", types.Boolean),
     )
 
 
     )
 
 
@@ -45,7 +49,7 @@ def wrsledruncache_table(metadata):
     :param metadata: metadata = sqlalchemy.MetaData()
     """
     return Table("wrsledruncache", metadata,
     :param metadata: metadata = sqlalchemy.MetaData()
     """
     return Table("wrsledruncache", metadata,
-    Column("page_id", types.Integer, primary_key=True),
+    Column("page_id", types.Integer, schema.ForeignKey('wrreportcache.page_id'), primary_key=True),
     Column("page_title", types.Unicode(255)),
     Column("position_latitude", types.Float),
     Column("position_longitude", types.Float),
     Column("page_title", types.Unicode(255)),
     Column("position_latitude", types.Float),
     Column("position_longitude", types.Float),
@@ -122,7 +126,7 @@ def wrreportcache_table(metadata):
     return Table("wrreportcache", metadata,
     Column("page_id", types.Integer, primary_key=True),
     Column("page_title", types.Unicode(255), nullable=False),
     return Table("wrreportcache", metadata,
     Column("page_id", types.Integer, primary_key=True),
     Column("page_title", types.Unicode(255), nullable=False),
-    Column("report_id", types.Integer),
+    Column("report_id", types.Integer, schema.ForeignKey('wrreport.id')),
     Column("date_report", types.Date),
     Column("condition", types.Integer),
     Column("description", types.Unicode),
     Column("date_report", types.Date),
     Column("condition", types.Integer),
     Column("description", types.Unicode),
@@ -131,3 +135,29 @@ def wrreportcache_table(metadata):
     )
 
 
     )
 
 
+def wrregion_table(metadata):
+    """Returns the sqlalchemy Table representing the "wrregion" Winterrodeln table in MediaWiki.
+    Current table definition.
+    * version 1.5 (introduction)
+    :param metadata: metadata = sqlalchemy.MetaData()
+    """
+    return Table("wrregion", metadata,
+    Column("id", types.Integer, primary_key=True),
+    Column("name", types.Unicode(50)),
+    Column("page_id", types.Integer),
+    GeometryExtensionColumn("border", MultiPolygon(2, 4326))
+    )
+
+
+def wrregioncache_table(metadata):
+    """Returns the sqlalchemy Table representing the "wrregioncache" Winterrodeln table in MediaWiki.
+    Current table definition.
+    * version 1.5 (introduction)
+    :param metadata: metadata = sqlalchemy.MetaData()
+    """
+    return Table("wrregioncache", metadata,
+    Column("id", types.Integer, primary_key=True),
+    Column("region_id", types.Integer, schema.ForeignKey('wrregin.id')),
+    Column("page_id", types.Integer)
+    )
+