Update for initial release

This commit is contained in:
iosullivan committed 2026-07-18 14:22:16 +08:00
1 parent 2a5595c425
commit 8f77efd226
5 files changed
+61

No files matched your search

+2
View File
@@ -1,2 +1,4 @@
.env
secrets.yaml
.venv/*
output/*
+29
View File
@@ -0,0 +1,29 @@
# Use an official Python runtime as a parent image
FROM python:3.9-slim
# Install cron
RUN apt-get update && apt-get install -y cron
# Set the working directory
WORKDIR /usr/cta-archive/
# Copy the current directory contents into the container
COPY . .
# Install any needed packages
RUN pip install --no-cache-dir -r requirements.txt
# Copy the cron job file into the cron.d directory
COPY cronjob /etc/cron.d/cronjob
# Give execution rights on the cron job
RUN chmod 0644 /etc/cron.d/cronjob
# Apply the cron job
RUN crontab /etc/cron.d/cronjob
# Create the log file to be able to run tail
RUN touch /var/log/cron.log
# Run the command on container startup
CMD cron && tail -f /var/log/cron.log
+29
View File
@@ -0,0 +1,29 @@
import requests
import datetime
import os
import json
# Import API key from .env file
api_key=os.environ['API_KEY']
# Get latest URL for each route, source for routes:https://www.transitchicago.com/developers/ttdocs/
routes= ['Red', 'Blue', 'Brn', 'G', 'Org', 'P', 'Pink', 'Y']
for route in routes:
response = requests.get("https://lapi.transitchicago.com/api/1.0/ttpositions.aspx?key="+api_key+"&rt="+route+"&outputType=JSON")
trains = response.json()
#trains_query_time = datetime.datetime.fromisoformat(trains['ctatt']['tmst'])
trains_query_time = trains['ctatt']['tmst']
outdir = "./output/"+route+"/"
if not os.path.exists(outdir):
os.makedirs(outdir)
outfile = outdir+trains_query_time+"_location_"+route+".json"
# Lazy format simplify
outfile = outfile.replace(":","")
outfile = outfile.replace("-","")
with open(outfile,mode='w') as f:
json.dump(trains, f)
+1
View File
@@ -0,0 +1 @@
2 * * * * /usr/cta-archive/archive.py
BIN
View File
Binary file not shown.