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