After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 352082 - Inclusion of epilicious
Inclusion of epilicious
Status: RESOLVED FIXED
Product: epiphany-extensions
Classification: Deprecated
Component: general
master
Other All
: Normal enhancement
: 2.18.x
Assigned To: epiphany-extensions-maint
epiphany-extensions-maint
Depends on:
Blocks:
 
 
Reported: 2006-08-19 22:04 UTC by Magnus Therning
Modified: 2007-02-05 21:24 UTC
See Also:
GNOME target: ---
GNOME version: Unversioned Enhancement


Attachments
First attempt (77.46 KB, patch)
2006-08-19 22:08 UTC, Magnus Therning
none Details | Review
Attempt to make the patch apply to CVS HEAD (77.05 KB, patch)
2006-12-02 13:11 UTC, Magnus Therning
none Details | Review
Sync against SVN head (76.89 KB, patch)
2007-01-22 22:24 UTC, Magnus Therning
none Details | Review
Fix a Python 2.5 issue (77.06 KB, patch)
2007-02-02 06:44 UTC, Magnus Therning
none Details | Review
Fix second Python 2.5 issue (77.19 KB, patch)
2007-02-05 00:15 UTC, Magnus Therning
none Details | Review

Description Magnus Therning 2006-08-19 22:04:06 UTC
I'd love to see epilicious included in GNOME CVS.
Comment 1 Magnus Therning 2006-08-19 22:08:07 UTC
Created attachment 71220 [details] [review]
First attempt

Diff against CVS head (as of today).
Comment 2 Christian Persch 2006-08-19 22:09:53 UTC
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.
Comment 3 Magnus Therning 2006-09-17 21:54:39 UTC
Ping!

It's been a month. 2.16 is out and hopefully there's some time to look into getting this plugin/patch included.
Comment 4 Reinout van Schouwen 2006-12-01 23:34:47 UTC
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

Comment 5 Magnus Therning 2006-12-02 13:11:28 UTC
Created attachment 77535 [details] [review]
Attempt to make the patch apply to CVS HEAD
Comment 6 Jean-François Rameau 2006-12-03 16:38:55 UTC
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 :)

Comment 7 Magnus Therning 2006-12-04 10:05:50 UTC
(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 :-)
Comment 8 Jean-François Rameau 2006-12-04 11:15:13 UTC
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 :)
Comment 9 Magnus Therning 2007-01-22 22:24:37 UTC
Created attachment 80934 [details] [review]
Sync against SVN head

Epilicious version 0.10.2
Comment 10 Jean-François Rameau 2007-01-31 19:34:18 UTC
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):
  • File "/usr/lib/epiphany/2.17/extensions/epilicious.py", line 175 in _do_sync
    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.
Comment 11 Magnus Therning 2007-02-02 06:44:37 UTC
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.
Comment 12 Magnus Therning 2007-02-02 07:00:05 UTC
(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.
Comment 13 Jean-François Rameau 2007-02-03 18:01:29 UTC
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

Comment 14 Magnus Therning 2007-02-05 00:15:14 UTC
Created attachment 81903 [details] [review]
Fix second Python 2.5 issue

Now the patch includes the fix I issued to Jean-François privately.
Comment 15 Magnus Therning 2007-02-05 00:17:23 UTC
(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 :-)
Comment 16 Jean-François Rameau 2007-02-05 21:24:15 UTC
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.