|
1 import sqlalchemy.ext.declarative |
|
2 GtfsBase = sqlalchemy.ext.declarative.declarative_base(name = 'GtfsBase') |
|
3 |
|
4 class GtfsRoute(GtfsBase): |
|
5 __tablename__ = 'routes' |
|
6 id = sqlalchemy.Column(sqlalchemy.String, primary_key = True) |
|
7 reference = sqlalchemy.Column(sqlalchemy.String) |
|
8 description = sqlalchemy.Column(sqlalchemy.String) |
|
9 type = sqlalchemy.Column(sqlalchemy.Integer) |
|
10 |
|
11 class GtfsShape(GtfsBase): |
|
12 __tablename__ = 'shapes' |
|
13 id = sqlalchemy.Column(sqlalchemy.String, primary_key = True) |
|
14 length = sqlalchemy.Column(sqlalchemy.Numeric, default = 0) |
|
15 shape_coordinates = sqlalchemy.Column(sqlalchemy.String) |
|
16 |
|
17 class GtfsTrip(GtfsBase): |
|
18 __tablename__ = 'trips' |
|
19 id = sqlalchemy.Column(sqlalchemy.String, primary_key = True) |
|
20 route_id = sqlalchemy.Column(sqlalchemy.String, sqlalchemy.ForeignKey(GtfsRoute.id)) |
|
21 service = sqlalchemy.Column(sqlalchemy.String) |
|
22 shape_id = sqlalchemy.Column(sqlalchemy.String, sqlalchemy.ForeignKey(GtfsShape.id)) |
|
23 route = sqlalchemy.orm.relationship('GtfsRoute', foreign_keys = 'GtfsTrip.route_id') |
|
24 shape = sqlalchemy.orm.relationship('GtfsShape', foreign_keys = 'GtfsTrip.shape_id') |
|
25 |
|
26 class GtfsService(GtfsBase): |
|
27 __tablename__ = 'services' |
|
28 id = sqlalchemy.Column(sqlalchemy.String, primary_key = True) |
|
29 |
|
30 class GtfsStop(GtfsBase): |
|
31 __tablename__ = 'stops' |
|
32 stop_id = sqlalchemy.Column(sqlalchemy.String, primary_key = True) |
|
33 stop_name = sqlalchemy.Column(sqlalchemy.String) |
|
34 stop_latitude = sqlalchemy.Column(sqlalchemy.Numeric) |
|
35 stop_longitude = sqlalchemy.Column(sqlalchemy.Numeric) |
|
36 stop_region = sqlalchemy.Column(sqlalchemy.String) |
|
37 stop_region_major = sqlalchemy.Column(sqlalchemy.Boolean) |
|
38 |
|
39 class GtfsRegion(GtfsBase): |
|
40 # Not a gtfs data set, but the Gtfs prefix added for consistency |
|
41 __tablename__ = 'regions' |
|
42 region_name = sqlalchemy.Column(sqlalchemy.String, primary_key = True) |
|
43 region_name_sv = sqlalchemy.Column(sqlalchemy.String) |
|
44 region_name_en = sqlalchemy.Column(sqlalchemy.String) |
|
45 region_name_ja = sqlalchemy.Column(sqlalchemy.String) |
|
46 region_short_name = sqlalchemy.Column(sqlalchemy.String) |
|
47 region_short_name_sv = sqlalchemy.Column(sqlalchemy.String) |
|
48 region_short_name_en = sqlalchemy.Column(sqlalchemy.String) |
|
49 region_short_name_ja = sqlalchemy.Column(sqlalchemy.String) |
|
50 region_internal_name = sqlalchemy.Column(sqlalchemy.String) |
|
51 region_internal_name_sv = sqlalchemy.Column(sqlalchemy.String) |
|
52 region_internal_name_en = sqlalchemy.Column(sqlalchemy.String) |
|
53 region_internal_name_ja = sqlalchemy.Column(sqlalchemy.String) |
|
54 municipality = sqlalchemy.Column(sqlalchemy.String, nullable = False) |
|
55 external = sqlalchemy.Column(sqlalchemy.Boolean) |