From 115e08ba832d2da7902f2fd2e2db03ce51597f6e Mon Sep 17 00:00:00 2001 From: ren Date: Tue, 19 Nov 2024 15:15:19 +0200 Subject: [PATCH] Add code, update README.md and remove incorrect gitignore --- .gitignore | 130 ------------------------------------------ README.md | 7 +++ tlt-gps-downloader.py | 28 +++++++++ 3 files changed, 35 insertions(+), 130 deletions(-) delete mode 100644 .gitignore create mode 100644 tlt-gps-downloader.py diff --git a/.gitignore b/.gitignore deleted file mode 100644 index c6bba59..0000000 --- a/.gitignore +++ /dev/null @@ -1,130 +0,0 @@ -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -lerna-debug.log* -.pnpm-debug.log* - -# Diagnostic reports (https://nodejs.org/api/report.html) -report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json - -# Runtime data -pids -*.pid -*.seed -*.pid.lock - -# Directory for instrumented libs generated by jscoverage/JSCover -lib-cov - -# Coverage directory used by tools like istanbul -coverage -*.lcov - -# nyc test coverage -.nyc_output - -# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) -.grunt - -# Bower dependency directory (https://bower.io/) -bower_components - -# node-waf configuration -.lock-wscript - -# Compiled binary addons (https://nodejs.org/api/addons.html) -build/Release - -# Dependency directories -node_modules/ -jspm_packages/ - -# Snowpack dependency directory (https://snowpack.dev/) -web_modules/ - -# TypeScript cache -*.tsbuildinfo - -# Optional npm cache directory -.npm - -# Optional eslint cache -.eslintcache - -# Optional stylelint cache -.stylelintcache - -# Microbundle cache -.rpt2_cache/ -.rts2_cache_cjs/ -.rts2_cache_es/ -.rts2_cache_umd/ - -# Optional REPL history -.node_repl_history - -# Output of 'npm pack' -*.tgz - -# Yarn Integrity file -.yarn-integrity - -# dotenv environment variable files -.env -.env.development.local -.env.test.local -.env.production.local -.env.local - -# parcel-bundler cache (https://parceljs.org/) -.cache -.parcel-cache - -# Next.js build output -.next -out - -# Nuxt.js build / generate output -.nuxt -dist - -# Gatsby files -.cache/ -# Comment in the public line in if your project uses Gatsby and not Next.js -# https://nextjs.org/blog/next-9-1#public-directory-support -# public - -# vuepress build output -.vuepress/dist - -# vuepress v2.x temp and cache directory -.temp -.cache - -# Docusaurus cache and generated files -.docusaurus - -# Serverless directories -.serverless/ - -# FuseBox cache -.fusebox/ - -# DynamoDB Local files -.dynamodb/ - -# TernJS port file -.tern-port - -# Stores VSCode versions used for testing VSCode extensions -.vscode-test - -# yarn v2 -.yarn/cache -.yarn/unplugged -.yarn/build-state.yml -.yarn/install-state.gz -.pnp.* diff --git a/README.md b/README.md index b15e3dd..5e81710 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,9 @@ # tlt-gps-downloader Downloads gps.txt files from tlt website every 30 seconds. + +## Usage +Run tlt-gps-downloader.py and files will be downloaded into current directory. +Filename structure: gps-year-month-day-HOUR_MINUTE_SECOND.txt + +All contents are raw from https://transport.tallinn.ee/gps.txt +You can use [tlt-gps-visualizer]: https://github.com/eetnaviation/tlt-gps-visualizer.git for data processing, or [tlt-gps-replay]: https://github.com/eetnaviation/tlt-gps-replay for replaying gps files. \ No newline at end of file diff --git a/tlt-gps-downloader.py b/tlt-gps-downloader.py new file mode 100644 index 0000000..3b11cf4 --- /dev/null +++ b/tlt-gps-downloader.py @@ -0,0 +1,28 @@ +import requests +import time +from datetime import datetime + +url = "https://transport.tallinn.ee/gps.txt" + +while True: + # Get current timedate for timestamp + timestamp = datetime.now().strftime("%Y-%m-%d-%H_%M_%S") + filename = f"gps-{timestamp}.txt" + + # Download data + try: + response = requests.get(url) + response.raise_for_status() # Check for request errors + data = response.text + + # Save the data to file + with open(filename, "w") as file: + file.write(data) + + print(f"Data saved to {filename}") + + except requests.RequestException as e: + print(f"An error occurred: {e}") + + # Wait 30 seconds to not get blocked + time.sleep(30) \ No newline at end of file