mfdz / amarillo Goto Github PK
View Code? Open in Web Editor NEWAggregates and enhances carpooling-offers and publishes them as GTFS(-RT)
Home Page: https://amarillo.mfdz.de
License: GNU Affero General Public License v3.0
Aggregates and enhances carpooling-offers and publishes them as GTFS(-RT)
Home Page: https://amarillo.mfdz.de
License: GNU Affero General Public License v3.0
In the Readme.md the url for explaining the term Amarillo is broken:
An Amarillo is a yellow-dressed person helping others to find a car pool in Cuba.
This URL is no longer active.
Here is an alternative link to an still active report from 2015: https://www.nzz.ch/per-autostopp-durch-den-sozialismus-ld.752468
Or a more recent report from 2022 - even with pictures: https://oncubanews.com/canaldigital/galerias/por-el-camino/los-amarillos/
Currently, outdated trips are only deleted when syncing with the agency.
Outdated trips should be discarded even without sync regularly.
Config currently still has agencies and env keys, which are not required any longer.
agencies are now explicitly modelled, running the enhancer only makes sense using the PROD mode so env=DEV is useless now.
Currently Amarillo uses an API key. What are the issues with that? What is there to improve?
For the demo instances, GDPR / imprint should be added
One-time trips in the past should be rejected on post.
To avoid to reject offers posted right before leaving, we should tolerate a certain buffer.
Also, see #21
Currently, amarillo is timezone agnostic. As trips may occure in other timezones, this should be adressed.
Remove departureTime
from Carpool, because it's a duplicate of the departureTime
of the first Stop.
If both are in the schema, then both must have the same values which might not be the case always or needs extra work to enforce and check. They could be different, one of them could be null. What then? What has precendence? If there is only one departureTime
there can not be any confusion. And there is always a first Stop where the time can be taken from.
Currently, carpool offers are stored asynchronously. To report success/failure and to avoid race conditions with deletion detection, this should be done in sync.
Especially, when syncing an agency, sometimes the error below occurs, indicating that an offer is deleted befor the pyinotify-process_IN_CLOSE_WRITE is processed:
Exception in thread Thread-1:
Traceback (most recent call last):
File "/usr/local/lib/python3.9/threading.py", line 973, in _bootstrap_inner
self.run()
File "/usr/local/lib/python3.9/site-packages/pyinotify.py", line 1491, in run
self.loop()
File "/usr/local/lib/python3.9/site-packages/pyinotify.py", line 1477, in loop
self.process_events()
File "/usr/local/lib/python3.9/site-packages/pyinotify.py", line 1275, in process_events
self._default_proc_fun(revent)
File "/usr/local/lib/python3.9/site-packages/pyinotify.py", line 910, in __call__
return _ProcessEvent.__call__(self, event)
File "/usr/local/lib/python3.9/site-packages/pyinotify.py", line 630, in __call__
return meth(event)
File "/app/enhancer.py", line 30, in process_IN_CLOSE_WRITE
with open(event.pathname, 'r', encoding='utf-8') as f:
FileNotFoundError: [Errno 2] No such file or directory: '/app/data/carpool/ride2go/103739.json'
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.