- Projekt
- Es gibt PayBack™-Karten, die nur Punkte™-sammeln zulassen, jedoch kein abheben erlauben.
- Eine solche wurde für den Hackerspace vor Ort© organisiert, kopiert, und in Umlauf gebracht.
- Auf der Webseite gut versteckt lassen sich die Punkte™ gegen Geld™ eintauschen.
- Der Gewinn daraus geht auf das Spendenkonto des Hackerspaces.
- Ziel
- Ermitteln wie wertvoll Daten sein können.
- Bereitstellen der Daten in lesbaren, verarbeitbaren Formaten.
- Leute dazu anregen, Statistiken & Grafiken daraus zu erstellen.
- Werkzeuge
-
BeautifulSoup
sowierequests
zum verarbeiten der Quelle. -
SQLAlchemy
für ein SQlite-File. -
Mit
Jinja2
wird das html generiert. -
Werkzeug
ist für den feed zuständig. - Features
-
Alles ist eine Klasse:
-
Module sind untereinander abhängig
☞︎ benötigen Instanzen anderer Klassen um erzeugt zu werden.
Sogar der Logger ist eine Klasse -
Die meisten Objekte haben eine
__call__()
Methode.
-
Module sind untereinander abhängig
-
Modul unabhängige Konfiguration:
crawler
storage
output
- Implementierung des Crawlers als Iterator.
- Nahtloses wiederaufnehmen alter Buchungen unter Vermeidung von Duplikaten.
- Abbruch des Crawlers, nach sieben (konfigurierbar) Tagen ohne neue Daten.
-
Minimale Datenhaltung — Jedes Datum, Punkte™stand, Sammelstelle® und jede Aktion© existiert nur einmal.
☞︎ Die eigentlichen Buchungen sind immer nur Referenzen darauf. - Links
-
RepositoryOutput
Die Ausgabe ist limitiert auf 42
(konfigurierbar)
Elemente.
Die Software kann zusätzlich noch
_full
erzeugen, die alle bis dato bekannten Daten enthalten:
- index.html ☞︎ index_full.html
- export.csv ☞︎ export_full.csv
- export.json ☞︎ export_full.json
- feed.atom ☞︎ feed_full.atom
Zum sortieren auf die Überschriften der Tabelle klicken.