Skip to content

Commit

Permalink
Prefix aut nav treni with venezia (#172)
Browse files Browse the repository at this point in the history
* Create migration to replace in tables stations, stops, stop_times

* Rename all references to aut, nav, treni
  • Loading branch information
gsarrco committed Jan 19, 2024
1 parent 52174d6 commit 1a739c5
Show file tree
Hide file tree
Showing 8 changed files with 59 additions and 11 deletions.
48 changes: 48 additions & 0 deletions alembic/versions/dd839935b0bb_prefix_aut_nav_treni_with_venezia.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
"""Prefix aut, nav, treni with venezia
Revision ID: dd839935b0bb
Revises: d55702afa188
Create Date: 2024-01-19 15:11:41.149726
"""
from alembic import op

# revision identifiers, used by Alembic.
revision = 'dd839935b0bb'
down_revision = 'd55702afa188'
branch_labels = None
depends_on = None


def upgrade() -> None:
# in stations rename aut to venezia-aut, nav to venezia-nav, treni to venezia-treni
op.execute("UPDATE stations SET source='venezia-aut' WHERE source='aut'")
op.execute("UPDATE stations SET source='venezia-nav' WHERE source='nav'")
op.execute("UPDATE stations SET source='venezia-treni' WHERE source='treni'")

# in stops rename aut to venezia-aut, nav to venezia-nav, treni to venezia-treni
op.execute("UPDATE stops SET source='venezia-aut' WHERE source='aut'")
op.execute("UPDATE stops SET source='venezia-nav' WHERE source='nav'")
op.execute("UPDATE stops SET source='venezia-treni' WHERE source='treni'")

# in stop_times rename aut to venezia-aut, nav to venezia-nav, treni to venezia-treni
op.execute("UPDATE stop_times SET source='venezia-aut' WHERE source='aut'")
op.execute("UPDATE stop_times SET source='venezia-nav' WHERE source='nav'")
op.execute("UPDATE stop_times SET source='venezia-treni' WHERE source='treni'")


def downgrade() -> None:
# in stations rename venezia-aut to aut, venezia-nav to nav, venezia-treni to treni
op.execute("UPDATE stations SET source='aut' WHERE source='venezia-aut'")
op.execute("UPDATE stations SET source='nav' WHERE source='venezia-nav'")
op.execute("UPDATE stations SET source='treni' WHERE source='venezia-treni'")

# in stops rename venezia-aut to aut, venezia-nav to nav, venezia-treni to treni
op.execute("UPDATE stops SET source='aut' WHERE source='venezia-aut'")
op.execute("UPDATE stops SET source='nav' WHERE source='venezia-nav'")
op.execute("UPDATE stops SET source='treni' WHERE source='venezia-treni'")

# in stop_times rename venezia-aut to aut, venezia-nav to nav, venezia-treni to treni
op.execute("UPDATE stop_times SET source='aut' WHERE source='venezia-aut'")
op.execute("UPDATE stop_times SET source='nav' WHERE source='venezia-nav'")
op.execute("UPDATE stop_times SET source='treni' WHERE source='venezia-treni'")
2 changes: 1 addition & 1 deletion server/GTFS/source.py
Original file line number Diff line number Diff line change
Expand Up @@ -199,7 +199,7 @@ def upload_stops_clusters_to_db(self, force=False) -> bool:
for stop in cluster.stops:
platform = get_loc_from_stop_and_cluster(stop.name)
platform = platform if platform != '' else None
id_ = self.name + '_' + stop.id if self.name != 'treni' else stop.id
id_ = self.name + '_' + stop.id if self.name != 'venezia-treni' else stop.id
stop = Stop(id=id_, platform=platform, lat=stop.lat, lon=stop.lon, station_id=cluster.name, source=self.name)
new_stops.append(stop)

Expand Down
4 changes: 2 additions & 2 deletions server/base/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ class Station(Base):
lon: Mapped[Optional[float]]
ids: Mapped[str] = mapped_column(server_default='')
times_count: Mapped[float] = mapped_column(server_default='0')
source: Mapped[str] = mapped_column(server_default='treni')
source: Mapped[str] = mapped_column(server_default='venezia-treni')
stops = relationship('Stop', back_populates='station', cascade='all, delete-orphan')
active: Mapped[bool] = mapped_column(server_default='true')

Expand Down Expand Up @@ -56,7 +56,7 @@ class StopTime(Base):
dest_text: Mapped[str]
number: Mapped[int]
route_name: Mapped[str]
source: Mapped[str] = mapped_column(server_default='treni')
source: Mapped[str] = mapped_column(server_default='venezia-treni')
stop_id: Mapped[str] = mapped_column(ForeignKey('stops.id'))
stop: Mapped[Stop] = relationship('Stop', foreign_keys=stop_id)

Expand Down
2 changes: 1 addition & 1 deletion server/base/source.py
Original file line number Diff line number Diff line change
Expand Up @@ -359,7 +359,7 @@ def upload_trip_stop_time_to_postgres(self, stop_time: TripStopTime):
if stop_time.orig_dep_date > date.today() + timedelta(days=2):
return

stop_id = self.name + '_' + stop_time.station.id if self.name != 'treni' else stop_time.station.id
stop_id = self.name + '_' + stop_time.station.id if self.name != 'venezia-treni' else stop_time.station.id

stmt = insert(StopTime).values(stop_id=stop_id, sched_arr_dt=stop_time.arr_time,
sched_dep_dt=stop_time.dep_time, platform=stop_time.platform,
Expand Down
4 changes: 2 additions & 2 deletions server/routes.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ async def home(request: Request) -> Response:
text_response = '<html>'

try:
sources['treni'].session.execute(text('SELECT 1'))
sources['venezia-treni'].session.execute(text('SELECT 1'))
except Exception:
return Response(status_code=500)
else:
Expand All @@ -41,7 +41,7 @@ async def search_stations(request: Request) -> Response:
source = sources[only_source]
all_sources = False
else:
source = sources['aut']
source = sources['venezia-aut']
all_sources = True
limit = max(1, min(limit, 10))
stations, count = source.search_stops(name=query, all_sources=all_sources, limit=limit, hide_ids=hide_ids)
Expand Down
6 changes: 3 additions & 3 deletions server/sources.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,9 @@
typesense = connect_to_typesense()

sources = {
'aut': GTFS('automobilistico', '🚌', session, typesense, dev=config.get('DEV', False)),
'nav': GTFS('navigazione', '⛴️', session, typesense, dev=config.get('DEV', False)),
'treni': Trenitalia(session, typesense)
'venezia-aut': GTFS('automobilistico', '🚌', session, typesense, dev=config.get('DEV', False)),
'venezia-nav': GTFS('navigazione', '⛴️', session, typesense, dev=config.get('DEV', False)),
'venezia-treni': Trenitalia(session, typesense)
}

for source in sources.values():
Expand Down
2 changes: 1 addition & 1 deletion server/trenitalia/source.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ class Trenitalia(Source):

def __init__(self, session, typesense, location='', force_update_stations=False):
self.location = location
super().__init__('treni', '🚆', session, typesense)
super().__init__('venezia-treni', '🚆', session, typesense)

if force_update_stations or self.session.query(Station).filter_by(source=self.name, active=True).count() == 0 or \
self.session.query(Stop).filter_by(source=self.name, active=True).count() == 0:
Expand Down
2 changes: 1 addition & 1 deletion tgbot/handlers.py
Original file line number Diff line number Diff line change
Expand Up @@ -163,7 +163,7 @@ async def search_stop(update: Update, context: ContextTypes.DEFAULT_TYPE) -> int
trans = gettext.translation('messages', localedir, languages=[lang])
_ = trans.gettext

db_file: Source = thismodule.sources[context.user_data.get('transport_type', 'aut')]
db_file: Source = thismodule.sources[context.user_data.get('transport_type', 'venezia-aut')]

limit = 4

Expand Down

0 comments on commit 1a739c5

Please sign in to comment.