fff-monitoring
Adrian Schmutzler
mail at adrianschmutzler.de
Mo Nov 13 14:50:47 CET 2017
Hallo Benedikt,
das zlib Problem habe ich gelöst, allerdings beschwert sich beim Starten
jetzt Tilestache, dass das Modul thread fehlt:
Traceback (most recent call last):
File
"/usr/local/lib/python3.5/dist-packages/TileStache-1.51.6-py3.5.egg/TileStac
he/Core.py", line 845, in loadClassPath
__import__(modname)
File "/data/fff/fff-monitoring/ffmap/map/dynmapnik.py", line 5, in
<module>
import TileStache.Mapnik
File
"/usr/local/lib/python3.5/dist-packages/TileStache-1.51.6-py3.5.egg/TileStac
he/Mapnik.py", line 10, in <module>
from thread import allocate_lock
ImportError: No module named 'thread'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/data/fff/fff-monitoring/v/bin/ffmap", line 11, in <module>
load_entry_point('ffmap', 'console_scripts', 'ffmap')()
File "/data/fff/fff-monitoring/ffmap/__main__.py", line 29, in main
args.func(args)
File "/data/fff/fff-monitoring/ffmap/__main__.py", line 10, in webapp
'/tiles': get_app_tiles(args),
File "/data/fff/fff-monitoring/ffmap/map/__main__.py", line 50, in get_app
return WSGITileServer(config=get_config())
File "/data/fff/fff-monitoring/ffmap/map/__main__.py", line 45, in
get_config
"logging": "info"
File
"/usr/local/lib/python3.5/dist-packages/TileStache-1.51.6-py3.5.egg/TileStac
he/Config.py", line 226, in buildConfiguration
config.layers[name] = _parseConfigLayer(layer_dict, config, dirpath)
File
"/usr/local/lib/python3.5/dist-packages/TileStache-1.51.6-py3.5.egg/TileStac
he/Config.py", line 460, in _parseConfigLayer
_class = Core.loadClassPath(provider_dict['class'])
File
"/usr/local/lib/python3.5/dist-packages/TileStache-1.51.6-py3.5.egg/TileStac
he/Core.py", line 853, in loadClassPath
raise KnownUnknown('Tried to import %s, but: %s' % (classpath, e))
TileStache.Core.KnownUnknown: Tried to import ffmap.map.dynmapnik:DynMapnik,
but: No module named 'thread'
Grüße
Adrian
> -----Original Message-----
> From: franken-dev [mailto:franken-dev-bounces at freifunk.net] On Behalf
> Of Adrian Schmutzler
> Sent: Sonntag, 12. November 2017 17:02
> To: '83a' <83a at gmx.de>; franken-dev at freifunk.net
> Subject: RE: fff-monitoring
>
> Hallo Benedikt,
>
> hab mal deine ersten beiden Patches auf mein Zeug rebased, kriege aber
> Fehler beim install.sh (pillow) und einen 500 Fehler beim Seitenaufruf.
>
> Den effektiven Patch siehst du unter:
> https://github.com/adridolf/fff-monitoring/commits/benedikt
>
> Pillow vermisst scheinbar zlib, wie kann ich das installieren?
>
> Grüße
>
> Adrian
>
> -----Original Message-----
> From: franken-dev [mailto:franken-dev-bounces at freifunk.net] On Behalf
> Of 83a
> Sent: Freitag, 10. November 2017 17:59
> To: franken-dev at freifunk.net
> Subject: Re: fff-monitoring
>
> vielen dank für deine kommentare :-)
>
> >> * ein cli interface (im aufbau)
> >> * starten der webapp im debug modus
> >> * initialisieren der datenbank
> > Nachdem MySQL inzwischen schön läuft, ist die Frage, was man hieraus
> > macht. Ich installiere mir normalerweise phpmyadmin mit, die Frage
> > ist, ob man hier eine Alternative braucht.
> wenn ich das richtig gesehen habe, hast du schon auch code [create table]
> mit dem du die datenbank initialisierst. ich wollte eigentlich nur _ein_
tool
> mit dem man alles erledigen kann um die webapp vom "git clone" zum laufen
> zu bringen.
>
> [create table]
> https://github.com/adridolf/fff-monitoring/blob/mysql1/ffmap/db/users.py
>
> >> * python app wird automatisch neu geladen bei code änderungen
> > Weiß nicht, ob ich das will. Kommt darauf an, was genau du unter
> > Code-Änderungen verstehst.
> es geht dabei um den ganz normalen debug-zyklus. code änderung;
> webserver stoppen; webserver starten; f5; überprüfen ob alles passt; von
> vorne. mit diesem feature entfällt das webserver stoppen und starten, weil
> wekzeug selbständig mitbekommt ob sich die python dateien geändert
> haben, und wenn das so ist automatisch neu startet.
> da die webapp im produktiv-betrieb anders gestartet wird, ist dieses
feature
> nur beim entwickeln aktiv.
>
> >> * umstellung der ordnerstruktur, damit es sich etwas mehr nach python
> >> anfühlt
> > Schau ich mir bei Gelegenheit mal genauer an, evtl. kann man das
> > separat einbauen. Aber ich mag gar kein Python ... ;-)
> damit man die vorteile von python ausnutzen kann, muss man sich hier und
> da ein paar vorgaben einhalten (vgl. sys.path.insert)
>
> >> * zentrale config (im aufbau, noch nicht alles umgezogen)
> > Was ist in deinen Augen "config" (vll. seh ich das selbst im Code...)
> im derzeitigen ausbau stand nicht besonders sinnvoll, bisher hat jede
datei
> für sich so ne kleine config, das müsste man nach und nach umziehen.
>
> [definition config]
> https://github.com/BenediktSeidl/fff-
> monitoring/blob/3ef1d0c124f5b96b5b5e6e3
> 4548afcaaea7bd074/ffmap/config/default.cfg#L1
> [zugriff config]
> https://github.com/BenediktSeidl/fff-
> monitoring/blob/3ef1d0c124f5b96b5b5e6e3
> 4548afcaaea7bd074/ffmap/maptools.py#L24
>
> >> * spaces statt tabs, pep8 bzw. flake8
> > Finde ich total schlimm, aber ihr Python Menschen mögt das ja. Als
> > Einzelfeature bin ich da persönlich dagegen.
> mögen? hat sich halt so eingespielt. wenn tabs die bedingung ist dass man
> mitspielen darf, muss ich da wohl durch.
> ansonsten haben sich 4 spaces in der python welt durchgesetzt.
>
> >> * flask secret key über die config, kein "asd"
> > Hä?
> das sollte man auf keinen fall machen:
> https://github.com/BenediktSeidl/fff-
> monitoring/blob/3ef1d0c124f5b96b5b5e6e3
> 4548afcaaea7bd074/ffmap/web/application.py#L262
> damit werden die session-cookies von flask verschlüsselt.
>
> >> * sys.path.insert entfernen und durch absolute imports ersetzten
> > Erster Teil: Bitte. Aber meinst du mit absolut wirklich absolut? Weil
> > dann finde ich es eigtl nicht gut...
> absolut im sinne von "from ffmap.web.api import api"
>
> >> * absolute pfade entfernen
> > Siehe darüber
> da ging es mir vor allem darum, dass /usr/ oder /opt/ hart im code
hinterlegt
> ist. ich hab das eigentlich immer ganz gern so, dass das zum entwickeln in
> dem ordner bleibt in dem sich das projekt befindet.
> im idealfall kann man das dann ja über die config ändern.
>
> >> * init_db.py in funktionen auslagern, nicht durch seiteneffekte beim
> >> importieren ausführen
> > Siehe umstellung auf MySQL. Sollte wirklich nur einmal am Anfang
> > manuell ausgeführt werden!
> das ist mehr eine python technische sache: wenn man befehle direkt in eine
> datei schreibt, ohne dass eine funktion drum herum ist, wird das direkt
beim
> import ausgeführt. das ist eher unüblich. normalerweise passiert beim
> import nichts, sondern erst wenn man eine funktion aufruft. ist auch so ne
> python konvention, weil funktionieren tut es ja so auch.
>
> >> * weiteres aufräumen und entfernen von alten, nicht mehr genutzten
> >> scripten (?)
> > Ich hab bei der Umstellung die ganzen Skripte im contrib ignoriert.
> > Da wäre auch schön zu wissen, was da alles überflüssig ist.
> ja, da bin ich mir leider auch nicht sicher. gefühlt kann das meiste davon
wohl
> weg.
>
> >> https://github.com/BenediktSeidl/fff-monitoring-demo-data
> > Hab sowas ähnliches in C#, aber nur woanders eingebaut. Das wäre in
> > der Tat zum Testen ganz nett ...
> das format der daten ist aber immer noch das gleiche, oder? also da hat
sich
> nichts geändert?
>
> > Werde mir den Code bei Gelegenheit mal anschauen, vll. kann ich das
> > ein oder andere selbst in die mysql-Version einbauen.
> sehr gerne, bediene dich.
>
> benedikt
> --
> franken-dev mailing list
> franken-dev at freifunk.net
> http://lists.freifunk.net/mailman/listinfo/franken-dev-freifunk.net
>
> --
> franken-dev mailing list
> franken-dev at freifunk.net
> http://lists.freifunk.net/mailman/listinfo/franken-dev-freifunk.net
Mehr Informationen über die Mailingliste franken-dev