Seite 1 von 1

django-weave - Firefox 'weave' server in Python/Django...

Verfasst: Dienstag 2. Februar 2010, 16:27
von jens
Der ein oder andere hat sicherlich vom neuen Firefox Addon "weave" gehört: https://wiki.mozilla.org/Labs/Weave

Damit kann man alle Firefox Einstellungen verschlüsselt auf einen Server ablegen und auf einem anderen Rechner synchronisieren.

Ich hatte mal gesucht, ob es auch einen Server in Python gibt und hab das gefunden: http://majid.info/blog/just-enough-weave/

Das Script habe ich mal näher angeschaut und modifiziert, um debug Aufgaben zu erhalten, damit man sieht, was so passiert: http://trac.pylucid.net/browser/PyLucid ... server2.py

Dann hab ich mir gedacht, mache ich doch eine kleine Django Applikation draus, bzw. ein PyLucid Plugin: http://trac.pylucid.net/browser/PyLucidPlugins/weave/

Ist alles noch in einem frühen Stadium. Das Addon legt schon Daten in die models ab, viel mehr geht aber noch nicht.

Wer hat Lust mit zu helfen? Wenn Interesse besteht, könnte man daraus ein separates, unabhängiges Django Projekt machen...

Links:

http://www.jensdiemer.de/de/Blog/136/fi ... n-pylucid/ (de)
http://forum.pylucid.org/viewtopic.php?t=313 (en)

Verfasst: Dienstag 2. Februar 2010, 19:48
von Hyperion
Auf den ersten Blick sieht der Code ( Link) ziemlich komisch aus. Für meinen Geschmack wird da zu viel selber zusammengeschraubt (HTTPRequest und analog die Resonse-Klasse z.B., das Parsen in der Hauotklasse, usw.). Aber vielleicht sehe ich das auch falsch :-)

Prinzipiell sicherliche eine prima Idee, aber auf dem Code würde ich nicht aufsetzen wollen.

Verfasst: Dienstag 2. Februar 2010, 21:55
von jens
Ne, auf den original code von weave_server.py baue ich auch nicht wirklich. Aber dieser Server funktioniert, zumindest grundlegend. Ich hab den nur benutzt um zu sehen was so passiert.
Klüger wäre es vielleicht gewesen den offiziellen Server zu installieren und z.B. mit einem Proxy zu belauschen. Aber das war mir zu aufwendig ;)

Verfasst: Dienstag 2. Februar 2010, 22:15
von apollo13
Darf man fragen für was du dafür einen eigenen Server schreiben willst? Was passt dir an dem von Mozilla gehosteten nicht? (Ich stell die Frage nicht umsonst auch deshalb weil der Server keinen Weg hat die Daten zu entschlüsseln…)

Verfasst: Mittwoch 3. Februar 2010, 08:15
von jens
Aus Spaß?

Natürlich wäre es wunderbar, wenn man seine Bookmarks auch auf dem Server "öffnen" könnte. Das sollte eigentlich nicht vollkommen unmöglich sein. IMHO muss der User dazu seinen "Secret Key" eingeben, dann sollte man die Daten entschlüssel können.

Verfasst: Mittwoch 3. Februar 2010, 08:42
von apollo13
jens hat geschrieben:Aus Spaß?
Klar aber dafür gibt es ergiebiger Sachen, wie du ja selbst schon gesehen hast ist der Server nicht groß…
IMHO muss der User dazu seinen "Secret Key" eingeben, dann sollte man die Daten entschlüssel können.
Genau das soll so nicht funktionieren, dann kennt der Server die Passphrase und kann alles entschlüsseln. Sinnvoller wäre zu warten bis das Labs Team die Sharing api einbaut, dann kann der Server auf einzelne Teile mit seinem Key zugreifen…

Verfasst: Freitag 5. März 2010, 15:43
von jens
Gibt nun einen Client in Python:
https://wiki.mozilla.org/Weave/Experime ... nts/Python
bzw.
http://hg.mozilla.org/labs/weaveclient-python/

Ach, noch was gefunden für http://www.tornadoweb.org :
http://hg.mozilla.org/labs/weaveserver- ... ver-python

Auch interessant:
https://wiki.mozilla.org/Labs/Weave/Testing


EDIT: Wer Interesse hat, ich hab mal http://code.google.com/p/django-weave/ erstellt und werde da mal meinen bisherigen Stand einpflegen.

Verfasst: Freitag 5. März 2010, 22:50
von jens
Hab ein wenig weiter gebastelt und hier beschrieben, wie man sich ein test virtualenv aufsetzten kann: https://code.google.com/p/django-weave/ ... nvironment

Verfasst: Mittwoch 17. März 2010, 10:26
von jens
So, der sync klappt nun, seid http://code.google.com/p/django-weave/s ... etail?r=41

Und es scheint egal zu sein, wie die floats gerundet werden. Deswegen hab ich den Monkeypatch deaktiviert.

Auch das zusätzliche escapen der Slashes ist wohl unnötig.

Wer es mal Probieren will, unter http://code.google.com/p/django-weave/w ... nvironment steht wie man mit virtualenv einen Test Umgebung aufsetzten kann.

Verfasst: Mittwoch 24. März 2010, 08:12
von jens