GNOME Bugzilla – Bug 352082
Inclusion of epilicious
Last modified: 2007-02-05 21:24:15 UTC
I'd love to see epilicious included in GNOME CVS.
Created attachment 71220 [details] [review] First attempt Diff against CVS head (as of today).
The configure/Makefile parts look fine to me. I'd like someone with python knowledge to look at the actual extension code, though. Targetting for 2.16.0.
Ping! It's been a month. 2.16 is out and hopefully there's some time to look into getting this plugin/patch included.
applying the patch to e-e CVS, I get: patch < ../02_ephy-ext_epilicious.diff patching file configure.ac Hunk #1 succeeded at 52 (offset -2 lines). Hunk #2 FAILED at 156. Hunk #3 FAILED at 341. 2 out of 3 hunks FAILED -- saving rejects to file configure.ac.rej patching file BaseStore.py patching file config.py patching file delicious.py patching file DeliciousStore.py patching file epilicious-config.glade patching file epilicious.ephy-extension.in patching file epilicious-progress.glade patching file epilicious.py.in patching file epilicious.schemas.in patching file EpiphanyStore.py patching file __init__.py The next patch would create the file Makefile.am, which already exists! Assume -R? [n] Apply anyway? [n] Skipping patch. 1 out of 1 hunk ignored -- saving rejects to file Makefile.am.rej patching file progress.py patching file THOUGHTS patching file TODO can't find file to patch at input line 2013 Perhaps you should have used the -p or --strip option? The text leading up to this was: -------------------------- |diff -ruN epiphany-extensions_orig/po/POTFILES.in epiphany-extensions/po/POTFILES.in |--- epiphany-extensions_orig/po/POTFILES.in 2006-08-15 00:31:20.000000000 +0100 |+++ epiphany-extensions/po/POTFILES.in 2006-08-19 22:20:32.000000000 +0100 -------------------------- File to patch: Skip this patch? [y] Skipping patch. 1 out of 1 hunk ignored
Created attachment 77535 [details] [review] Attempt to make the patch apply to CVS HEAD
Ok, code looks good. However, some comments: - could you gather all the gconf keys the extension uses into one location to avoid duplicates ? - I don't really the idea to store my del.icio.us password into gconf. So for future, could it be a good idea to use gnome keyring (there's a Python binding and examples to use it, in gnome CVS) to store that critical info ? Because I'm a big fan of this extension, I would enjoy to see it included into ee package :)
(In reply to comment #6) > Ok, code looks good. However, some comments: > - could you gather all the gconf keys the extension uses into one location to > avoid duplicates ? I'm not sure I understand what you mean with this comment. This is the list of all gconf keys that are used: /apps/epiphany/extensions/epilicious/username /apps/epiphany/extensions/epilicious/password /apps/epiphany/extensions/epilicious/keyword /apps/epiphany/extensions/epilicious/exclude They are all specified in epiphany.schemas.in. How can I gather them even more in one location? > - I don't really the idea to store my del.icio.us password into gconf. So for > future, could it be a good idea to use gnome keyring (there's a Python binding > and examples to use it, in gnome CVS) to store that critical info ? Yes, that is one of the things on my todo list. > Because I'm a big fan of this extension, I would enjoy to see it included into > ee package :) Always nice to hear words of support :-)
About gathering all the gconf keys, it's just about to avoid to duplicate, for instance, /apps/epiphany/extensions/epilicious/keyword, into config.py but also into epilicious.py.in. Just nit, not a big deal :)
Created attachment 80934 [details] [review] Sync against SVN head Epilicious version 0.10.2
Magnus, I can't get your last patch working, for two reasons: - first, my python 2.5 refers to ElementTree as xml.etree.ElementTree ( see http://docs.python.org/lib/module-xml.etree.ElementTree.html ), - second, I get the following exception each time I try to synchronize my bkms: 2007-01-31 20:26:31,966 ERROR Failed sync Traceback (most recent call last):
+ Trace 106911
yield False GeneratorExit
The first point is easy to fix (if we talk about the same thing of course :) ). The second point is more obscur from my POV. GeneratorExit exception is raised as soon as the generator is garbage collected. Don't see the point here ... Also, with these fixed, I would like to release an e-e tarball with epilicious inside (2.17.5 if possible). Thanks for the patch.
Created attachment 81738 [details] [review] Fix a Python 2.5 issue This ought to fix the first issue that Jean-François Rameau found when using the extension on Python 2.5.
(In reply to comment #10) > Magnus, > > I can't get your last patch working, for two reasons: > > - first, my python 2.5 refers to ElementTree as xml.etree.ElementTree ( see > http://docs.python.org/lib/module-xml.etree.ElementTree.html ), Python 2.5 includes ElementTree as a standard library and I've added an if-then to deal with importing from the right place. See the patch named "Fix a Python 2.5 issue". > - second, I get the following exception each time I try to synchronize my bkms: > 2007-01-31 20:26:31,966 ERROR Failed sync > Traceback (most recent call last): > File "/usr/lib/epiphany/2.17/extensions/epilicious.py", line 175, in _do_sync > yield False > GeneratorExit > > The second point is more obscur from my POV. GeneratorExit exception is raised > as soon as the generator is garbage collected. Don't see the point here ... The GeneratorExit exception is also new in 2.5 and as you note it's thrown when the generator is garbage collected (to be more precise, when the new close() method is called on it). Since Debian doesn't include 2.5 yet I don't have any system readily available to do my own testing. Jean-François, would you mind testing a possible fix? I think that'd be faster than my finding the time to install a Ubuntu system here... I'm contacting you privately.
Magnus, all that code works nicely now :) epilicious is definitely Python 2.5 compliant. Do you have a write access to svn ? If not, tell me, I'll be happy to include epilicious as a new extensions (if you are still ok of course). Jean-françois
Created attachment 81903 [details] [review] Fix second Python 2.5 issue Now the patch includes the fix I issued to Jean-François privately.
(In reply to comment #13) > Magnus, > > all that code works nicely now :) epilicious is definitely Python 2.5 > compliant. Great to hear. I've verified that it still work under Python 2.4 as well. > Do you have a write access to svn ? If not, tell me, I'll be happy to include > epilicious as a new extensions (if you are still ok of course). I don't have write access to SVN. Please include epilicious as a new extension. That'd make my day :-)
2006-02-05 Jean-François Rameau <jframeau@svn.gnome.org> * configure.ac * po/POTFILES.in * AUTHORS A extensions/epilicious/BaseStore.py A extensions/epilicious/DeliciousStore.py A extensions/epilicious/EpiphanyStore.py A extensions/epilicious/Makefile.am A extensions/epilicious/THOUGHTS A extensions/epilicious/TODO A extensions/epilicious/__init__.py A extensions/epilicious/config.py A extensions/epilicious/delicious.py A extensions/epilicious/epilicious-config.glade A extensions/epilicious/epilicious-progress.glade A extensions/epilicious/epilicious.ephy-extension.in A extensions/epilicious/epilicious.py.in A extensions/epilicious/epilicious.schemas.in A extensions/epilicious/progress.py Epilicious is an extension that lets you synchronise your local bookmarks with the bookmarks in a Delicious account. Patch from Magnus Therning. So, done :) Again, thanks very much for epilicious. The fix will be available in the next major release.