From res0d26i@verizon.net Fri Jul 14 15:47:09 2006 Return-Path: X-Original-To: epiphany-list@gnome.org Delivered-To: epiphany-list@gnome.org Received: from localhost (unknown [127.0.0.1]) by menubar.gnome.org (Postfix) with ESMTP id 22B163B03A9 for ; Fri, 14 Jul 2006 15:47:09 +0000 (UTC) Received: from menubar.gnome.org ([127.0.0.1]) by localhost (menubar.gnome.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 25997-10 for ; Fri, 14 Jul 2006 15:47:08 +0000 (UTC) Received: from vms040pub.verizon.net (vms040pub.verizon.net [206.46.252.40]) by menubar.gnome.org (Postfix) with ESMTP id 62F6A3B03A6 for ; Fri, 14 Jul 2006 15:47:08 +0000 (UTC) Received: from [192.168.0.138] ([71.104.136.113]) by vms040.mailsrvcs.net (Sun Java System Messaging Server 6.2-4.02 (built Sep 9 2005)) with ESMTPA id <0J2E001F1H62BKTK@vms040.mailsrvcs.net> for epiphany-list@gnome.org; Fri, 14 Jul 2006 10:46:51 -0500 (CDT) Date: Fri, 14 Jul 2006 08:49:14 -0700 From: Damian Pisapia Subject: Google search menu question... To: epiphany-list@gnome.org Message-id: <1152892154.7087.3.camel@localhost> MIME-version: 1.0 X-Mailer: Evolution 2.6.1 Content-type: multipart/alternative; boundary="=-VO7Jelnmbh002LB8y+/d" X-Virus-Scanned: by amavisd-new at gnome.org X-Spam-Status: No, score=0.788 tagged_above=-999 required=2 tests=[AWL=-1.050, BAYES_00=-2.599, DNS_FROM_RFC_ABUSE=0.2, DNS_FROM_RFC_POST=1.708, FROM_HAS_MIXED_NUMS=2.155, HTML_30_40=0.374, HTML_MESSAGE=0.001, SPF_PASS=-0.001] X-Spam-Score: 0.788 X-Spam-Level: X-BeenThere: epiphany-list@gnome.org X-Mailman-Version: 2.1.8 Precedence: list Reply-To: res0d26i@verizon.net List-Id: For developers and users of the Epiphany web browser List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 14 Jul 2006 15:47:09 -0000 --=-VO7Jelnmbh002LB8y+/d Content-Type: text/plain Content-Transfer-Encoding: 7bit Hi, I once, after a fresh install somehow was able to use the google search right click menu feature in Epiphany, but for some reason it has long disappeared on my system and I don't know how to enable it again. Was this feature disabled later in Epiphany itself or is there something wrong with my setup? I am running the latest Dapper Drake release of Ubuntu. Is there any sort of advice you guys could recommend I tried enabling every relevant extension, but I still don't get the menu. Thanks for your hard work and time! Damian --=-VO7Jelnmbh002LB8y+/d Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: 7bit Hi,

I once, after a fresh install somehow was able to use the google search right click menu feature in Epiphany, but for some reason it has long disappeared on my system and I don't know how to enable it again. Was this feature disabled later in Epiphany itself or is there something wrong with my setup? I am running the latest Dapper Drake release of Ubuntu. Is there any sort of advice you guys could recommend I tried enabling every relevant extension, but I still don't get the menu. Thanks for your hard work and time!

Damian --=-VO7Jelnmbh002LB8y+/d-- From gcgae-epiphany-861@m.gmane.org Fri Jul 14 19:35:29 2006 Return-Path: X-Original-To: epiphany-list@gnome.org Delivered-To: epiphany-list@gnome.org Received: from localhost (unknown [127.0.0.1]) by menubar.gnome.org (Postfix) with ESMTP id 1BB5D3B00B7 for ; Fri, 14 Jul 2006 19:35:29 +0000 (UTC) Received: from menubar.gnome.org ([127.0.0.1]) by localhost (menubar.gnome.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 08169-10 for ; Fri, 14 Jul 2006 19:35:27 +0000 (UTC) Received: from ciao.gmane.org (main.gmane.org [80.91.229.2]) by menubar.gnome.org (Postfix) with ESMTP id 267913B00AF for ; Fri, 14 Jul 2006 19:35:27 +0000 (UTC) Received: from root by ciao.gmane.org with local (Exim 4.43) id 1G1TRG-000810-Bx for epiphany-list@gnome.org; Fri, 14 Jul 2006 21:35:02 +0200 Received: from aul93-4-82-239-61-147.fbx.proxad.net ([82.239.61.147]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Fri, 14 Jul 2006 21:35:02 +0200 Received: from aneglus by aul93-4-82-239-61-147.fbx.proxad.net with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Fri, 14 Jul 2006 21:35:02 +0200 X-Injected-Via-Gmane: http://gmane.org/ To: epiphany-list@gnome.org From: Aneglus Subject: What about the epiphany date server/bookmarks db Date: Fri, 14 Jul 2006 19:29:53 +0000 (UTC) Lines: 19 Message-ID: Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Complaints-To: usenet@sea.gmane.org X-Gmane-NNTP-Posting-Host: main.gmane.org User-Agent: Loom/3.14 (http://gmane.org/) X-Loom-IP: 82.239.61.147 (Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.4) Gecko/20060608 Ubuntu/dapper-security Epiphany/2.14 Firefox/1.5.0.4) Sender: news X-Virus-Scanned: by amavisd-new at gnome.org X-Spam-Status: No, score=-2.601 tagged_above=-999 required=2 tests=[BAYES_00=-2.599, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001] X-Spam-Score: -2.601 X-Spam-Level: X-Mailman-Approved-At: Sat, 15 Jul 2006 14:42:51 +0000 X-BeenThere: epiphany-list@gnome.org X-Mailman-Version: 2.1.8 Precedence: list List-Id: For developers and users of the Epiphany web browser List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 14 Jul 2006 19:35:29 -0000 Hi, what about the bookmarks database ? it's planned for the 2.16. Actually this database could be really interresting for the entire gnome desktop because we could also add feeds and maybe webradios/tv. Why ? To let us save/share all our bookmarks easly (over the web and over the desktop). use case : I used for years epiphany but soo, firefox 2.1 is really goood and support gnome bookmark database. I needn't to worry about my bookmarks! For example the epilicious extensions is really interresting but should be implemented alone. Maybe I can help ? From jamiemcc@blueyonder.co.uk Sat Jul 15 18:44:17 2006 Return-Path: X-Original-To: epiphany-list@gnome.org Delivered-To: epiphany-list@gnome.org Received: from localhost (unknown [127.0.0.1]) by menubar.gnome.org (Postfix) with ESMTP id 484733B010B for ; Sat, 15 Jul 2006 18:44:17 +0000 (UTC) Received: from menubar.gnome.org ([127.0.0.1]) by localhost (menubar.gnome.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 26848-08 for ; Sat, 15 Jul 2006 18:44:13 +0000 (UTC) Received: from smtp-out2.blueyonder.co.uk (smtp-out2.blueyonder.co.uk [195.188.213.5]) by menubar.gnome.org (Postfix) with ESMTP id 9FA5B3B00CC for ; Sat, 15 Jul 2006 18:44:13 +0000 (UTC) Received: from [172.23.170.136] (helo=anti-virus01-07) by smtp-out2.blueyonder.co.uk with smtp (Exim 4.52) id 1G1p7c-0003Gt-NS; Sat, 15 Jul 2006 19:44:12 +0100 Received: from [62.30.198.187] (helo=[62.30.198.187]) by asmtp-out4.blueyonder.co.uk with esmtpa (Exim 4.52) id 1G1p7Z-0007u2-RT; Sat, 15 Jul 2006 19:44:09 +0100 Message-ID: <44B9377A.6050004@blueyonder.co.uk> Date: Sat, 15 Jul 2006 19:44:10 +0100 From: Jamie McCracken User-Agent: Thunderbird 1.5.0.2 (X11/20060522) MIME-Version: 1.0 To: Aneglus Subject: Re: What about the epiphany date server/bookmarks db References: In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Virus-Scanned: by amavisd-new at gnome.org X-Spam-Status: No, score=-2.487 tagged_above=-999 required=2 tests=[AWL=0.113, BAYES_00=-2.599, SPF_PASS=-0.001] X-Spam-Score: -2.487 X-Spam-Level: Cc: epiphany-list@gnome.org X-BeenThere: epiphany-list@gnome.org X-Mailman-Version: 2.1.8 Precedence: list List-Id: For developers and users of the Epiphany web browser List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 15 Jul 2006 18:44:17 -0000 Aneglus wrote: > Hi, > > what about the bookmarks database ? it's planned for the 2.16. > > Actually this database could be really interresting for the entire gnome desktop > because we could also add feeds and maybe webradios/tv. Why ? > To let us > save/share all our bookmarks easly (over the web and over the desktop). > use case : > > I used for years epiphany but soo, firefox 2.1 is really goood > and support gnome > bookmark database. I needn't to worry about my bookmarks! > > For example the epilicious extensions is really interresting but > should be > implemented alone. > > Maybe I can help ? Im going to be starting on that next month using tracker(1)'s database (I will have plenty of time next month) Tracker's bookmarks, history and other first class objects are designed to be shared all over the desktop (and potentially with other desktops as its freedesktop/desktop neutral too) If you want to help maybe you can start by spec'ing out whats needed? I want tracker to be the best bookmark database ever (as well as the best music db, photo db, contact db etc) but I need specs... (1) - http://freedesktop.org/wiki/Software/Tracker -- Mr Jamie McCracken http://jamiemcc.livejournal.com/ From aneglus@gmail.com Sat Jul 15 19:11:43 2006 Return-Path: X-Original-To: epiphany-list@gnome.org Delivered-To: epiphany-list@gnome.org Received: from localhost (unknown [127.0.0.1]) by menubar.gnome.org (Postfix) with ESMTP id 529C63B0113 for ; Sat, 15 Jul 2006 19:11:43 +0000 (UTC) Received: from menubar.gnome.org ([127.0.0.1]) by localhost (menubar.gnome.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 27919-07 for ; Sat, 15 Jul 2006 19:11:41 +0000 (UTC) Received: from nf-out-0910.google.com (nf-out-0910.google.com [64.233.182.184]) by menubar.gnome.org (Postfix) with ESMTP id 534A63B008E for ; Sat, 15 Jul 2006 19:11:40 +0000 (UTC) Received: by nf-out-0910.google.com with SMTP id l36so393467nfa for ; Sat, 15 Jul 2006 12:11:39 -0700 (PDT) Received: by 10.49.7.3 with SMTP id k3mr641742nfi; Sat, 15 Jul 2006 12:11:39 -0700 (PDT) Received: by 10.48.221.17 with HTTP; Sat, 15 Jul 2006 12:11:39 -0700 (PDT) Message-ID: <9041cc4c0607151211j49cb5df7je4ea9ef725a050e5@mail.gmail.com> Date: Sat, 15 Jul 2006 21:11:39 +0200 From: "AMAZIGH Aneglus" To: "Jamie McCracken" Subject: Re: What about the epiphany date server/bookmarks db In-Reply-To: <44B9377A.6050004@blueyonder.co.uk> MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline References: <44B9377A.6050004@blueyonder.co.uk> X-Virus-Scanned: by amavisd-new at gnome.org X-Spam-Status: No, score=-2.475 tagged_above=-999 required=2 tests=[AWL=-0.075, BAYES_00=-2.599, DNS_FROM_RFC_ABUSE=0.2, SPF_PASS=-0.001] X-Spam-Score: -2.475 X-Spam-Level: Cc: epiphany-list@gnome.org X-BeenThere: epiphany-list@gnome.org X-Mailman-Version: 2.1.8 Precedence: list List-Id: For developers and users of the Epiphany web browser List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 15 Jul 2006 19:11:43 -0000 > I want tracker to be the best bookmark database ever (as well as the > best music db, photo db, contact db etc) but I need specs... me too :) the thing is I'm going to be busy until monday and I will leave for a place without permanent internet connection Wednesday... I will be back the 7 August. Whatever I will think about this. You want to add this dependencie in the gnome desktop... I mean mysql, you shoul notice the board or something like this ? (about the license) Is tracker supporting tags ? From aneglus@gmail.com Sat Jul 15 19:38:46 2006 Return-Path: X-Original-To: epiphany-list@gnome.org Delivered-To: epiphany-list@gnome.org Received: from localhost (unknown [127.0.0.1]) by menubar.gnome.org (Postfix) with ESMTP id 2C11D3B010B for ; Sat, 15 Jul 2006 19:38:46 +0000 (UTC) Received: from menubar.gnome.org ([127.0.0.1]) by localhost (menubar.gnome.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 29156-03 for ; Sat, 15 Jul 2006 19:38:45 +0000 (UTC) Received: from nf-out-0910.google.com (nf-out-0910.google.com [64.233.182.188]) by menubar.gnome.org (Postfix) with ESMTP id F40C93B01A2 for ; Sat, 15 Jul 2006 19:38:44 +0000 (UTC) Received: by nf-out-0910.google.com with SMTP id l36so396819nfa for ; Sat, 15 Jul 2006 12:38:44 -0700 (PDT) Received: by 10.48.210.20 with SMTP id i20mr652288nfg; Sat, 15 Jul 2006 12:38:44 -0700 (PDT) Received: by 10.48.221.17 with HTTP; Sat, 15 Jul 2006 12:38:44 -0700 (PDT) Message-ID: <9041cc4c0607151238md93a2dfr97e95582103712f3@mail.gmail.com> Date: Sat, 15 Jul 2006 21:38:44 +0200 From: "AMAZIGH Aneglus" To: "Jamie McCracken" Subject: Re: What about the epiphany date server/bookmarks db In-Reply-To: <9041cc4c0607151211j49cb5df7je4ea9ef725a050e5@mail.gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline References: <44B9377A.6050004@blueyonder.co.uk> <9041cc4c0607151211j49cb5df7je4ea9ef725a050e5@mail.gmail.com> X-Virus-Scanned: by amavisd-new at gnome.org X-Spam-Status: No, score=-2.476 tagged_above=-999 required=2 tests=[AWL=-0.076, BAYES_00=-2.599, DNS_FROM_RFC_ABUSE=0.2, SPF_PASS=-0.001] X-Spam-Score: -2.476 X-Spam-Level: Cc: epiphany-list@gnome.org X-BeenThere: epiphany-list@gnome.org X-Mailman-Version: 2.1.8 Precedence: list List-Id: For developers and users of the Epiphany web browser List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 15 Jul 2006 19:38:46 -0000 > Is tracker supporting tags ? I agree, it is a stupid question. :) Well we'd better deal about the epiphany case first. the new bookmark system should be implemented in parallel or create a generic set of API to query a desktop wide database and let people/distro choose one (beagle/tracker/... ?). "standardised" API ? --- What is a bookmark : - URI - NAME - Tags URI maybe a lot of thing ftp, http, but also lastfm, radio, webtv, podcast, rss... ? as it may be harder to to process each URI, it should be in different table: one table per 'protocol'. We need to analyse history to build an intelligent desktop. History elements would be just special bookmarks (with a special tag ?) Tracker may process regularly history to build its 'intelligence'. Intelligence must be subdomains aware but not assumes that I love http://www.livejournal.com/ if I regularly go to http://jamiemcc.livejournal.com/ (if I haven't livejournal.com in my bookmarks it isn't a problem) From reinouts@gnome.org Sat Jul 15 19:55:28 2006 Return-Path: X-Original-To: epiphany-list@gnome.org Delivered-To: epiphany-list@gnome.org Received: from localhost (unknown [127.0.0.1]) by menubar.gnome.org (Postfix) with ESMTP id C39663B0101 for ; Sat, 15 Jul 2006 19:55:28 +0000 (UTC) Received: from menubar.gnome.org ([127.0.0.1]) by localhost (menubar.gnome.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 29382-09 for ; Sat, 15 Jul 2006 19:55:28 +0000 (UTC) Received: from flits.few.vu.nl (flits.few.vu.nl [192.31.231.65]) by menubar.gnome.org (Postfix) with ESMTP id CE4DD3B00CC for ; Sat, 15 Jul 2006 19:55:27 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by flits.few.vu.nl with esmtp (Smail #114) id m1G1qEY-0001qsC; Sat, 15 Jul 2006 21:55 +0200 Date: Sat, 15 Jul 2006 21:55:26 +0200 (CEST) From: Reinout van Schouwen X-X-Sender: reinout@flits.few.vu.nl To: epiphany-list@gnome.org Subject: Re: Google search menu question... In-Reply-To: <1152892154.7087.3.camel@localhost> Message-ID: References: <1152892154.7087.3.camel@localhost> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed X-Virus-Scanned: by amavisd-new at gnome.org X-Spam-Status: No, score=-1.386 tagged_above=-999 required=2 tests=[AWL=-0.060, BAYES_00=-2.599, INFO_TLD=1.273] X-Spam-Score: -1.386 X-Spam-Level: X-BeenThere: epiphany-list@gnome.org X-Mailman-Version: 2.1.8 Precedence: list List-Id: For developers and users of the Epiphany web browser List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 15 Jul 2006 19:55:28 -0000 Hi Damian, On Fri, 14 Jul 2006, Damian Pisapia wrote: > I once, after a fresh install somehow was able to use the google search > right click menu feature in Epiphany, but for some reason it has long > disappeared on my system and I don't know how to enable it again. Was I think you are referring to the Smart Bookmarks extension. It shows a context menu on selected text for each smart bookmark you have (not just Google). Am I on spot? :-) regards, -- Reinout van Schouwen *** student of Artifical Intelligence email: reinout@cs.vu.nl *** mobile phone: +31-6-44360778 www.vanschouwen.info *** help mee met GNOME vertalen: nl.gnome.org From jamiemcc@blueyonder.co.uk Sun Jul 16 08:56:05 2006 Return-Path: X-Original-To: epiphany-list@gnome.org Delivered-To: epiphany-list@gnome.org Received: from localhost (localhost.localdomain [127.0.0.1]) by menubar.gnome.org (Postfix) with ESMTP id 791D73B00CB for ; Sun, 16 Jul 2006 08:56:05 +0000 (UTC) Received: from menubar.gnome.org ([127.0.0.1]) by localhost (menubar.gnome.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 01946-10 for ; Sun, 16 Jul 2006 08:56:04 +0000 (UTC) Received: from smtp-out4.blueyonder.co.uk (smtp-out4.blueyonder.co.uk [195.188.213.7]) by menubar.gnome.org (Postfix) with ESMTP id 1D7CE3B00DF for ; Sun, 16 Jul 2006 08:56:04 +0000 (UTC) Received: from [172.23.170.140] (helo=anti-virus02-07) by smtp-out4.blueyonder.co.uk with smtp (Exim 4.52) id 1G22Pz-0004Ap-K0; Sun, 16 Jul 2006 09:56:03 +0100 Received: from [62.30.198.187] (helo=[62.30.198.187]) by asmtp-out6.blueyonder.co.uk with esmtpa (Exim 4.52) id 1G22Py-00080N-0q; Sun, 16 Jul 2006 09:56:02 +0100 Message-ID: <44B9FF23.20009@blueyonder.co.uk> Date: Sun, 16 Jul 2006 09:56:03 +0100 From: Jamie McCracken User-Agent: Thunderbird 1.5.0.2 (X11/20060522) MIME-Version: 1.0 To: AMAZIGH Aneglus Subject: Re: What about the epiphany date server/bookmarks db References: <44B9377A.6050004@blueyonder.co.uk> <9041cc4c0607151211j49cb5df7je4ea9ef725a050e5@mail.gmail.com> <9041cc4c0607151238md93a2dfr97e95582103712f3@mail.gmail.com> In-Reply-To: <9041cc4c0607151238md93a2dfr97e95582103712f3@mail.gmail.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Virus-Scanned: by amavisd-new at gnome.org X-Spam-Status: No, score=-2.488 tagged_above=-999 required=2 tests=[AWL=0.112, BAYES_00=-2.599, SPF_PASS=-0.001] X-Spam-Score: -2.488 X-Spam-Level: Cc: epiphany-list@gnome.org X-BeenThere: epiphany-list@gnome.org X-Mailman-Version: 2.1.8 Precedence: list List-Id: For developers and users of the Epiphany web browser List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 16 Jul 2006 08:56:05 -0000 AMAZIGH Aneglus wrote: >> Is tracker supporting tags ? > > I agree, it is a stupid question. :) > > Well we'd better deal about the epiphany case first. > > the new bookmark system should be implemented in parallel or create a > generic set of API to query a desktop wide database and let > people/distro choose one (beagle/tracker/... ?). "standardised" API ? Not necessary - tracker can be used as a stand-alone metadata database without any indexing (its lightweight enough). So whether you prefer Beagle or simply dont want any indexing, tracker can still fit the bill. tracker will also be proposed for Gnome 2.18. As tracker uses dbus it is also possible for another process to re-impelement the exact same bookmark/history dbus interfaces of tracker using different technologies if they prefer. -- Mr Jamie McCracken http://jamiemcc.livejournal.com/ From magnus@therning.org Sun Jul 16 10:31:39 2006 Return-Path: X-Original-To: epiphany-list@gnome.org Delivered-To: epiphany-list@gnome.org Received: from localhost (localhost.localdomain [127.0.0.1]) by menubar.gnome.org (Postfix) with ESMTP id 34CC83B0089 for ; Sun, 16 Jul 2006 10:31:39 +0000 (UTC) Received: from menubar.gnome.org ([127.0.0.1]) by localhost (menubar.gnome.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 04751-02 for ; Sun, 16 Jul 2006 10:31:38 +0000 (UTC) Received: from nimue.merula.net (nimue.merula.net [217.146.97.10]) by menubar.gnome.org (Postfix) with ESMTP id 608163B006E for ; Sun, 16 Jul 2006 10:31:37 +0000 (UTC) Received: from localhost.localdomain (adsl-217.146.112.238.merula.net [217.146.112.238] (may be forged)) by nimue.merula.net (8.12.11/8.12.9[Merula+Auth]) with ESMTP id k6GAVY8A001730 for ; Sun, 16 Jul 2006 11:31:35 +0100 Received: by localhost.localdomain (Postfix, from userid 1000) id D78CB27D8B4; Sat, 15 Jul 2006 20:08:28 +0100 (BST) Date: Sat, 15 Jul 2006 20:08:28 +0100 From: Magnus Therning To: epiphany-list@gnome.org Subject: Re: What about the epiphany date server/bookmarks db Message-ID: <20060715190828.GA7124@die.therning.org> References: MIME-Version: 1.0 Content-Type: multipart/signed; micalg=SHA1; protocol="application/pgp-signature"; boundary="wac7ysb48OaltWcw" Content-Disposition: inline In-Reply-To: User-Agent: mutt-ng/devel-r796 (Debian) X-Virus-Scanned: by amavisd-new at gnome.org X-Spam-Status: No, score=-1.805 tagged_above=-999 required=2 tests=[AWL=-0.588, BAYES_00=-2.599, DATE_IN_PAST_12_24=1.247, FORGED_RCVD_HELO=0.135] X-Spam-Score: -1.805 X-Spam-Level: X-BeenThere: epiphany-list@gnome.org X-Mailman-Version: 2.1.8 Precedence: list List-Id: For developers and users of the Epiphany web browser List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 16 Jul 2006 10:31:39 -0000 --wac7ysb48OaltWcw Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Fri, Jul 14, 2006 at 19:29:53 +0000, Aneglus wrote: >Hi, > >what about the bookmarks database ? it's planned for the 2.16. > >Actually this database could be really interresting for the entire >gnome desktop because we could also add feeds and maybe webradios/tv. >Why ?=20 >To let us save/share all our bookmarks easly (over the web and over the >desktop). use case : > >I used for years epiphany but soo, firefox 2.1 is really goood and >support gnome bookmark database. I needn't to worry about my bookmarks! Firefox 2.1? I thought 2.0 wasn't even released yet :-) What GNOME bookmark database? (I probably don't know enough about GNOME's architecture to realise what you're talking about here.) >For example the epilicious extensions is really interresting but should >be implemented alone. As the author of epilicious I'm a little curious what you mean with this :-) I suspect you mean that if epiphany hooks into a GNOME-wide bookmarks database then epilicious could be a standalone program rather than an epilicious plugin. /M --=20 Magnus Therning (OpenPGP: 0xAB4DFBA4) magnus@therning.org Jabber: magnus.therning@gmail.com http://therning.org/magnus Software is not manufactured, it is something you write and publish. Keep Europe free from software patents, we do not want censorship by patent law on written works. Time is a great teacher, but unfortunately it kills all its pupils. -- Hector Louis Berlioz --wac7ysb48OaltWcw Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.3 (GNU/Linux) iD8DBQBEuT0siMWTaatN+6QRAnbpAJ9yR8bOo7vOoMwW+uQXbrgV0t2LUQCbBPdg WlwOd63d4RJJwactkvXQ/S0= =2Awt -----END PGP SIGNATURE----- --wac7ysb48OaltWcw-- From aneglus@gmail.com Sun Jul 16 15:34:36 2006 Return-Path: X-Original-To: epiphany-list@gnome.org Delivered-To: epiphany-list@gnome.org Received: from localhost (localhost.localdomain [127.0.0.1]) by menubar.gnome.org (Postfix) with ESMTP id 1E8FC3B02F3 for ; Sun, 16 Jul 2006 15:34:36 +0000 (UTC) Received: from menubar.gnome.org ([127.0.0.1]) by localhost (menubar.gnome.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 19131-02 for ; Sun, 16 Jul 2006 15:34:35 +0000 (UTC) Received: from nf-out-0910.google.com (nf-out-0910.google.com [64.233.182.188]) by menubar.gnome.org (Postfix) with ESMTP id 05D703B0280 for ; Sun, 16 Jul 2006 15:34:35 +0000 (UTC) Received: by nf-out-0910.google.com with SMTP id l36so7622nfa for ; Sun, 16 Jul 2006 08:34:34 -0700 (PDT) Received: by 10.49.7.3 with SMTP id k3mr1210264nfi; Sun, 16 Jul 2006 08:34:34 -0700 (PDT) Received: by 10.48.221.17 with HTTP; Sun, 16 Jul 2006 08:34:34 -0700 (PDT) Message-ID: <9041cc4c0607160834y5118423bn2a6612633cab7322@mail.gmail.com> Date: Sun, 16 Jul 2006 17:34:34 +0200 From: "AMAZIGH Aneglus" To: "Magnus Therning" Subject: Re: What about the epiphany date server/bookmarks db In-Reply-To: <20060715190828.GA7124@die.therning.org> MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline References: <20060715190828.GA7124@die.therning.org> X-Virus-Scanned: by amavisd-new at gnome.org X-Spam-Status: No, score=-2.479 tagged_above=-999 required=2 tests=[AWL=-0.079, BAYES_00=-2.599, DNS_FROM_RFC_ABUSE=0.2, SPF_PASS=-0.001] X-Spam-Score: -2.479 X-Spam-Level: Cc: epiphany-list@gnome.org X-BeenThere: epiphany-list@gnome.org X-Mailman-Version: 2.1.8 Precedence: list List-Id: For developers and users of the Epiphany web browser List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 16 Jul 2006 15:34:36 -0000 > >I used for years epiphany but soo, firefox 2.1 is really goood and > >support gnome bookmark database. I needn't to worry about my bookmarks! > > Firefox 2.1? I thought 2.0 wasn't even released yet :-) Just a stupid example :) epiphany is just too... good ! > What GNOME bookmark database? (I probably don't know enough about > GNOME's architecture to realise what you're talking about here.) I'm talking about Futur 2.0 ! > :-) I suspect you mean that if epiphany hooks into a GNOME-wide > bookmarks database then epilicious could be a standalone program rather > than an epilicious plugin. That's it ! look at Jamie McCracken mail. From aneglus@gmail.com Sun Jul 16 15:36:37 2006 Return-Path: X-Original-To: epiphany-list@gnome.org Delivered-To: epiphany-list@gnome.org Received: from localhost (localhost.localdomain [127.0.0.1]) by menubar.gnome.org (Postfix) with ESMTP id C84743B01B1 for ; Sun, 16 Jul 2006 15:36:37 +0000 (UTC) Received: from menubar.gnome.org ([127.0.0.1]) by localhost (menubar.gnome.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 19131-03 for ; Sun, 16 Jul 2006 15:36:37 +0000 (UTC) Received: from nf-out-0910.google.com (nf-out-0910.google.com [64.233.182.190]) by menubar.gnome.org (Postfix) with ESMTP id B082A3B0280 for ; Sun, 16 Jul 2006 15:36:36 +0000 (UTC) Received: by nf-out-0910.google.com with SMTP id l36so7888nfa for ; Sun, 16 Jul 2006 08:36:36 -0700 (PDT) Received: by 10.49.20.15 with SMTP id x15mr1210829nfi; Sun, 16 Jul 2006 08:36:35 -0700 (PDT) Received: by 10.48.221.17 with HTTP; Sun, 16 Jul 2006 08:36:35 -0700 (PDT) Message-ID: <9041cc4c0607160836u77a14461w772565019268e879@mail.gmail.com> Date: Sun, 16 Jul 2006 17:36:35 +0200 From: "AMAZIGH Aneglus" To: "Jamie McCracken" Subject: Re: What about the epiphany date server/bookmarks db In-Reply-To: <44B9FF23.20009@blueyonder.co.uk> MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline References: <44B9377A.6050004@blueyonder.co.uk> <9041cc4c0607151211j49cb5df7je4ea9ef725a050e5@mail.gmail.com> <9041cc4c0607151238md93a2dfr97e95582103712f3@mail.gmail.com> <44B9FF23.20009@blueyonder.co.uk> X-Virus-Scanned: by amavisd-new at gnome.org X-Spam-Status: No, score=-2.477 tagged_above=-999 required=2 tests=[AWL=-0.077, BAYES_00=-2.599, DNS_FROM_RFC_ABUSE=0.2, SPF_PASS=-0.001] X-Spam-Score: -2.477 X-Spam-Level: Cc: epiphany-list@gnome.org X-BeenThere: epiphany-list@gnome.org X-Mailman-Version: 2.1.8 Precedence: list List-Id: For developers and users of the Epiphany web browser List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 16 Jul 2006 15:36:38 -0000 > Not necessary - tracker can be used as a stand-alone metadata database > without any indexing (its lightweight enough). > So whether you prefer Beagle or simply dont want any indexing, tracker > can still fit the bill. Tracker will just manage the database, won't it ? Actually we will : - Build history, bookmarks database in/with Tracker - add a dbus interface to epiphany to request history and bookmarks. - add to Tracker a way to handle these requests > tracker will also be proposed for Gnome 2.18. Fine :). 1 year is too much! From chpe@gnome.org Mon Jul 17 19:36:57 2006 Return-Path: X-Original-To: epiphany-list@gnome.org Delivered-To: epiphany-list@gnome.org Received: from localhost (localhost.localdomain [127.0.0.1]) by menubar.gnome.org (Postfix) with ESMTP id E36B53B0087 for ; Mon, 17 Jul 2006 19:36:56 +0000 (UTC) Received: from menubar.gnome.org ([127.0.0.1]) by localhost (menubar.gnome.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 07617-04 for ; Mon, 17 Jul 2006 19:36:51 +0000 (UTC) Received: from wp043.webpack.hosteurope.de (wp043.webpack.hosteurope.de [80.237.132.50]) by menubar.gnome.org (Postfix) with ESMTP id A20463B02E3 for ; Mon, 17 Jul 2006 19:36:51 +0000 (UTC) Received: by wp043.webpack.hosteurope.de running Exim 4.43 using esmtpsa (TLSv1:RC4-MD5:128) from p54a5ac28.dip0.t-ipconnect.de ([84.165.172.40] helo=[192.168.0.4]) id 1G2Ytc-00055H-Op; Mon, 17 Jul 2006 21:36:48 +0200 Subject: Re: [RFC]: Patch to include epilicious in epiphany-extensions From: Christian Persch To: Magnus Therning In-Reply-To: <20060716221952.GB4093@die.therning.org> References: <20060716221952.GB4093@die.therning.org> Content-Type: text/plain; charset=UTF-8 Date: Mon, 17 Jul 2006 21:37:08 +0200 Message-Id: <1153165028.5160.2.camel@localhost.localdomain> Mime-Version: 1.0 X-Mailer: Evolution 2.6.1 Content-Transfer-Encoding: quoted-printable X-Virus-Scanned: by amavisd-new at gnome.org X-Spam-Status: No, score=-2.449 tagged_above=-999 required=2 tests=[AWL=-0.117, BAYES_00=-2.599, SUBJ_HAS_UNIQ_ID=0.19, TW_JH=0.077] X-Spam-Score: -2.449 X-Spam-Level: Cc: Epiphany List X-BeenThere: epiphany-list@gnome.org X-Mailman-Version: 2.1.8 Precedence: list List-Id: For developers and users of the Epiphany web browser List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 17 Jul 2006 19:36:57 -0000 Le dimanche 16 juillet 2006 =C3=A0 23:19 +0100, Magnus Therning a =C3=A9cri= t : > I've been looking into putting epilicious in epiphany-extensions (from > CVS). I haven't quite gotten so far as to trying it all out (building > stuff with jhbuild at the moment) but I thought that if I can get early > feedback on my attempt so far it would probably help a bit. >=20 > Anything obvious I've missed? >=20 Looks ok to me, except maybe this: epiliciousdir =3D $(EXTENSIONS_DIR) epiclicious_PYTHON =3D \ libepilicious/pydelicious.py \ [...] Why don't you place those files in the same source directory, and just install into the right place with epiliciousdir =3D $(EXTENSIONS_DIR)/libepilicious=20 ? Regards, Christian From magnus@therning.org Mon Jul 17 20:50:57 2006 Return-Path: X-Original-To: epiphany-list@gnome.org Delivered-To: epiphany-list@gnome.org Received: from localhost (localhost.localdomain [127.0.0.1]) by menubar.gnome.org (Postfix) with ESMTP id 28DBD3B000F for ; Mon, 17 Jul 2006 20:50:57 +0000 (UTC) Received: from menubar.gnome.org ([127.0.0.1]) by localhost (menubar.gnome.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 10611-10 for ; Mon, 17 Jul 2006 20:50:53 +0000 (UTC) Received: from nimue.merula.net (nimue.merula.net [217.146.97.10]) by menubar.gnome.org (Postfix) with ESMTP id 63BE03B0087 for ; Mon, 17 Jul 2006 20:50:49 +0000 (UTC) Received: from localhost.localdomain (adsl-217.146.112.238.merula.net [217.146.112.238] (may be forged)) by nimue.merula.net (8.12.11/8.12.9[Merula+Auth]) with ESMTP id k6HKoiTr010300 for ; Mon, 17 Jul 2006 21:50:44 +0100 Received: by localhost.localdomain (Postfix, from userid 1000) id 33A7527D8B4; Mon, 17 Jul 2006 21:50:39 +0100 (BST) Date: Mon, 17 Jul 2006 21:50:39 +0100 From: Magnus Therning To: epiphany-list@gnome.org Subject: Re: [RFC]: Patch to include epilicious in epiphany-extensions Message-ID: <20060717205038.GF4481@die.therning.org> References: <20060716221952.GB4093@die.therning.org> <1153165028.5160.2.camel@localhost.localdomain> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=SHA1; protocol="application/pgp-signature"; boundary="df+09Je9rNq3P+GE" Content-Disposition: inline In-Reply-To: <1153165028.5160.2.camel@localhost.localdomain> User-Agent: mutt-ng/devel-r796 (Debian) X-Virus-Scanned: by amavisd-new at gnome.org X-Spam-Status: No, score=-2.253 tagged_above=-999 required=2 tests=[AWL=-0.133, BAYES_00=-2.599, FORGED_RCVD_HELO=0.135, SUBJ_HAS_UNIQ_ID=0.19, TW_GT=0.077, TW_JH=0.077] X-Spam-Score: -2.253 X-Spam-Level: X-Mailman-Approved-At: Mon, 17 Jul 2006 21:50:23 +0000 X-BeenThere: epiphany-list@gnome.org X-Mailman-Version: 2.1.8 Precedence: list List-Id: For developers and users of the Epiphany web browser List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 17 Jul 2006 20:50:57 -0000 --df+09Je9rNq3P+GE Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Mon, Jul 17, 2006 at 21:37:08 +0200, Christian Persch wrote: >Le dimanche 16 juillet 2006 =E0 23:19 +0100, Magnus Therning a =E9crit : >> I've been looking into putting epilicious in epiphany-extensions (from >> CVS). I haven't quite gotten so far as to trying it all out (building >> stuff with jhbuild at the moment) but I thought that if I can get early >> feedback on my attempt so far it would probably help a bit. >>=20 >> Anything obvious I've missed? >>=20 > >Looks ok to me, except maybe this: > >epiliciousdir =3D $(EXTENSIONS_DIR) >epiclicious_PYTHON =3D \ > libepilicious/pydelicious.py \ >[...] > >Why don't you place those files in the same source directory, and just >install into the right place with > >epiliciousdir =3D $(EXTENSIONS_DIR)/libepilicious=20 > >? No good reason not to do it :-) Here's the full patch. Still untested :-( diff -NuPr epiphany-extensions_orig/configure.ac epiphany-extensions/config= ure.ac --- epiphany-extensions_orig/configure.ac 2006-07-12 22:16:38.000000000 +01= 00 +++ epiphany-extensions/configure.ac 2006-07-16 22:51:28.000000000 +0100 @@ -156,7 +156,7 @@ USEFUL_EXTENSIONS=3D"actions auto-reload auto-scroller certificates error-= viewer extensions-manager-ui gestures java-console page-info push-scroller = select-stylesheet sidebar smart-bookmarks tab-groups tab-states" DEFAULT_EXTENSIONS=3D"actions auto-scroller certificates error-viewer exte= nsions-manager-ui gestures java-console page-info push-scroller select-styl= esheet sidebar smart-bookmarks tab-groups tab-states" =20 -PYTHON_ALL_EXTENSIONS=3D"python-console sample-python favicon" +PYTHON_ALL_EXTENSIONS=3D"python-console sample-python epilicious favicon" PYTHON_USEFUL_EXTENSIONS=3D"python-console favicon" PYTHON_DEFAULT_EXTENSIONS=3D"python-console favicon" =20 @@ -342,6 +342,7 @@ extensions/auto-scroller/Makefile extensions/certificates/Makefile extensions/dashboard/Makefile +extensions/epilicious/Makefile extensions/gestures/Makefile extensions/error-viewer/Makefile extensions/error-viewer/mozilla/Makefile diff -NuPr epiphany-extensions_orig/extensions/epilicious/BaseStore.py epip= hany-extensions/extensions/epilicious/BaseStore.py --- epiphany-extensions_orig/extensions/epilicious/BaseStore.py 1970-01-01 = 01:00:00.000000000 +0100 +++ epiphany-extensions/extensions/epilicious/BaseStore.py 2006-07-05 22:39= :30.000000000 +0100 @@ -0,0 +1,49 @@ +# Copyright (C) 2005 by Magnus Therning + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +class BaseStore: + '''The base of all stores. Never to be instantiated.''' + + def get_snapshot(self): + '''Calculates a snapshot of the store's bookmarks. + + The format of the snapshot is:: + { : [ , [tag, tag, ...]], + : [ , [*]], + ... } + + @return: the snapshot + ''' + pass + + + def url_delete(self, url): + '''Deletes a URL form the store. + + @type url: string + @param url: URL to delete + ''' + pass + + + def url_sync(self, url, desc, to_del, to_add): + '''Synchronises a URL's tags. The URL is added if it doesn't exist. + + @param url: The URL + @param to_del: Set of tags to delete + @param to_add: Set of tags to add + ''' + pass diff -NuPr epiphany-extensions_orig/extensions/epilicious/DeliciousStore.py= epiphany-extensions/extensions/epilicious/DeliciousStore.py --- epiphany-extensions_orig/extensions/epilicious/DeliciousStore.py 1970-0= 1-01 01:00:00.000000000 +0100 +++ epiphany-extensions/extensions/epilicious/DeliciousStore.py 2006-07-05 = 22:39:30.000000000 +0100 @@ -0,0 +1,96 @@ +# Copyright (C) 2005 by Magnus Therning + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +from urllib2 import URLError +from sets import Set +import pydelicious as delicious +import libepilicious +from libepilicious.BaseStore import BaseStore + + +class DeliciousStore(BaseStore): + '''The class representing the storage of Delicious bookmarks.''' + + def __init__(self, user, pwd, space_repl): + '''Constructor. + + @param user: Delicious username + @param pwd: Delicious password + @param space_repl: Character that replaces space + ''' + self.__un =3D user + self.__pwd =3D pwd + self.__sr =3D space_repl + self.__d =3D delicious.apiNew(user, pwd) + self.__snap_utd =3D 0 + + def get_snapshot(self): + '''Calculates a snapshot of the del.icio.us bookmarks. + + @note: L{BaseStore.get_snapshot} documents the format of the return + value. + ''' + if self.__snap_utd: + return self.__snap + all =3D self.__d.posts_all() + res =3D {} + for p in all: + # Delicious prepends "dangerous" links + if p['href'][:33] =3D=3D 'http://del.icio.us/doc/dangerous#': + url =3D p['href'][33:] + else: + url =3D p['href'] + res[url] =3D [p['description'], \ + [t.replace(self.__sr, ' ') for t in p['tags'].split(' = ')]] + + self.__snap =3D res + self.__snap_utd =3D 1 + return res + + def url_delete(self, url): + '''Deletes a URL from the storage. + + @param url: The URL to delete + ''' + # Delicious prepends "dangerous" links + if url[:7] =3D=3D 'file://': + url =3D 'http://del.icio.us/doc/dangerous#' + url + try: + self.__d.posts_delete(url) + self.__snap_utd =3D 0 + except: + libepilicious.get_logger().exception('Failed to delete URL %s'= % url) + + def url_sync(self, url, desc, to_del, to_add): + '''Synchronises a URL's tags. The URL is added if it doesn't exist. + + @param url: The URL + @param to_del: Set of tags to delete + @param to_add: Set of tags to add + ''' + if to_del or to_add: + snap =3D self.get_snapshot() + if snap.has_key(url): + tags =3D (Set(snap[url][1]) | to_add) - to_del + else: + tags =3D to_add + tag_str =3D ' '.join([t.replace(' ', self.__sr) for t in tags]) + try: + self.__d.posts_add(url, description=3Ddesc, \ + tags=3Dtag_str, replace=3D'yes') + self.__snap_utd =3D 0 + except: + libepilicious.get_logger().exception('Failed to synchronis= e URL %s' % url) diff -NuPr epiphany-extensions_orig/extensions/epilicious/epilicious.ephy-e= xtension epiphany-extensions/extensions/epilicious/epilicious.ephy-extension --- epiphany-extensions_orig/extensions/epilicious/epilicious.ephy-extensio= n 1970-01-01 01:00:00.000000000 +0100 +++ epiphany-extensions/extensions/epilicious/epilicious.ephy-extension 200= 6-07-06 23:39:56.000000000 +0100 @@ -0,0 +1,9 @@ +[Epiphany Extension] +Version=3D1 +Name=3DEpilicious +Authors=3DMagnus Therning ; +URL=3Dhttp://therning.org/magnus/epilicious + +[Loader] +Type=3Dpython +Module=3Depilicious diff -NuPr epiphany-extensions_orig/extensions/epilicious/epilicious.py.in = epiphany-extensions/extensions/epilicious/epilicious.py.in --- epiphany-extensions_orig/extensions/epilicious/epilicious.py.in 1970-01= -01 01:00:00.000000000 +0100 +++ epiphany-extensions/extensions/epilicious/epilicious.py.in 2006-07-16 2= 3:01:10.000000000 +0100 @@ -0,0 +1,212 @@ +# Copyright (C) 2005 by Magnus Therning + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +import gtk +import gconf +import gobject +import sys, os, os.path + +sys.path.append('%EXTENSION_DIR%') + +import libepilicious +libepilicious.LOCATION =3D '%EXTENSION_DIR%' + +# localization +import gettext +try: + t =3D gettext.translation('epilicious') + _ =3D t.ugettext +except Exception, e: + _ =3D lambda x : x + +## Globals ## +username =3D '' +password =3D '' +keyword =3D '' +exclude =3D False +space_repl =3D '' + +## Configuration ## +_gconf_dir =3D '/apps/epiphany/extensions/epilicious' +_gconf_un =3D '/apps/epiphany/extensions/epilicious/username' +_gconf_pwd =3D '/apps/epiphany/extensions/epilicious/password' +_gconf_kw =3D '/apps/epiphany/extensions/epilicious/keyword' +_gconf_excl =3D '/apps/epiphany/extensions/epilicious/exclude' + +def _new_un(client, *args, **kwargs): + '''Callback to handle the username is modified in GConf.''' + global username + username =3D client.get_string(_gconf_un) + +def _new_pwd(client, *args, **kwargs): + '''Callback to handle the password is modified in GConf.''' + global password + password =3D client.get_string(_gconf_pwd) + +def _new_keyword(client, *args, **kwargs): + '''Callback to handle the keyword is modified in GConf.''' + global keyword + keyword =3D client.get_string(_gconf_kw) + +def _new_exclude(client, *args, **kwargs): + '''Callback to handle the exclude is modified in GConf.''' + global exclude + exclude =3D client.get_bool(_gconf_excl) + +def _gconf_register(): + '''Sets up the GConf callbacks.''' + global keyword, exclude, space_repl + + # hard coded for now + space_repl =3D '#' + + client =3D gconf.client_get_default() + client.add_dir(_gconf_dir, gconf.CLIENT_PRELOAD_NONE) + client.notify_add(_gconf_un, _new_un) + client.notify_add(_gconf_pwd, _new_pwd) + client.notify_add(_gconf_kw, _new_keyword) + client.notify_add(_gconf_excl, _new_exclude) + _new_un(client) + _new_pwd(client) + _new_keyword(client) + _new_exclude(client) + +_gconf_register() + +## Synchronisation ## +def _CB_Sync(action, window): + # Using gobject.idle_add() together with a generator is much easier th= an + # getting threading to work properly. It doesn't make the GUI very + # responsive during del.icio.us calls, but it's better than nothing. + libepilicious.get_logger().info('Starting sync') + sync_gen =3D _do_sync() + gobject.idle_add(sync_gen.next) + libepilicious.get_logger().info('Sync done') + +def _do_sync(): + '''Perform the synchronisation. + + This is the method called from the menu item added in epiphany. The + algorithm is as follows: + + 1. Read the base snapshot (L{libepilicious.get_old}) + 2. Create remote storage representation (L{libepilicious.DeliciousStor= e}) + 3. Create local storage representation (L{libepilicious.EpiphanyStore}) + 4. Remove URLs (L{libepilicous.remove_urls}) + 5. Add new URLs and synchronise tags (L{libepilicous.sync_tags_on_urls= }) + 6. Save a local snapshot as a base for the next synchronisation + (L{libepilicious.save_snapshot}) + + Any errors that occur are logged. + ''' + try: + from libepilicious import * + from libepilicious.progress import ProgressBar + from libepilicious.DeliciousStore import DeliciousStore + from libepilicious.EpiphanyStore import EpiphanyStore + + pbar =3D ProgressBar() + pbar.show() + stepper =3D pbar.step() + + remote_store =3D DeliciousStore(user =3D username, pwd =3D passwor= d, \ + space_repl =3D space_repl) + local_store =3D EpiphanyStore(keyword =3D keyword, exclude =3D exc= lude) + stepper.next() + old =3D get_old() + yield True + stepper.next() + remote =3D remote_store.get_snapshot() + yield True + stepper.next() + local =3D local_store.get_snapshot() + yield True + stepper.next() + + # Synchronize URLs + remove_urls(old =3D old, + remote =3D remote, + local =3D local, + rem_store =3D remote_store, + loc_store =3D local_store) + yield True + stepper.next() + + purls =3D calculate_pertinent_urls(old =3D old, + remote =3D remote, local =3D local) + sync_tags_on_urls(purls =3D purls, + old =3D old, + remote =3D remote, + local =3D local, + rem_store =3D remote_store, + loc_store =3D local_store) + yield True + stepper.next() + + # Save the current state for future sync + save_snapshot(local_store.get_snapshot()) + yield True + stepper.next() + yield False + except StopIteration, e: + libepilicious.get_logger().exception('Too many calls to stepper.ne= xt()') + except: + libepilicious.get_logger().exception('Failed sync') + + +## Epiphany integration ## + +_menu_ui =3D ''' + + + + + + + + + +''' % (_('Epilicious Synchronize')) + +_actions =3D [ \ + ('EpiliciousSync', None, _('Epilicious Synchronize'), + None, None, _CB_Sync), \ + ] + +# Epiphany extension interface +def attach_window(window): + try: + ui_manager =3D window.get_ui_manager() + group =3D gtk.ActionGroup('My Menu') + group.add_actions(_actions, window) + ui_manager.insert_action_group(group, 0) + ui_id =3D ui_manager.add_ui_from_string(_menu_ui) + + window._my_menu_data =3D (group, ui_id) + except Exception, e: + libepilicious.get_logger().exception('Failed attach') + +def detach_window(window): + try: + group, ui_id =3D window._my_menu_data + del window._my_menu_data + + ui_manager =3D window.get_ui_manager() + ui_manager.remove_ui(ui_id) + ui_manager.remove_action_group(group) + ui_manager.ensure_update() + except Exception, e: + libepilicious.get_logger().exception('Failed detach') diff -NuPr epiphany-extensions_orig/extensions/epilicious/epilicious.schema= s.in epiphany-extensions/extensions/epilicious/epilicious.schemas.in --- epiphany-extensions_orig/extensions/epilicious/epilicious.schemas.in 19= 70-01-01 01:00:00.000000000 +0100 +++ epiphany-extensions/extensions/epilicious/epilicious.schemas.in 2006-07= -05 22:39:30.000000000 +0100 @@ -0,0 +1,60 @@ + + + + + /schemas/apps/epiphany/extensions/epilicious/username + /apps/epiphany/extensions/epilicious/username + epiphany + string + + + del.icio.us username + The del.icio.us username that epilicious will use for + synchronizing bookmarks. + + + + + /schemas/apps/epiphany/extensions/epilicious/password + /apps/epiphany/extensions/epilicious/password + epiphany + string + + + del.icio.us password + The del.icio.us password that epilicious will use for + synchronizing bookmarks. + + + + + /schemas/apps/epiphany/extensions/epilicious/keyword + /apps/epiphany/extensions/epilicious/keyword + epiphany + string + EpiliciousShare + + Shared topic + Bookmarks with this topic will be synchronized to + del.icio.us. + + + + + /schemas/apps/epiphany/extensions/epilicious/exclude + /apps/epiphany/extensions/epilicious/exclude + epiphany + bool + false + + Exclude topic + Controls the function of the topic. If this is unset then all + bookmarks with the topic will be synched with del.icio.us. If th= is + is set then all bookmarks without the topic will be synched with + del.icio.us. + + + + + + diff -NuPr epiphany-extensions_orig/extensions/epilicious/EpiphanyStore.py = epiphany-extensions/extensions/epilicious/EpiphanyStore.py --- epiphany-extensions_orig/extensions/epilicious/EpiphanyStore.py 1970-01= -01 01:00:00.000000000 +0100 +++ epiphany-extensions/extensions/epilicious/EpiphanyStore.py 2006-07-05 2= 2:39:30.000000000 +0100 @@ -0,0 +1,130 @@ +# Copyright (C) 2005 by Magnus Therning + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +from sets import Set +import epiphany +import libepilicious +from libepilicious.BaseStore import BaseStore + + +class EpiphanyStore(BaseStore): + + def __init__(self, keyword =3D None, exclude =3D False): + # TODO: add a check for the priority of the keyword and set it to = 0, at + # the moment it's not possible since there's no method for it + # (ephy_node_set_property() isn't in the Python API) + self.__kw =3D keyword + self.__excl =3D exclude + + self.__bms =3D epiphany.ephy_shell_get_default().get_bookmarks() + if not self.__bms.find_keyword(self.__kw, False): + self.__bms.add_keyword(self.__kw) + + def __get_all_shared_bookmarks(self): + # Return all shared bookmarks + # Two possibilities: + # 1. Take all bookmarks we have and remove the ones in __kw + # 2. All bookmarks are in __kw + key =3D self.__bms.find_keyword(self.__kw, False) + if self.__excl: + tmp =3D self.__bms.get_bookmarks().get_children() + res =3D [] + for b in tmp: + if not self.__bms.has_keyword(key, b): + res.append(b) + return res + else: + return key.get_children() + + def __get_all_keywords(self): + # Return a list containing all interesting keywords. All special + # keywords (priority=3D=3D1) and 'All' (id=3D=3D0) are uninteresti= ng. + kw_node =3D self.__bms.find_keyword(self.__kw, False) + return [kw for kw in self.__bms.get_keywords().get_children() \ + if kw.get_id() !=3D 0 and \ + kw.get_property_int(epiphany.NODE_KEYWORD_PROP_PRIORITY) != =3D 1 and \ + kw !=3D kw_node] + + def get_snapshot(self): + '''Calculates a snapshot of the Epiphany bookmarks. + + @note: L{BaseStore.get_snapshot} documents the format of the return + value. + ''' + all_shared_bms =3D self.__get_all_shared_bookmarks() + all_keywords =3D self.__get_all_keywords() + + res =3D {} + for bm in all_shared_bms: + res[bm.get_property_string(epiphany.NODE_BMK_PROP_LOCATION)] = =3D \ + [bm.get_property_string(epiphany.NODE_BMK_PROP_TITLE)] + keywords =3D [] + for key in all_keywords: + if self.__bms.has_keyword(key, bm): + keywords.append(key.get_property_string(epiphany.NODE_= KEYWORD_PROP_NAME)) + res[bm.get_property_string(epiphany.NODE_BMK_PROP_LOCATION)].a= ppend(keywords) + + return res + + def url_delete(self, url): + '''Delete a bookmark. + + :type url: string + :param url: The URL of the bookmark + ''' + # This is brute force. It seems the easiest way of removing a book= mark + # is by removing every keyword there is from it. + bm =3D self.__bms.find_bookmark(url) + if bm: + for kw in self.__bms.get_keywords().get_children(): + self.__bms.unset_keyword(kw, bm) + + def url_sync(self, url, desc, to_del, to_add): + '''Synchronise a bookmark. + + The bookmark with the given URL is created if needed and its keywo= rds + are adjusted. + + :type url: string + :param url: The URL of the bookmark + :type desc: string + :param desc: One-line description of the bookmark + :type to_del: list + :param to_del: The keywords (as strings) to delete from the bookma= rk + :type to_add: list + :param to_add: The keywords (as strings) to add to the bookmark + ''' + bm =3D self.__bms.find_bookmark(url) + sharekw =3D self.__bms.find_keyword(self.__kw, False) + if not bm: + bm =3D self.__bms.add(desc, url) + + if self.__excl: + if self.__bms.has_keyword(sharekw, bm): + self.__bms.unset_keyword(sharekw, bm) + else: + if not self.__bms.has_keyword(sharekw, bm): + self.__bms.set_keyword(sharekw, bm) + + for k in to_del: + kw =3D self.__bms.find_keyword(k, False) + self.__bms.unset_keyword(kw, bm) + + for k in to_add: + kw =3D self.__bms.find_keyword(k, False) + if not kw: + kw =3D self.__bms.add_keyword(k) + self.__bms.set_keyword(kw, bm) diff -NuPr epiphany-extensions_orig/extensions/epilicious/__init__.py epiph= any-extensions/extensions/epilicious/__init__.py --- epiphany-extensions_orig/extensions/epilicious/__init__.py 1970-01-01 0= 1:00:00.000000000 +0100 +++ epiphany-extensions/extensions/epilicious/__init__.py 2006-07-06 23:12:= 07.000000000 +0100 @@ -0,0 +1,156 @@ +# Copyright (C) 2005 by Magnus Therning + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +from sets import Set +import pickle +import os, os.path +import time + +# Nice to have for debugging +logger =3D None +def get_logger(): + '''Create and return a file logger. + + The file used for logging is ~/.epilicious.log. + + @return: a file logger + ''' + import logging + global logger + + if logger: + return logger + + logger =3D logging.getLogger('epilicious') + hdlr =3D logging.FileHandler(os.path.join(os.environ['HOME'], '.epilic= ious.log')) + formatter =3D logging.Formatter('%(asctime)s %(levelname)s %(message)s= ') + hdlr.setFormatter(formatter) + logger.addHandler(hdlr) + logger.setLevel(logging.ERROR) + return logger + +_file_name =3D os.path.join(os.environ['HOME'], '.gnome2', \ + 'epiphany', 'epilicious_old') + +def get_old(): + '''Read the base snapshot. + + The base snapshot is read from ~/.gnome2/epiphany/epilicoius_old. + + @return: the base snapshot (an empty dictionary if none exists) + ''' + res =3D {} + try: + f =3D open(_file_name, 'r') + res =3D pickle.load(f) + f.close() + except IOError, e: + res =3D {} + return res + +def save_snapshot(snap): + '''Save a snapshot for future synchronisations. + + The base snapshot is written to ~/.gnome2/epiphany/epilicoius_old. + + @param snap: The snapshot + ''' + f =3D open(_file_name, 'w+') + pickle.dump(snap, f) + f.close() + +def remove_urls(old, remote, local, rem_store, loc_store): + '''Remove URL from local and remote storage. + + @param old: The base snapshot + @param remote: The remote snapshot + @param local: The local snapshot + @param rem_store: The remote storage (L{DeliciousStore}) + @param loc_store: The local storage (L{EpiphanyStore}) + ''' + o =3D Set(old.keys()) + r =3D Set(remote.keys()) + l =3D Set(local.keys()) + for url in o - l: + rem_store.url_delete(url) + for url in o - r: + loc_store.url_delete(url) + +def calculate_pertinent_urls(old, remote, local): + '''Calculate the interesting set of URLs. + + The URLs returned are local URLs minus the URLs that were removed remo= tely + plus the URLs that were added remotely. + + >>> o =3D {2:'',4:'',6:'',8:'',0:''} + >>> r =3D {2:'',4:'',6:'',8:'',1:''} + >>> l =3D {2:'',3:'',6:'',8:'',0:''} + >>> res =3D calculate_pertinent_urls(o, r, l); res.sort(); res + [1, 2, 3, 6, 8] + + @param old: The base snapshot + @param remote: The remote snapshot + @param local: The local snapshot + @return: a list of URLs + ''' + o =3D Set(old.keys()) + r =3D Set(remote.keys()) + l =3D Set(local.keys()) + + return list((l - (o - r)) | (r - o)) + +def _get_tags(url, old, rem, loc): + '''Get the tags and the description for a URL in all three locations. + + @param url: The URL to get tags for + @param old: The base snapshot + @param rem: The remote (Del.icio.us) snapshot + @param loc: The local (Epiphany) snapshot + @return: a tuple of description and lists of tags found in C{old}, C{r= em}, + and C{loc}. + ''' + try: + otags =3D Set(old[url][1]) + desc =3D old[url][0] + except: + otags =3D Set() + try: + rtags =3D Set(rem[url][1]) + desc =3D rem[url][0] + except: + rtags =3D Set() + try: + ltags =3D Set(loc[url][1]) + desc =3D loc[url][0] + except: + ltags =3D Set() + return desc, otags, rtags, ltags + +def sync_tags_on_urls(purls, old, remote, \ + local, rem_store, loc_store): + '''Synchronise tags on URLs, and add URLs that don't exist. + + @param purls: The list of URLs to synchronise + @param old: The base snapshot + @param remote: The remote snapshot + @param local: The local snapshot + @param rem_store: The remote storage (L{DeliciousStore}) + @param loc_store: The local storage (L{EpiphanyStore}) + ''' + for url in purls: + desc, otags, rtags, ltags =3D _get_tags(url, old, remote, local) + rem_store.url_sync(url, desc, otags - ltags, ltags - otags) + loc_store.url_sync(url, desc, otags - rtags, rtags - otags) diff -NuPr epiphany-extensions_orig/extensions/epilicious/Makefile.am epiph= any-extensions/extensions/epilicious/Makefile.am --- epiphany-extensions_orig/extensions/epilicious/Makefile.am 1970-01-01 0= 1:00:00.000000000 +0100 +++ epiphany-extensions/extensions/epilicious/Makefile.am 2006-07-17 21:41:= 32.000000000 +0100 @@ -0,0 +1,43 @@ +epiliciousdir =3D $(EXTENSIONS_DIR) +epiliciouslibdir =3D $(EXTENSIONS_DIR)/libepilicious +epiclicious_PYTHON =3D \ + epilicious.py +epiliciouslib_PYTHON =3D \ + pydelicious.py \ + progress.py \ + __init__.py \ + EpiphanyStore.py \ + DeliciousStore.py \ + BaseStore.py + +gladedir =3D $(pkgdatadir)/glade +glade_DATA =3D \ + progress.glade + +schemadir =3D $(GCONF_SCHEMA_FILE_DIR) +schema_DATA =3D epilicious.schemas + +extensioninidir =3D $(extensiondir) +extensionini_DATA =3D epilicious.ephy-extension + +epilicious.py : epilicious.py.in + sed -e "s|%EXTENSION_DIR%|$(extensiondir)|" $< > $@ + +# ??? @INTLTOOL_SCHEMAS_RULE@ +@EPIPHANY_EXTENSION_RULE@ + +install-data-local: $(schema_DATA) +if GCONF_SCHEMAS_INSTALL + if test -z "$(DESTDIR)" ; then \ + for p in $^ ; do \ + GCONF_CONFIG_SOURCE=3D$(GCONF_SCHEMA_CONFIG_SOURCE) \ + $(GCONFTOOL) --makefile-install-rule $$p >&1 > /dev/null; \ + done \ + fi +endif + +CLEANFILES =3D +DISTCLEANFILES =3D epilicious.py + +EXTRA_DIST =3D $(glade_DATA) $(schema_DATA) $(extensionini_DATA) \ + epilicious.py.in epilicious.schemas.in Binary files epiphany-extensions_orig/extensions/epilicious/.Makefile.am.sw= p and epiphany-extensions/extensions/epilicious/.Makefile.am.swp differ diff -NuPr epiphany-extensions_orig/extensions/epilicious/progress.glade ep= iphany-extensions/extensions/epilicious/progress.glade --- epiphany-extensions_orig/extensions/epilicious/progress.glade 1970-01-0= 1 01:00:00.000000000 +0100 +++ epiphany-extensions/extensions/epilicious/progress.glade 2006-07-05 22:= 39:30.000000000 +0100 @@ -0,0 +1,399 @@ + + + + + + + True + Synchronizing... + GTK_WINDOW_TOPLEVEL + GTK_WIN_POS_NONE + False + False + False + True + False + False + GDK_WINDOW_TYPE_HINT_DIALOG + GDK_GRAVITY_NORTH_WEST + True + False + True + + + + True + False + 0 + + + + True + GTK_BUTTONBOX_END + + + + True + False + True + True + gtk-close + True + GTK_RELIEF_NORMAL + True + -7 + + + + + + 0 + False + True + GTK_PACK_END + + + + + + True + False + 0 + + + + True + <b>Synchronizin= g with del.icio.us</b> + False + True + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 3 + 3 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 0 + False + False + + + + + + True + 6 + 2 + False + 0 + 0 + + + + True + Retrieving previous sync= h point + False + False + GTK_JUSTIFY_LEFT + False + False + 0 + 0.5 + 3 + 3 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 1 + 2 + 0 + 1 + fill + + + + + + + True + Retrieving bookmarks fro= m del.icio.us + False + False + GTK_JUSTIFY_LEFT + False + False + 0 + 0.5 + 3 + 3 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 1 + 2 + 1 + 2 + fill + + + + + + + True + Retrieving bookmarks fro= m epiphany + False + False + GTK_JUSTIFY_LEFT + False + False + 0 + 0.5 + 3 + 3 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 1 + 2 + 2 + 3 + fill + + + + + + + True + Removing deleted bookmar= ks + False + False + GTK_JUSTIFY_LEFT + False + False + 0 + 0.5 + 3 + 3 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 1 + 2 + 3 + 4 + fill + + + + + + + True + Adding new bookmarks and= synching topics + False + False + GTK_JUSTIFY_LEFT + False + False + 0 + 0.5 + 3 + 3 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 1 + 2 + 4 + 5 + fill + + + + + + + True + Saving new synch point + False + False + GTK_JUSTIFY_LEFT + False + False + 0 + 0.5 + 3 + 3 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 1 + 2 + 5 + 6 + fill + + + + + + + 4 + gtk-execute + 0.5 + 0.5 + 3 + 3 + + + 0 + 1 + 0 + 1 + fill + + + + + + 4 + gtk-execute + 0.5 + 0.5 + 3 + 3 + + + 0 + 1 + 1 + 2 + fill + fill + + + + + + 4 + gtk-execute + 0.5 + 0.5 + 3 + 3 + + + 0 + 1 + 2 + 3 + fill + fill + + + + + + 4 + gtk-execute + 0.5 + 0.5 + 3 + 3 + + + 0 + 1 + 3 + 4 + fill + fill + + + + + + 4 + gtk-execute + 0.5 + 0.5 + 3 + 3 + + + 0 + 1 + 4 + 5 + fill + fill + + + + + + 1 + gtk-execute + 0.5 + 0.5 + 3 + 3 + + + 0 + 1 + 5 + 6 + fill + fill + + + + + 0 + True + True + + + + + + + + + 0 + True + True + + + + + + + diff -NuPr epiphany-extensions_orig/extensions/epilicious/progress.py epiph= any-extensions/extensions/epilicious/progress.py --- epiphany-extensions_orig/extensions/epilicious/progress.py 1970-01-01 0= 1:00:00.000000000 +0100 +++ epiphany-extensions/extensions/epilicious/progress.py 2006-07-05 22:39:= 30.000000000 +0100 @@ -0,0 +1,53 @@ +# Copyright (C) 2006 by Magnus Therning + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +import libepilicious +import gtk, gtk.glade +import os.path + +class ProgressBar: + + def __init__(self): + self.gui =3D gtk.glade.XML(os.path.join(libepilicious.LOCATION, \ + 'libepilicious', 'progress.glade')) + self.gui.signal_autoconnect(self) + + self.dlg =3D self.gui.get_widget('dlgProgress') + + def show(self): + self.dlg.show() + + def hide(self): + self.dlg.hide() + + def step(self): + images =3D ['imgStep1', 'imgStep2', 'imgStep3', 'imgStep4', 'imgSt= ep5', 'imgStep6',] + for i in images: + img =3D self.gui.get_widget(i) + img.show() + while gtk.events_pending(): + gtk.main_iteration() + yield True + img.set_from_icon_name('gtk-apply', gtk.ICON_SIZE_MENU) + self.gui.get_widget('btnClose').set_sensitive(True) + while gtk.events_pending(): + gtk.main_iteration() + yield True + + ### signal handlers + def on_btnClose_clicked(self, widget): + self.hide() + del(self) diff -NuPr epiphany-extensions_orig/extensions/epilicious/pydelicious-licen= se.txt epiphany-extensions/extensions/epilicious/pydelicious-license.txt --- epiphany-extensions_orig/extensions/epilicious/pydelicious-license.txt = 1970-01-01 01:00:00.000000000 +0100 +++ epiphany-extensions/extensions/epilicious/pydelicious-license.txt 2006-= 07-05 22:39:30.000000000 +0100 @@ -0,0 +1,10 @@ +Copyright (c) 2006, Frank Timmermann +All rights reserved. + +Redistribution and use in source and binary forms, with or without modific= ation, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notic= e, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright no= tice, this list of conditions and the following disclaimer in the documenta= tion and/or other materials provided with the distribution. + * Neither the name Frank Timmermann, developer team of pydelicious nor= the names of its contributors may be used to endorse or promote products d= erived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS= " AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE= IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE= ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE L= IABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUE= NTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOO= DS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HO= WEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LI= ABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT= OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DA= MAGE. diff -NuPr epiphany-extensions_orig/extensions/epilicious/pydelicious.py ep= iphany-extensions/extensions/epilicious/pydelicious.py --- epiphany-extensions_orig/extensions/epilicious/pydelicious.py 1970-01-0= 1 01:00:00.000000000 +0100 +++ epiphany-extensions/extensions/epilicious/pydelicious.py 2006-07-06 23:= 11:30.000000000 +0100 @@ -0,0 +1,507 @@ +#!/usr/bin/env python +# -*- coding: iso-8859-1 -*- +"""Library to access del.icio.us via python. + +This module helps you to ... + +get() +a =3D apiNew() +a.tags.get +a.tags.rename +a.posts.get +""" + + +## +# License: pydelicious is released under the bsd license. +# See 'license.txt' for more informations. +# + +## +# TODO fuer pydelicious.py +# * die dokumentation aller docs muss noch geschehen +# * dokumentation +# * welche lizense benutze ich +# * lizense einbinden und auch via setup.py verteilen +# * readme auch schreiben und via setup.py verteilen +# * mehr tests +# * auch die funktion von setup.py testen? +# * auch auf anderen systemen testen (linux -> uni) +# * automatisch releases bauen lassen, richtig benennen und in das +# richtige verzeichnis verschieben. +# * was k=F6nnen die anderen librarys denn noch so? (ruby, java, perl, et= c) +# * was wollen die, die es benutzen? +# * wof=FCr k=F6nnte ich es benutzen? +# * entschlacken? +# +# realy? +# * date object von del.icio.us muss ich noch implementieren +# +# done! +# * stimmt das so? muss eher noch t=E4g str2utf8 konvertieren +# >>> pydelicious.getrss(tag=3D"t=E4g") +# url: http://del.icio.us/rss/tag/t=E4g +# * requester muss eine sekunde warten +# * __init__.py gibt die funktionen weiter +# * html parser funktioniert noch nicht, gar nicht +# * alte funktionen fehlen, get_posts_by_url, etc. +# * post funktion erstellen, die auch die fehlenden attribs addiert. +# * die api muss ich noch weiter machen +# * requester muss die 503er abfangen +# * rss parser muss auf viele m=F6glichkeiten angepasst werden + + +import re, md5, httplib +import urllib, urllib2, time +# import datetime, +import StringIO + +# this is new # +# this relays on an external library, will probably be kept # +import sys +import os + +# !!! zweiter Versuch funzt nur auf linux rechner in der uni - +# ersteres auch auf win32, doof. +# [MT] this is how it works on Debian Sid! +from elementtree.ElementTree import parse +import feedparser + +# Taken from FeedParser.py +# timeoutsocket allows feedparser to time out rather than hang forever on = ultra-slow servers. +# Python 2.3 now has this functionality available in the standard socket l= ibrary, so under +# 2.3 you don't need to install anything. But you probably should anyway,= because the socket +# module is buggy and timeoutsocket is better. +try: + import timeoutsocket # http://www.timo-tasi.org/python/timeoutsocket.py + timeoutsocket.setDefaultSocketTimeout(20) +except ImportError: + import socket + if hasattr(socket, 'setdefaulttimeout'): socket.setdefaulttimeout(20) + +# some basic settings +VERSION =3D '0.3.2' +AUTHOR =3D 'Frank Timmermann' +AUTHOR_EMAIL =3D 'regenkind_at_gmx_dot_de' +PROJECT_URL =3D 'http://deliciouspython.python-hosting.com/' +# das folgende ist mit python 2.2.3 nicht erlaubt. :( +CONTACT =3D '%(URL)s or %(email)s'%dict(URL =3D PROJECT_URL, email =3D AUT= HOR_EMAIL) +DESCRIPTION =3D '''pydelicious.py allows you to access the web service of = del.icio.us via it's API through python.''' +LONG_DESCRIPTION =3D '''the goal is to design an easy to use and fully fun= ctional python interface to +del.icio.us. ''' +DWS_HOSTNAME =3D 'http://del.icio.us/' +DWS_HOSTNAME_RSS =3D 'http://del.icio.us/rss/' +DWS_REALM =3D 'del.icio.us API' +DWS_API =3D 'http://del.icio.us/api/' +USER_AGENT =3D 'pydelicious.py/%(version)s %(contact)s' % dict(version =3D= VERSION, contact =3D CONTACT) + +LAST_CALL =3D 0 +DEBUG =3D 0 + +delicious_date_pattern =3D re.compile("[1,2][0-9]{3}-[0-2][0-9]-[0-3][0-9= ]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9]Z") + + +# Helper Funktion +def str2uni(s): + # type(in) str or unicode + # type(out) unicode + return ("".join([unichr(ord(i)) for i in s])) + + +def str2utf8(s): + # type(in) str or unicode + # type(out) str + return ("".join([unichr(ord(i)).encode("utf-8") for i in s])) + + +def str2quote(s): + return urllib.quote_plus("".join([unichr(ord(i)).encode("utf-8") for i= in s])) + + +def dict0(d): + # {'a':'a', 'b':'', 'c': 'c'} =3D> {'a': 'a', 'c': 'c'} + dd =3D dict() + for i in d: + if d[i] !=3D "": dd[i] =3D d[i] + return dd + + +class Waiter: + + def __init__(self, t =3D 0, sleeptime =3D 1): + self.t=3Dt + self.sleeptime =3D sleeptime + self.waitcommand =3D 0 + self.waited =3D 0 + + def wait(self, t=3DNone): + self.waitcommand +=3D 1 + if t =3D=3D None: t =3D time.time() + if DEBUG: print "Waiter:",t-self.t + if t-self.t stimm= t das noch? +''' +def _readHTML(tar =3D "", popular =3D 0, user =3D ""): + pass + # construct url + # get data + # data 2 posts + # return posts + + +# Requester +comment=3D'''stimmt der requester schon mit den vorgaben von del.icio.us u= eberein, nein ... + * sollte ich die daten von del.icio.us auf nur text untersuchen? + +Done +* eine sekunde pause zwischen jedem request klappt. +* ich fange noch nicht den 503 code ab, klappt aber in der alten version + muss ich auch nicht, denn das l=E4uft =FCber die Exception DefaultError= Handler. + ''' +def _request(url, params =3D '', useUrlAsIs =3D 0, user =3D '', passwd =3D= '', ): + if DEBUG: httplib.HTTPConnection.debuglevel =3D 1 + # Please wait AT LEAST ONE SECOND between queries, or you are likely t= o get automatically throttled. + # If you are releasing a library to access the API, you MUST do this. + # Everything is in the Caller, don't use this at home! + Waiter.wait() + # params come as a dict =3D> dict0 =3D> urlencode + params =3D urllib.urlencode(dict0(params)) + authinfo =3D urllib2.HTTPBasicAuthHandler() + authinfo.add_password(DWS_REALM, DWS_HOSTNAME, user, passwd) + opener =3D urllib2.build_opener(authinfo, DefaultErrorHandler()) + request =3D urllib2.Request(DWS_API + url + params) + if useUrlAsIs: request =3D urllib2.Request(url) + request.add_header('User-Agent', USER_AGENT) + if DEBUG: print "url:", request.get_full_url() + try: + o =3D opener.open(request) + return o.read() + except DefaultErrorHandler: + if DEBUG: return opener.open(request).read() + return "" + +# XML Parser +comment=3D'''ist vollst=E4ndig, + * test fehlt nocht +''' +def _handleXML(data): + if DEBUG: print data + x =3D parse(StringIO.StringIO(data)) + mode =3D x.getroot().tag + if mode =3D=3D 'tags': + l =3D [dict(count =3D t.attrib["count"], tag =3D t.attrib["tag"]) = for t in x.findall("tag")] + elif mode =3D=3D "result": + if (x.getroot().attrib.has_key("code") and x.getroot().attrib["cod= e"] =3D=3D 'done') or x.getroot().text in ['done', 'ok']: + l =3D True + else : + l =3D False + elif mode =3D=3D 'update': + l =3D x.getroot().attrib['time'] + elif mode =3D=3D 'dates': + l =3D [dict(count =3D t.attrib["count"], date =3D t.attrib["date"]= ) for t in x.findall("date")] + elif mode =3D=3D 'bundles': + l =3D [dict(name =3D t.attrib["name"], tags =3D t.attrib["tags"]) = for t in x.findall("bundle")] + elif mode =3D=3D 'posts': + l =3D posts() + for t in x.findall("post"): + href, description, hash =3D '', '', '' + tag,time, extended =3D '', '', '' + count =3D '' + if t.attrib.has_key("href"): href =3D t.attrib["href"] + if t.attrib.has_key("description"): description =3D t.attrib["= description"] + if t.attrib.has_key("hash"): hash =3D t.attrib["hash"] + if t.attrib.has_key("tag"): tag =3D t.attrib["tag"] + if t.attrib.has_key("time"): time =3D t.attrib["time"] + if t.attrib.has_key("extended"): extended =3D t.attrib["extend= ed"] + if t.attrib.has_key("count"): count =3D t.attrib["count"] + p =3D post(href=3Dhref, description=3Ddescription,hash=3Dhash, + tag=3Dtag, time=3Dtime, extended=3Dextended, + count=3Dcount) + l.append(p) + return l + +'''brauche ich das?''' +def _validatePost(post): pass + + +# del.icio.us api +comment=3D'''herzstueck + +Done + * was passiert mit nicht ascii daten in der verschickung als parameter? + * noch sehr unvollstaendig + * aufbau der api ist so, glaube ich, nicht mehr sinnvoll, vielleicht doch= lieber nach dem alten schema, also + api.tags_get(...) anstatt api.tags.get(...) +''' +class _DeliciousAPI: +# def _request(url, params =3D '', useUrlAsIs =3D 0, user =3D '', passwd = =3D '', ): + + def __init__(self, user, passwd): + self.user =3D user + self.passwd =3D passwd + + def _main(self, url, params =3D ''): + x =3D _request(url =3D url, params =3D params, user =3D self.user,= passwd =3D self.passwd) + self.xml =3D x + return _handleXML(x) + + def tags_get(self): + return self._main(url =3D "tags/get?") + + def tags_rename(self, old, new): + return self._main("tags/rename?", (dict(old =3D str2utf8(old), + new =3D str2utf8(new)))) + + def posts_update(self): + return self._main("posts/update") + + def posts_dates(self, tag =3D ""): + return self._main("posts/dates?", (dict(tag =3D str2utf8(tag)))) + + def posts_get(self, tag=3D"", dt=3D"", url=3D""): + return self._main("posts/get?", (dict(tag =3D str2utf8(tag), + dt =3D str2utf8(dt), + url =3D str2utf8(url)))) + + def posts_recent(self, tag=3D"", count=3D""): + return self._main("posts/recent?", (dict(tag =3D str2utf8(tag), + count =3D str2utf8(count)= ))) + + def posts_all(self, tag=3D""): + return self._main("posts/all?", (dict(tag =3D str2utf8(tag)))) + + def posts_add(self, url, description=3D"", extended=3D"", tags=3D"", d= t=3D"", replace=3D"no"): + '''add an post to del.icio.us + + url - the url of the page you like to add + description - a description of the page, often the title of the pa= ge + extended (opt) - an extended description, could be some kind of co= mment + tags - tags to sort your posts + dt (opt) - current date in format ...., if no date is given, the c= urrent + date will be used + ''' + return self._main("posts/add?", (dict(url =3D str2utf8(url), + description =3D str2utf8(des= cription), + extended =3D str2utf8(extend= ed), + tags =3D str2utf8(tags), + dt =3D str2utf8(dt), + replace =3D str2utf8(replace= )))) + + def posts_delete(self, url): + return self._main("posts/delete?", (dict(url =3D str2utf8(url)))) + + def bundles_all(self): + return self._main(url =3D "tags/bundles/all") + + def bundles_set(self, bundle, tags): + return self._main(url =3D "tags/bundles/set?", + params =3D (dict(bundle =3D str2utf8(bundle), + tags =3D str2utf8(tags)))) + + def bundles_delete(self, bundle): + return self._main(url =3D "tags/bundles/delete?", + params =3D (dict(bundle =3D str2utf8(bundle)))) + +comment=3D'''kick this, brauche das doch nicht, s.o,''' +def apiNew(user, passwd): + return _DeliciousAPI(user=3Duser, passwd=3D passwd) + +comment=3D''' holt die Daten via rss, entspricht _readRSS +Done +* basiert auch auf rss, html und api +* braucht deshalb noch, bis es voll funzt. ''' +def getrss(tag =3D "", popular =3D 0, url =3D '', user =3D ""): + '''get posts from del.icio.us via parsing Rss or Html + + tag (opt) sort by tag + popular (opt) look for the popular stuff + user (opt) get the posts by a user, this striks popular + url (opt) get the posts by url ''' + return _readRSS(tag=3Dtag, popular=3Dpopular, user=3Duser, url=3Durl) + + +comment =3D '''api funktionen, damit die funktionen aus 0.2.5 bestehen ble= iben''' +def add(user, passwd, url, description, tags =3D "", extended =3D "", dt = =3D "", replace=3D"no"): + return apiNew(user=3Duser, passwd=3Dpasswd).posts_add(url=3Durl, descr= iption=3Ddescription, extended=3Dextended, tags=3Dtags, dt=3Ddt, replace=3D= replace) + + +def get(user, passwd, tag=3D"", dt=3D"", count =3D 0): + posts =3D apiNew(user=3Duser, passwd=3Dpasswd).posts_get(tag=3Dtag,dt= =3Ddt) + if count !=3D 0: posts =3D posts[0:count] + return posts + + +def get_all(user, passwd, tag =3D ""): + return apiNew(user=3Duser, passwd=3Dpasswd).posts_all(tag=3Dtag) + + +def delete(user, passwd, url): + return apiNew(user=3Duser, passwd=3Dpasswd).posts_delete(url=3Durl) + + +def rename_tag(user, passwd, oldtag, newtag): + return apiNew(user=3Duser, passwd=3Dpasswd).tags_rename(old=3Doldtag, = new=3Dnewtag) + + +def get_tags(user, passwd): + return apiNew(user=3Duser, passwd=3Dpasswd).tags_get() + + +def get_userposts(user): + return getrss(user =3D user) + + +def get_tagposts(tag): + return getrss(tag =3D tag) + + +def get_urlposts(url): + return getrss(url =3D url) + + +def get_popular(tag =3D ""): + return getrss(tag =3D tag, popular =3D 1) diff -NuPr epiphany-extensions_orig/extensions/epilicious/THOUGHTS epiphany= -extensions/extensions/epilicious/THOUGHTS --- epiphany-extensions_orig/extensions/epilicious/THOUGHTS 1970-01-01 01:0= 0:00.000000000 +0100 +++ epiphany-extensions/extensions/epilicious/THOUGHTS 2006-07-06 23:12:26.= 000000000 +0100 @@ -0,0 +1,63 @@ +Either I mark the ones that shouldn't be synched (e.g. with keyword 'Skip') +and all other bookmarks are synched. + Only one del.icio.us account can be used + +I mark all the bookmarks that should be synched. + More marking needed. Ability to have several del.icio.us accounts if each + account is associated with a specific keyword. When updating the del.icio= =2Eus + keywords have to be treated differently than other keywords. + +To update two sets when knowing the origin: + + my_new =3D (my - (old - your)) | (your - old) + your_new =3D (your - (old - my)) | (my - old) + + After this my_new =3D=3D your_new. + + Algortihm A: + + URL with keywords are represented as + URL,kw1,kw2,...,kwn + + old =3D Set of URL with keywords from last sync time + new =3D Set of URL with keywords retrieved from remote site + mine =3D Set of URL with keywords locally + + to_add =3D new - old + to_remove =3D old - new + + new_mine =3D (mine + to_add) - to_remove + + 1. Remove all bookmarks marked for share + 2. Add bookmarks in new_mine + 3. (Optional) remove empty tags + + Do step 1-3 for remote site as well. + +The problem with descriptions. + Currently all bookmarks dealings are based on the URL. A change in descri= ption + on either side won't be reflected on the other side after a synch. Only if + there is a change in the tags will a change in description be propagated = as + well, but then there is no way of knowing which site's description to use= =2E At + the moment, if there's a change in description epilicious choses to keep = the + local description (i.e. if locations A and B are synched with Delicious, = and + A's and B's descriptions for a specific site differ then the name in Deli= cious + will bounce with every synch that changes tags for the site). + +Excluding instead of including bookmarks in synch + Two ways to do it: + + 1. All bookmarks in _share_kw_ are shared, except if they are in the + _block_kw_. If _share_kw_ isn't set, then all bookmarks are considere= d. + 2. There is only one keyword, then there's a switch which controls wheth= er + it is used to mark shared or non-shared bookmarks. + + The former is the way proposed in the patch by Tom Coleman. The drawback = here + is that setting the values must be explained to the user (at least one mu= st + be set). + + The latter is simpler, but it restricts the user somewhat. I don't think = that + restriction is relevant though (what becomes impossible is to have someth= ing + marked both for inclusion and exclusion). + +vim: set ft=3Dtext: diff -NuPr epiphany-extensions_orig/extensions/epilicious/TODO epiphany-ext= ensions/extensions/epilicious/TODO --- epiphany-extensions_orig/extensions/epilicious/TODO 1970-01-01 01:00:00= =2E000000000 +0100 +++ epiphany-extensions/extensions/epilicious/TODO 2006-07-05 22:39:30.0000= 00000 +0100 @@ -0,0 +1,44 @@ +- epilicious items + (added Fri May 19 17:14:45 2006, incomplete, priority medium) + + - remove the cache in EpiphanyStore + (added Fri May 19 17:16:09 2006, completed on Sun May 21 23:57:55 2006= , priority medium) + + - use boolean to determine whether keyword is sharing or blocking + (added Fri May 19 17:19:01 2006, completed on Sun May 21 23:58:24 2006= , priority medium) + + - BUG: marking of bookmarks added to epiphany is wrong, they all get mar= ked + with the keyword, that should depend on whether the keyword is used for + inclusion or exclusion + (added Mon Jun 5 09:08:16 2006, completed on Mon Jun 5 22:20:55 2006= , priority medium) + + - change priority on keyword so it doesn't show in bookmark menu + (added Fri May 19 17:17:40 2006, incomplete, priority medium) + + - pop up dialogue if username/password is missing in gconf + (added Fri May 19 17:20:35 2006, incomplete, priority medium) + + - configuration dialogue + (added Fri May 19 17:21:00 2006, incomplete, priority medium) + + - ability to run in a mode where exceptions are caught and displayed + (added Fri May 19 17:21:32 2006, incomplete, priority medium) + + - use epiphany's password store for password + (added Fri May 19 17:21:50 2006, incomplete, priority medium) + + - deal better with descriptions of bookmarks + (added Fri May 19 17:22:11 2006, incomplete, priority medium) + + - add support for scuttle + (added Fri May 19 17:22:41 2006, incomplete, priority medium) + + - support for private bookmarks + (added Fri May 19 17:22:56 2006, incomplete, priority medium) + + - changing URL to server + (added Fri May 19 17:23:10 2006, incomplete, priority medium) + + - BUG: non-US characters are not treated right + (added Mon Jun 5 09:10:04 2006, incomplete, priority medium) + diff -NuPr epiphany-extensions_orig/extensions/epilicious/utils/delbackup e= piphany-extensions/extensions/epilicious/utils/delbackup --- epiphany-extensions_orig/extensions/epilicious/utils/delbackup 1970-01-= 01 01:00:00.000000000 +0100 +++ epiphany-extensions/extensions/epilicious/utils/delbackup 2006-07-06 23= :11:49.000000000 +0100 @@ -0,0 +1,62 @@ +#! /usr/bin/env python + + +import sys +from optparse import OptionParser, make_option +import cPickle as pickle +from ProgressBar import ProgressBar +try: + import pydelicious as delicious +except: + print >> sys.stderr, "Make sure that 'libepilicious' is in $PYTHONPATH" + sys.exit(1) + + +_OPTIONS =3D [ \ + make_option('-u', '--username', \ + help=3D'del.icio.us username [REQUIRED]'), \ + make_option('-p', '--password', \ + help=3D'del.icio.us password [REQUIRED]'), \ + make_option('-o', '--filename', \ + help=3D'filename to save bookmarks to'), \ + make_option('-l', '--noclear', action=3D'store_true', default=3DFa= lse, \ + help=3D'do not clear del.icio.us after backing up'), \ + ] + + +def _clear_delicious(d): + dbms =3D d.posts_all() + pb =3D ProgressBar('Deleting from del.icio.us') + num_items =3D len(dbms) + i =3D 1 + for b in dbms: + pb.update(i, num_items) + d.posts_delete(b['href']) + i +=3D 1 + pb.clear() + + +def main(): + parser =3D OptionParser(option_list=3D_OPTIONS) + options, args =3D parser.parse_args() + if not options.username or not options.password: + print >> sys.stderr, 'Both username and password are required!\n' + sys.exit(1) + outfile =3D sys.stdout + if options.filename: + try: + outfile =3D file(options.filename, 'w+') + except IOError, e: + print >> sys.stderr, 'Could not open file.' + sys.exit(1) + + d =3D delicious.apiNew(options.username, options.password) + dbms =3D d.posts_all() + pickle.dump(dbms, outfile) + + if not options.noclear: + _clear_delicious(d) + + +if __name__ =3D=3D '__main__': + main() diff -NuPr epiphany-extensions_orig/extensions/epilicious/utils/delrestore = epiphany-extensions/extensions/epilicious/utils/delrestore --- epiphany-extensions_orig/extensions/epilicious/utils/delrestore 1970-01= -01 01:00:00.000000000 +0100 +++ epiphany-extensions/extensions/epilicious/utils/delrestore 2006-07-05 2= 2:39:30.000000000 +0100 @@ -0,0 +1,75 @@ +#! /usr/bin/env python + +from optparse import OptionParser, make_option +import cPickle as pickle +import sys +from ProgressBar import ProgressBar +try: + import pydelicious as delicious +except: + print >> sys.stderr, "Make sure that 'libepilicious' is in $PYTHONPATH" + sys.exit(1) + + +_OPTIONS =3D [ \ + make_option('-u', '--username', \ + help=3D'del.icio.us username [REQUIRED]'), \ + make_option('-p', '--password', \ + help=3D'del.icio.us password [REQUIRED]'), \ + make_option('-f', '--filename', \ + help=3D'filename to read bookmarks from'), \ + make_option('-l', '--noclear', action=3D'store_true', default=3DFa= lse, \ + help=3D'do not clear del.icio.us before restoring'), \ + ] + + +def _clear_delicious(d): + dbms =3D d.posts_all() + pb =3D ProgressBar('Deleting from del.icio.us') + num_items =3D len(dbms) + i =3D 1 + for b in dbms: + pb.update(i, num_items) + d.posts_delete(b['href']) + i +=3D 1 + pb.clear() + + +def _restore_delicious(d, bms): + pb =3D ProgressBar('Restoring to del.icio.us') + num_items =3D len(bms) + i =3D 1 + for b in bms: + pb.update(i, num_items) + d.posts_add(b['href'], \ + description=3Db['description'], \ + extended=3Db['extended'], \ + tags=3Db['tags'], \ + dt=3Db['dt']) + i +=3D 1 + pb.clear() + + +def main(): + parser =3D OptionParser(option_list=3D_OPTIONS) + options, args =3D parser.parse_args() + if not options.username or not options.password: + print >> sys.stderr, 'Both username and password are required!\n' + sys.exit(1) + infile =3D sys.stdout + if options.filename: + try: + infile =3D file(options.filename, 'r') + except IOError, e: + print >> sys.stderr, 'Could not open file.' + sys.exit(1) + + lbms =3D pickle.load(infile) + d =3D delicious.apiNew(options.username, options.password) + if not options.noclear: + _clear_delicious(d) + _restore_delicious(d, lbms) + + +if __name__ =3D=3D '__main__': + main() diff -NuPr epiphany-extensions_orig/extensions/epilicious/utils/ProgressBar= =2Epy epiphany-extensions/extensions/epilicious/utils/ProgressBar.py --- epiphany-extensions_orig/extensions/epilicious/utils/ProgressBar.py 197= 0-01-01 01:00:00.000000000 +0100 +++ epiphany-extensions/extensions/epilicious/utils/ProgressBar.py 2006-07-= 06 23:10:13.000000000 +0100 @@ -0,0 +1,192 @@ +# Created by Edward Loper, version 1.2 +# Licensed under GPL (as well as released to the public domain) +# Shamelessly copied from +# http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/475116 + +import sys, re + +class _TerminalController: + """ + A class that can be used to portably generate formatted output to + a terminal. + + `_TerminalController` defines a set of instance variables whose + values are initialized to the control sequence necessary to + perform a given action. These can be simply included in normal + output to the terminal: + + >>> term =3D _TerminalController() + >>> print 'This is '+term.GREEN+'green'+term.NORMAL + + Alternatively, the `render()` method can used, which replaces + '${action}' with the string required to perform 'action': + + >>> term =3D _TerminalController() + >>> print term.render('This is ${GREEN}green${NORMAL}') + + If the terminal doesn't support a given action, then the value of + the corresponding instance variable will be set to ''. As a + result, the above code will still work on terminals that do not + support color, except that their output will not be colored. + Also, this means that you can test whether the terminal supports a + given action by simply testing the truth value of the + corresponding instance variable: + + >>> term =3D _TerminalController() + >>> if term.CLEAR_SCREEN: + ... print 'This terminal supports clearning the screen.' + + Finally, if the width and height of the terminal are known, then + they will be stored in the `COLS` and `LINES` attributes. + """ + # Cursor movement: + BOL =3D '' #: Move the cursor to the beginning of the line + UP =3D '' #: Move the cursor up one line + DOWN =3D '' #: Move the cursor down one line + LEFT =3D '' #: Move the cursor left one char + RIGHT =3D '' #: Move the cursor right one char + + # Deletion: + CLEAR_SCREEN =3D '' #: Clear the screen and move to home position + CLEAR_EOL =3D '' #: Clear to the end of the line. + CLEAR_BOL =3D '' #: Clear to the beginning of the line. + CLEAR_EOS =3D '' #: Clear to the end of the screen + + # Output modes: + BOLD =3D '' #: Turn on bold mode + BLINK =3D '' #: Turn on blink mode + DIM =3D '' #: Turn on half-bright mode + REVERSE =3D '' #: Turn on reverse-video mode + NORMAL =3D '' #: Turn off all modes + + # Cursor display: + HIDE_CURSOR =3D '' #: Make the cursor invisible + SHOW_CURSOR =3D '' #: Make the cursor visible + + # Terminal size: + COLS =3D None #: Width of the terminal (None for unknown) + LINES =3D None #: Height of the terminal (None for unknown) + + # Foreground colors: + BLACK =3D BLUE =3D GREEN =3D CYAN =3D RED =3D MAGENTA =3D YELLOW =3D W= HITE =3D '' + + # Background colors: + BG_BLACK =3D BG_BLUE =3D BG_GREEN =3D BG_CYAN =3D '' + BG_RED =3D BG_MAGENTA =3D BG_YELLOW =3D BG_WHITE =3D '' + + _STRING_CAPABILITIES =3D """ + BOL=3Dcr UP=3Dcuu1 DOWN=3Dcud1 LEFT=3Dcub1 RIGHT=3Dcuf1 + CLEAR_SCREEN=3Dclear CLEAR_EOL=3Del CLEAR_BOL=3Del1 CLEAR_EOS=3Ded BOL= D=3Dbold + BLINK=3Dblink DIM=3Ddim REVERSE=3Drev UNDERLINE=3Dsmul NORMAL=3Dsgr0 + HIDE_CURSOR=3Dcinvis SHOW_CURSOR=3Dcnorm""".split() + _COLORS =3D """BLACK BLUE GREEN CYAN RED MAGENTA YELLOW WHITE""".split= () + _ANSICOLORS =3D "BLACK RED GREEN YELLOW BLUE MAGENTA CYAN WHITE".split= () + + def __init__(self, term_stream=3Dsys.stdout): + """ + Create a `_TerminalController` and initialize its attributes + with appropriate values for the current terminal. + `term_stream` is the stream that will be used for terminal + output; if this stream is not a tty, then the terminal is + assumed to be a dumb terminal (i.e., have no capabilities). + """ + # Curses isn't available on all platforms + try: import curses + except: return + + # If the stream isn't a tty, then assume it has no capabilities. + if not term_stream.isatty(): return + + # Check the terminal type. If we fail, then assume that the + # terminal has no capabilities. + try: curses.setupterm() + except: return + + # Look up numeric capabilities. + self.COLS =3D curses.tigetnum('cols') + self.LINES =3D curses.tigetnum('lines') + + # Look up string capabilities. + for capability in self._STRING_CAPABILITIES: + (attrib, cap_name) =3D capability.split('=3D') + setattr(self, attrib, self._tigetstr(cap_name) or '') + + # Colors + set_fg =3D self._tigetstr('setf') + if set_fg: + for i,color in zip(range(len(self._COLORS)), self._COLORS): + setattr(self, color, curses.tparm(set_fg, i) or '') + set_fg_ansi =3D self._tigetstr('setaf') + if set_fg_ansi: + for i,color in zip(range(len(self._ANSICOLORS)), self._ANSICOL= ORS): + setattr(self, color, curses.tparm(set_fg_ansi, i) or '') + set_bg =3D self._tigetstr('setb') + if set_bg: + for i,color in zip(range(len(self._COLORS)), self._COLORS): + setattr(self, 'BG_'+color, curses.tparm(set_bg, i) or '') + set_bg_ansi =3D self._tigetstr('setab') + if set_bg_ansi: + for i,color in zip(range(len(self._ANSICOLORS)), self._ANSICOL= ORS): + setattr(self, 'BG_'+color, curses.tparm(set_bg_ansi, i) or= '') + + def _tigetstr(self, cap_name): + # String capabilities can include "delays" of the form "$<2>". + # For any modern terminal, we should be able to just ignore + # these, so strip them out. + import curses + cap =3D curses.tigetstr(cap_name) or '' + return re.sub(r'\$<\d+>[/*]?', '', cap) + + def render(self, template): + """ + Replace each $-substitutions in the given template string with + the corresponding terminal control string (if it's defined) or + '' (if it's not). + """ + return re.sub(r'\$\$|\${\w+}', self._render_sub, template) + + def _render_sub(self, match): + s =3D match.group() + if s =3D=3D '$$': return s + else: return getattr(self, s[2:-1]) + + +class ProgressBar: + """ + A 2-line progress bar, which looks like:: + + Header + 20% [=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D----------------------------= ------] + + The progress bar adjusts to the width of the terminal. + """ + HEADER =3D '${BOLD}%s${NORMAL}\n\n' + BAR =3D '${BOLD}[%s%s] %d/%d${NORMAL}\n' + + def __init__(self, header, term_stream=3Dsys.stdout): + self.term =3D _TerminalController(term_stream) + if not (self.term.CLEAR_EOL and self.term.UP and self.term.BOL): + raise ValueError("Terminal isn't capable enough -- you " + "should use a simpler progress dispaly.") + self.width =3D self.term.COLS or 75 + self.bar =3D self.term.render(self.BAR) + self.header =3D self.term.render(self.HEADER % header.center(self.= width)) + self.cleared =3D 1 #: true if we haven't drawn the bar yet. + self.update(0, 1) + + def update(self, done, total): + if self.cleared: + sys.stdout.write(self.header) + self.cleared =3D 0 + percent =3D float(done) / float(total) + n =3D int((self.width-10)*percent) + sys.stdout.write( + self.term.BOL + self.term.UP + self.term.CLEAR_EOL + + (self.bar % ('=3D'*n, '-'*(self.width-10-n), done, total))) + + def clear(self): + if not self.cleared: + sys.stdout.write(self.term.BOL + self.term.CLEAR_EOL + + self.term.UP + self.term.CLEAR_EOL + + self.term.UP + self.term.CLEAR_EOL) + self.cleared =3D 1 diff -NuPr epiphany-extensions_orig/po/POTFILES.in epiphany-extensions/po/P= OTFILES.in --- epiphany-extensions_orig/po/POTFILES.in 2006-04-24 11:27:02.000000000 += 0100 +++ epiphany-extensions/po/POTFILES.in 2006-07-17 21:39:11.000000000 +0100 @@ -8,6 +8,9 @@ extensions/actions/ephy-actions-extension-properties-dialog.c extensions/auto-reload/ephy-auto-reload-extension.c extensions/certificates/ephy-certificates-extension.c +extensions/epilicious/epilicious.py.in +extensions/epilicious/epilicious.schemas.in +extensions/epilicious/progress.glade extensions/error-viewer/ephy-error-viewer-extension.c extensions/error-viewer/error-viewer.glade extensions/error-viewer/link-checker.c @@ -15,9 +18,9 @@ extensions/error-viewer/mozilla/ErrorViewerURICheckerObserver.cpp extensions/error-viewer/opensp/validate.cpp extensions/error-viewer/sgml-validator.c +extensions/extensions-manager-ui/ephy-extensions-manager-ui-extension.c extensions/extensions-manager-ui/extensions-manager-ui.c extensions/extensions-manager-ui/extensions-manager-ui.glade -extensions/extensions-manager-ui/ephy-extensions-manager-ui-extension.c extensions/greasemonkey/ephy-greasemonkey-extension.c extensions/java-console/ephy-java-console-extension.c extensions/page-info/ephy-page-info-extension.c --=20 Magnus Therning (OpenPGP: 0xAB4DFBA4) magnus@therning.org Jabber: magnus.therning@gmail.com http://therning.org/magnus Software is not manufactured, it is something you write and publish. Keep Europe free from software patents, we do not want censorship by patent law on written works. Good powers of observation are frequently called "cynicism" by those that don't have them. --df+09Je9rNq3P+GE Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.3 (GNU/Linux) iD8DBQBEu/geiMWTaatN+6QRAtTMAJsFhIN5duWrB/ynGBX0SKgzvY3H9gCeOk+u JUrVxQt+Sm2A6SKGVZqoTzU= =W1P5 -----END PGP SIGNATURE----- --df+09Je9rNq3P+GE-- From reinouts@gnome.org Mon Jul 17 22:58:57 2006 Return-Path: X-Original-To: epiphany-list@gnome.org Delivered-To: epiphany-list@gnome.org Received: from localhost (localhost.localdomain [127.0.0.1]) by menubar.gnome.org (Postfix) with ESMTP id 56AAB3B01BC for ; Mon, 17 Jul 2006 22:58:57 +0000 (UTC) Received: from menubar.gnome.org ([127.0.0.1]) by localhost (menubar.gnome.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 16378-04 for ; Mon, 17 Jul 2006 22:58:55 +0000 (UTC) Received: from flits.few.vu.nl (flits.few.vu.nl [192.31.231.65]) by menubar.gnome.org (Postfix) with ESMTP id BD3CE3B0087 for ; Mon, 17 Jul 2006 22:58:54 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by flits.few.vu.nl with esmtp (Smail #114) id m1G2c3B-0001qsC; Tue, 18 Jul 2006 00:58 +0200 Date: Tue, 18 Jul 2006 00:58:44 +0200 (CEST) From: Reinout van Schouwen X-X-Sender: reinout@flits.few.vu.nl To: epiphany-list@gnome.org Subject: Document-oriented web Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed X-Virus-Scanned: by amavisd-new at gnome.org X-Spam-Status: No, score=-1.386 tagged_above=-999 required=2 tests=[AWL=-0.060, BAYES_00=-2.599, INFO_TLD=1.273] X-Spam-Score: -1.386 X-Spam-Level: X-BeenThere: epiphany-list@gnome.org X-Mailman-Version: 2.1.8 Precedence: list List-Id: For developers and users of the Epiphany web browser List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 17 Jul 2006 22:58:57 -0000 Hello all, I'd like to share this thread on desktop-devel-list with you: http://article.gmane.org/gmane.comp.gnome.desktop/29196/ It's a very relevant discussion in the light of the new bookmarks database we've been talking about for so long. regards, -- Reinout van Schouwen *** student of Artifical Intelligence email: reinout@cs.vu.nl *** mobile phone: +31-6-44360778 www.vanschouwen.info *** help mee met GNOME vertalen: nl.gnome.org From acidborg@gmail.com Wed Jul 19 00:06:48 2006 Return-Path: X-Original-To: epiphany-list@gnome.org Delivered-To: epiphany-list@gnome.org Received: from localhost (localhost.localdomain [127.0.0.1]) by menubar.gnome.org (Postfix) with ESMTP id C5AB13B00FF for ; Wed, 19 Jul 2006 00:06:48 +0000 (UTC) Received: from menubar.gnome.org ([127.0.0.1]) by localhost (menubar.gnome.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 18940-04 for ; Wed, 19 Jul 2006 00:06:48 +0000 (UTC) Received: from wr-out-0506.google.com (wr-out-0506.google.com [64.233.184.228]) by menubar.gnome.org (Postfix) with ESMTP id 2519A3B00A5 for ; Wed, 19 Jul 2006 00:06:48 +0000 (UTC) Received: by wr-out-0506.google.com with SMTP id i5so16704wra for ; Tue, 18 Jul 2006 17:06:47 -0700 (PDT) Received: by 10.54.81.11 with SMTP id e11mr114199wrb; Tue, 18 Jul 2006 17:06:47 -0700 (PDT) Received: by 10.54.93.19 with HTTP; Tue, 18 Jul 2006 17:06:47 -0700 (PDT) Message-ID: <3b8e48b00607181706j2a9a9675n2d1afee357f20fa0@mail.gmail.com> Date: Wed, 19 Jul 2006 02:06:47 +0200 From: "Jaime Frutos Morales" To: epiphany-list@gnome.org Subject: Extensions & signals MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline X-Virus-Scanned: by amavisd-new at gnome.org X-Spam-Status: No, score=-1.228 tagged_above=-999 required=2 tests=[AWL=1.172, BAYES_00=-2.599, DNS_FROM_RFC_ABUSE=0.2, SPF_PASS=-0.001] X-Spam-Score: -1.228 X-Spam-Level: X-BeenThere: epiphany-list@gnome.org X-Mailman-Version: 2.1.8 Precedence: list List-Id: For developers and users of the Epiphany web browser List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 Jul 2006 00:06:48 -0000 Hi! This is my first mail to the list, so hi everybody! I'm writing an extension in Python that shows CC licenses on websites if available. I'm using these signals: - In attach_window(window): signal = notebook.connect_after("switch_page", _switch_page_cb, window); - In attach_tab(window, tab): signal = tab.connect_after ("notify::load-status",_load_status_cb, window); I'm using the "switch_page" signal to detect tab changes and the "notify::load-status" signal to detect when a web has been loaded. To detect that a web has been loaded, I use: if tab==window.get_active_tab(): if tab.get_load_percent() == 100: My problem is that the signals are being caught twice (2 license detections for each web). What am I doing wrong? Am I using the correct signals or are there any others which fit better? Thanks in advance for your help. Jaime Frutos Morales From mpt@myrealbox.com Thu Jul 20 08:47:46 2006 Return-Path: X-Original-To: epiphany-list@gnome.org Delivered-To: epiphany-list@gnome.org Received: from localhost (localhost.localdomain [127.0.0.1]) by menubar.gnome.org (Postfix) with ESMTP id F1D2F3B008F for ; Thu, 20 Jul 2006 08:47:45 +0000 (UTC) Received: from menubar.gnome.org ([127.0.0.1]) by localhost (menubar.gnome.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 29637-07 for ; Thu, 20 Jul 2006 08:47:44 +0000 (UTC) Received: from leucothea.redline.site5.com (leucothea.redline.site5.com [216.118.97.161]) by menubar.gnome.org (Postfix) with ESMTP id B67803B000F for ; Thu, 20 Jul 2006 08:47:43 +0000 (UTC) Received: from [203.118.156.188] (helo=[10.1.1.5]) by leucothea.redline.site5.com with esmtpsa (TLSv1:RC4-SHA:128) (Exim 4.52) id 1G3UC6-00048q-1Y; Thu, 20 Jul 2006 04:47:42 -0400 Mime-Version: 1.0 (Apple Message framework v624) X-Gpgmail-State: !signed Content-Type: text/plain; charset=US-ASCII; delsp=yes; format=flowed Message-Id: Content-Transfer-Encoding: 7bit From: Matthew Paul Thomas Subject: What people are really doing on the Web Date: Thu, 20 Jul 2006 20:47:37 +1200 To: epiphany list X-Mailer: Apple Mail (2.624) X-Antivirus-Scanner: This message has been scanned by ClamAV. X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - leucothea.redline.site5.com X-AntiAbuse: Original Domain - gnome.org X-AntiAbuse: Originator/Caller UID/GID - [0 0] / [47 12] X-AntiAbuse: Sender Address Domain - myrealbox.com X-Source: X-Source-Args: X-Source-Dir: X-Virus-Scanned: by amavisd-new at gnome.org X-Spam-Status: No, score=-1.854 tagged_above=-999 required=2 tests=[AWL=-0.744, BAYES_05=-1.11] X-Spam-Score: -1.854 X-Spam-Level: X-BeenThere: epiphany-list@gnome.org X-Mailman-Version: 2.1.8 Precedence: list List-Id: For developers and users of the Epiphany web browser List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 20 Jul 2006 08:47:46 -0000 At the SXSW conference in March, one of the sessions was on "What people are really doing on the Web". Some statistics presented that are relevant to browser design: * One in three of people surveyed had read a Weblog in the past 30 days; one in four in the past 24 hours. Most of these are personal diaries. * One in ten had written in a Weblog in the past 30 days. * One in five had used an online dating service in the past 30 days. * How often people use search varies widely depending on how many pages there are in languages that they know. (For example, Russians search much less often than Americans.) * People aged 13-24 using Yahoo Search are most often searching for music, sex, communication, shopping, and games, in that order. * Mothers using Yahoo are most commonly accessing financial information, communication, and games, in that order. * The most commonly searched for word on Yahoo is "google", and the fourth most common is "yahoo". (My guess: there are a lot of people who don't understand URLs.) Some ideas for how Epiphany could make these things easier: * Better integration of Web pages, bookmarks, and feeds. * Spell-check. * Let people save a half-written Weblog post (an entire Web page with a half-filled-out form) as a draft that they can return to later. * Include Preview buttons for partially-downloaded music files in the download manager. * Include a financial search engine (such as Google Finance) in the default set of search engines. * Let people easily associate Weblogs with address book entries and buddy list entries. -- Matthew Paul Thomas http://mpt.net.nz/ From reinouts@gnome.org Mon Jul 24 15:23:59 2006 Return-Path: X-Original-To: epiphany-list@gnome.org Delivered-To: epiphany-list@gnome.org Received: from localhost (localhost.localdomain [127.0.0.1]) by menubar.gnome.org (Postfix) with ESMTP id B5C483B0081 for ; Mon, 24 Jul 2006 15:23:59 -0400 (EDT) Received: from menubar.gnome.org ([127.0.0.1]) by localhost (menubar.gnome.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 17408-06 for ; Mon, 24 Jul 2006 15:23:58 -0400 (EDT) Received: from flits.few.vu.nl (flits.few.vu.nl [192.31.231.65]) by menubar.gnome.org (Postfix) with ESMTP id 8FDB93B006F for ; Mon, 24 Jul 2006 15:23:58 -0400 (EDT) Received: from localhost (localhost [127.0.0.1]) by flits.few.vu.nl with esmtp (Smail #114) id m1G5621-0001qhC; Mon, 24 Jul 2006 21:23 +0200 Date: Mon, 24 Jul 2006 21:23:55 +0200 (CEST) From: Reinout van Schouwen X-X-Sender: reinout@flits.few.vu.nl To: epiphany list Subject: Re: What people are really doing on the Web In-Reply-To: Message-ID: References: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed X-Virus-Scanned: by amavisd-new at gnome.org X-Spam-Status: No, score=-1.385 tagged_above=-999 required=2 tests=[AWL=-0.059, BAYES_00=-2.599, INFO_TLD=1.273] X-Spam-Score: -1.385 X-Spam-Level: X-BeenThere: epiphany-list@gnome.org X-Mailman-Version: 2.1.8 Precedence: list List-Id: For developers and users of the Epiphany web browser List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 24 Jul 2006 19:23:59 -0000 Hi Matthew, On Thu, 20 Jul 2006, Matthew Paul Thomas wrote: > Some ideas for how Epiphany could make these things easier: > * Better integration of Web pages, bookmarks, and feeds. > * Spell-check. > * Let people save a half-written Weblog post (an entire Web page with > a half-filled-out form) as a draft that they can return to later. > * Include Preview buttons for partially-downloaded music files in the > download manager. > * Include a financial search engine (such as Google Finance) in the > default set of search engines. > * Let people easily associate Weblogs with address book entries and > buddy list entries. Thank you for your input. Of the beforementioned ideas, the spell check functionality is closest to being implemented. The UI isn't finished yet [1] and probably won't be ready for 2.16. However it is quite possible that there will be GConf key(s) to enable spell checking for various languages; an extension could put a (preliminary) GUI on that. (Anyone who's willing to help code this, consider yourself invited to!) "Better integration of Web pages, bookmarks, and feeds" sounds cool, but what would it mean in practice? Should the RSS extension be polished up and integrated into the core? (I'm not against this, as weblogs/RSS feeds become an ever more integral part of the web browsing experience.) Your idea about saving partly-completed forms is related to bug 118452 [2] except that the recovery function should have an UI instead of just kicking in, in case of starting up after a crash. I have a gut feeling that it should be possible to connect the contents of a web form to a (temporary) sticky note or something similar, that's retained in cases where the form isn't submitted. For as long as we don't have seamless Nautilus integration for downloads, the preview function might be a good idea. Dieguito was recently hacking on the download manager interface, maybe he knows if this is possible/easy to do? About the financial search engine: how well does this localize? The 'Search the web' smart bookmark can be included because Google is available in most languages and regions, but I wouldn't know about financial search engines. Google finance is just US English at this moment, as far as I can see. With regard to "address book entries and buddy list entries", we'd have to know first what is the authorative source of address and buddy data. E-D-S? Gaim? Contacts maybe? As always, keep filing bugs where you see them :-) [1] For the other readers, on the list, Matthew has already given some UI ideas on http://live.gnome.org/Epiphany/FeatureDesign/Spellchecking [2] http://bugzilla.gnome.org/show_bug.cgi?id=118452 regards, -- Reinout van Schouwen *** student of Artifical Intelligence email: reinout@cs.vu.nl *** mobile phone: +31-6-44360778 www.vanschouwen.info *** help mee met GNOME vertalen: nl.gnome.org From dieguito@gmail.com Tue Jul 25 01:25:55 2006 Return-Path: X-Original-To: epiphany-list@gnome.org Delivered-To: epiphany-list@gnome.org Received: from localhost (localhost.localdomain [127.0.0.1]) by menubar.gnome.org (Postfix) with ESMTP id 262813B0061 for ; Tue, 25 Jul 2006 01:25:55 -0400 (EDT) Received: from menubar.gnome.org ([127.0.0.1]) by localhost (menubar.gnome.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 09299-09 for ; Tue, 25 Jul 2006 01:25:45 -0400 (EDT) Received: from wr-out-0506.google.com (wr-out-0506.google.com [64.233.184.235]) by menubar.gnome.org (Postfix) with ESMTP id 8BDE63B0075 for ; Tue, 25 Jul 2006 01:25:45 -0400 (EDT) Received: by wr-out-0506.google.com with SMTP id i5so767668wra for ; Mon, 24 Jul 2006 22:25:45 -0700 (PDT) Received: by 10.54.147.4 with SMTP id u4mr4652743wrd; Mon, 24 Jul 2006 22:25:45 -0700 (PDT) Received: from milkyway.nowhere ( [201.230.157.66]) by mx.gmail.com with ESMTP id 65sm4222437wra.2006.07.24.22.25.43; Mon, 24 Jul 2006 22:25:44 -0700 (PDT) Subject: Re: What people are really doing on the Web From: Diego Escalante Urrelo To: Reinout van Schouwen In-Reply-To: References: Content-Type: text/plain; charset=utf-8 Date: Tue, 25 Jul 2006 00:20:58 -0500 Message-Id: <1153804858.6607.15.camel@localhost.localdomain> Mime-Version: 1.0 X-Mailer: Evolution 2.6.1 Content-Transfer-Encoding: 8bit X-Virus-Scanned: by amavisd-new at gnome.org X-Spam-Status: No, score=-2.6 tagged_above=-999 required=2 tests=[BAYES_00=-2.599, SPF_PASS=-0.001] X-Spam-Score: -2.6 X-Spam-Level: Cc: epiphany list X-BeenThere: epiphany-list@gnome.org X-Mailman-Version: 2.1.8 Precedence: list List-Id: For developers and users of the Epiphany web browser List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 25 Jul 2006 05:25:55 -0000 Hello, About the download manager, I have been playing with the UI but it seems that if the SoC project of Steve Frécinaux (nud), the long running task manager for Nautilus/Epiphany (named Mathusalem[1]) will make all this changes irrelevant for 2.18. We however would do wisely if we develop this topic so no matter what is used (Mathusalem or still Epiphany) for the download manager, the concept would remain and even the basic implementation like a play/pause button for previewing audio files or stuff like that. Anyway the code for download manager can be found on embed/downloader-view.c You would like to know that it's pretty clean and simple, you can find the patch I made at bugzilla #337936. See the current manager[3] vs the patched one[4]. See ya! [1] http://tw.apinc.org/weblog/2006/05/26#summer-of-code-acceptance [2] http://bugzilla.gnome.org/show_bug.cgi?id=337936 [3] http://bugzilla.gnome.org/attachment.cgi?id=63112 [4] http://bugzilla.gnome.org/attachment.cgi?id=69282 -- "First they ignore you, then they laugh at you, then they fight you, then you win" -Ghandi hack my cow - http://diego.aureal.com.pe . http://diegoe.blogspot.com From acidborg@gmail.com Mon Jul 31 06:53:54 2006 Return-Path: X-Original-To: epiphany-list@gnome.org Delivered-To: epiphany-list@gnome.org Received: from localhost (localhost.localdomain [127.0.0.1]) by menubar.gnome.org (Postfix) with ESMTP id 6BAFE3B0012 for ; Mon, 31 Jul 2006 06:53:54 -0400 (EDT) Received: from menubar.gnome.org ([127.0.0.1]) by localhost (menubar.gnome.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 06268-02 for ; Mon, 31 Jul 2006 06:53:53 -0400 (EDT) Received: from nf-out-0910.google.com (nf-out-0910.google.com [64.233.182.185]) by menubar.gnome.org (Postfix) with ESMTP id D1C843B0008 for ; Mon, 31 Jul 2006 06:53:52 -0400 (EDT) Received: by nf-out-0910.google.com with SMTP id l36so471801nfa for ; Mon, 31 Jul 2006 03:53:52 -0700 (PDT) Received: by 10.49.92.18 with SMTP id u18mr1889543nfl; Mon, 31 Jul 2006 03:53:52 -0700 (PDT) Received: by 10.49.15.9 with HTTP; Mon, 31 Jul 2006 03:53:52 -0700 (PDT) Message-ID: <3b8e48b00607310353w1c3e531h5da8b4ce25663767@mail.gmail.com> Date: Mon, 31 Jul 2006 12:53:52 +0200 From: "Jaime Frutos Morales" To: epiphany-list@gnome.org Subject: CC license viewer inclusion in epiphany-extensions MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline X-Virus-Scanned: by amavisd-new at gnome.org X-Spam-Status: No, score=-1.95 tagged_above=-999 required=2 tests=[AWL=0.260, BAYES_00=-2.599, DNS_FROM_RFC_ABUSE=0.2, SPF_PASS=-0.001, SUBJ_HAS_UNIQ_ID=0.19] X-Spam-Score: -1.95 X-Spam-Level: X-BeenThere: epiphany-list@gnome.org X-Mailman-Version: 2.1.8 Precedence: list List-Id: For developers and users of the Epiphany web browser List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 31 Jul 2006 10:53:54 -0000 A few days ago I sent a new extension to Bugzilla called "Creative Commons license viewer" [1] and I wonder whether it could be included in the next epiphany-extension release or not. It has received good comments and it has Creative Commons approval [2]. It would also contribute to Gnome-CC integration [3]. [1] http://bugzilla.gnome.org/show_bug.cgi?id=348050 [2] http://wiki.creativecommons.org/Epiphany_CC_Extension [3] http://wiki.creativecommons.org/Gnome_Integration -- Jaime Frutos Morales Systems Engineer Blog: http://textoplano.livejournal.com From uws@uwsworld.xs4all.nl Mon Jul 31 07:07:38 2006 Return-Path: X-Original-To: epiphany-list@gnome.org Delivered-To: epiphany-list@gnome.org Received: from localhost (localhost.localdomain [127.0.0.1]) by menubar.gnome.org (Postfix) with ESMTP id 58B083B006E for ; Mon, 31 Jul 2006 07:07:38 -0400 (EDT) Received: from menubar.gnome.org ([127.0.0.1]) by localhost (menubar.gnome.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 06920-04 for ; Mon, 31 Jul 2006 07:07:36 -0400 (EDT) Received: from uwsworld.xs4all.nl (uwsworld.xs4all.nl [194.109.237.238]) by menubar.gnome.org (Postfix) with ESMTP id 6BC643B0012 for ; Mon, 31 Jul 2006 07:07:36 -0400 (EDT) Received: from uws by uwsworld.xs4all.nl with local (Exim 3.35 #1) id 1G7VcU-0000pU-00 for ; Mon, 31 Jul 2006 13:07:34 +0200 Date: Mon, 31 Jul 2006 13:07:34 +0200 From: Wouter Bolsterlee To: epiphany-list@gnome.org Subject: Re: CC license viewer inclusion in epiphany-extensions Message-ID: <20060731110734.GA2971@uwsworld.xs4all.nl> Mail-Followup-To: epiphany-list@gnome.org References: <3b8e48b00607310353w1c3e531h5da8b4ce25663767@mail.gmail.com> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="a8Wt8u1KmwUX3Y2C" Content-Disposition: inline In-Reply-To: <3b8e48b00607310353w1c3e531h5da8b4ce25663767@mail.gmail.com> X-message-flag: Guvf zrffntr qbrf abg pbagnva rapelcgrq zrffntrf. X-PGP: key 0x250A63EB, fingerprint 83C5 C205 47AD 539D A4F0 60BF 3FB4 134E 250A 63EB X-Base: All your base are belong to uws User-Agent: Mutt/1.5.6+20040907i Sender: Wouter Bolsterlee X-Virus-Scanned: by amavisd-new at gnome.org X-Spam-Status: No, score=-2.49 tagged_above=-999 required=2 tests=[AWL=-0.081, BAYES_00=-2.599, SUBJ_HAS_UNIQ_ID=0.19] X-Spam-Score: -2.49 X-Spam-Level: X-BeenThere: epiphany-list@gnome.org X-Mailman-Version: 2.1.8 Precedence: list List-Id: For developers and users of the Epiphany web browser List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 31 Jul 2006 11:07:38 -0000 --a8Wt8u1KmwUX3Y2C Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable P=C3=A5 Mon, Jul 31, 2006 at 12:53:52PM +0200, Jaime Frutos Morales skrev: > A few days ago I sent a new extension to Bugzilla called "Creative > Commons license viewer" [1] and I wonder whether it could be included > in the next epiphany-extension release or not. It has received good > comments and it has Creative Commons approval [2]. It would also > contribute to Gnome-CC integration [3]. We're currently in feature freeze, so there's no chance to include it in the upcoming Gnome 2.16 release. It might be included in Gnome 2.18 after it has received a decent amount of testing (and UI review). mvrgr, Wouter --=20 :wq mail uws@xs4all.nl web http://uwstopia.nl child's rhyme stuck in my head :: said that life is but a dream -- tool --a8Wt8u1KmwUX3Y2C Content-Type: application/pgp-signature; name="signature.asc" Content-Description: Digital signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.5 (GNU/Linux) iD8DBQFEzeR1P7QTTiUKY+sRAgceAKDAmwQ9oUdc5Dm1bJKNjnYr1sk2kgCdFLW6 zEKmq1nncyXsL8ke5rPv+u4= =FzCJ -----END PGP SIGNATURE----- --a8Wt8u1KmwUX3Y2C-- From chpe@gnome.org Mon Jul 31 07:48:13 2006 Return-Path: X-Original-To: epiphany-list@gnome.org Delivered-To: epiphany-list@gnome.org Received: from localhost (localhost.localdomain [127.0.0.1]) by menubar.gnome.org (Postfix) with ESMTP id E168F3B006E for ; Mon, 31 Jul 2006 07:48:13 -0400 (EDT) Received: from menubar.gnome.org ([127.0.0.1]) by localhost (menubar.gnome.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 09121-05 for ; Mon, 31 Jul 2006 07:48:12 -0400 (EDT) Received: from wp043.webpack.hosteurope.de (wp043.webpack.hosteurope.de [80.237.132.50]) by menubar.gnome.org (Postfix) with ESMTP id 36D533B00D5 for ; Mon, 31 Jul 2006 07:48:12 -0400 (EDT) Received: by wp043.webpack.hosteurope.de running Exim 4.43 using esmtpsa (TLSv1:RC4-MD5:128) from pd954f0c8.dip0.t-ipconnect.de ([217.84.240.200] helo=[192.168.0.4]) id 1G7WFn-0000qo-Bk; Mon, 31 Jul 2006 13:48:11 +0200 Subject: Re: CC license viewer inclusion in epiphany-extensions From: Christian Persch To: Wouter Bolsterlee In-Reply-To: <20060731110734.GA2971@uwsworld.xs4all.nl> References: <3b8e48b00607310353w1c3e531h5da8b4ce25663767@mail.gmail.com> <20060731110734.GA2971@uwsworld.xs4all.nl> Content-Type: text/plain; charset=UTF-8 Date: Mon, 31 Jul 2006 13:48:10 +0200 Message-Id: <1154346490.5184.6.camel@localhost.localdomain> Mime-Version: 1.0 X-Mailer: Evolution 2.6.1 Content-Transfer-Encoding: quoted-printable X-Virus-Scanned: by amavisd-new at gnome.org X-Spam-Status: No, score=-2.487 tagged_above=-999 required=2 tests=[AWL=-0.078, BAYES_00=-2.599, SUBJ_HAS_UNIQ_ID=0.19] X-Spam-Score: -2.487 X-Spam-Level: Cc: epiphany-list@gnome.org X-BeenThere: epiphany-list@gnome.org X-Mailman-Version: 2.1.8 Precedence: list List-Id: For developers and users of the Epiphany web browser List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 31 Jul 2006 11:48:14 -0000 Hi, Le lundi 31 juillet 2006 =C3=A0 13:07 +0200, Wouter Bolsterlee a =C3=A9crit= : > P=C3=A5 Mon, Jul 31, 2006 at 12:53:52PM +0200, Jaime Frutos Morales skrev= : > > A few days ago I sent a new extension to Bugzilla called "Creative > > Commons license viewer" [1] and I wonder whether it could be included > > in the next epiphany-extension release or not. It has received good > > comments and it has Creative Commons approval [2]. It would also > > contribute to Gnome-CC integration [3]. >=20 > We're currently in feature freeze, so there's no chance to include it in = the > upcoming Gnome 2.16 release. It might be included in Gnome 2.18=20 Actually that's not correct: Epiphany Extensions is not part of any Gnome release set and therefore not subject to any freezes. Regards, Christian From kristoffer.lunden@gmail.com Mon Jul 31 07:55:50 2006 Return-Path: X-Original-To: epiphany-list@gnome.org Delivered-To: epiphany-list@gnome.org Received: from localhost (localhost.localdomain [127.0.0.1]) by menubar.gnome.org (Postfix) with ESMTP id 05B983B002A for ; Mon, 31 Jul 2006 07:55:50 -0400 (EDT) Received: from menubar.gnome.org ([127.0.0.1]) by localhost (menubar.gnome.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 09413-08 for ; Mon, 31 Jul 2006 07:55:47 -0400 (EDT) Received: from nf-out-0910.google.com (nf-out-0910.google.com [64.233.182.185]) by menubar.gnome.org (Postfix) with ESMTP id 2118E3B0012 for ; Mon, 31 Jul 2006 07:55:47 -0400 (EDT) Received: by nf-out-0910.google.com with SMTP id y38so441602nfb for ; Mon, 31 Jul 2006 04:55:46 -0700 (PDT) Received: by 10.78.185.7 with SMTP id i7mr497406huf; Mon, 31 Jul 2006 04:55:45 -0700 (PDT) Received: by 10.78.140.2 with HTTP; Mon, 31 Jul 2006 04:55:45 -0700 (PDT) Message-ID: Date: Mon, 31 Jul 2006 13:55:45 +0200 From: "=?UTF-8?Q?Kristoffer_Lund=C3=A9n?=" To: "Jaime Frutos Morales" Subject: Re: CC license viewer inclusion in epiphany-extensions In-Reply-To: <3b8e48b00607310353w1c3e531h5da8b4ce25663767@mail.gmail.com> MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----=_Part_61945_1493387.1154346945268" References: <3b8e48b00607310353w1c3e531h5da8b4ce25663767@mail.gmail.com> X-Virus-Scanned: by amavisd-new at gnome.org X-Spam-Status: No, score=-1.83 tagged_above=-999 required=2 tests=[AWL=-0.219, BAYES_00=-2.599, DNS_FROM_RFC_ABUSE=0.2, HTML_30_40=0.374, HTML_MESSAGE=0.001, MIME_BASE64_NO_NAME=0.224, SPF_PASS=-0.001, SUBJ_HAS_UNIQ_ID=0.19] X-Spam-Score: -1.83 X-Spam-Level: Cc: epiphany-list@gnome.org X-BeenThere: epiphany-list@gnome.org X-Mailman-Version: 2.1.8 Precedence: list List-Id: For developers and users of the Epiphany web browser List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 31 Jul 2006 11:55:50 -0000 ------=_Part_61945_1493387.1154346945268 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: base64 Content-Disposition: inline T24gNy8zMS8wNiwgSmFpbWUgRnJ1dG9zIE1vcmFsZXMgPGFjaWRib3JnQGdtYWlsLmNvbT4gd3Jv dGU6Cj4KPiBBIGZldyBkYXlzIGFnbyBJIHNlbnQgYSBuZXcgZXh0ZW5zaW9uIHRvIEJ1Z3ppbGxh IGNhbGxlZCAiQ3JlYXRpdmUKPiBDb21tb25zIGxpY2Vuc2Ugdmlld2VyIiBbMV0gYW5kIEkgd29u ZGVyIHdoZXRoZXIgaXQgY291bGQgYmUgaW5jbHVkZWQKPiBpbiB0aGUgbmV4dCBlcGlwaGFueS1l eHRlbnNpb24gcmVsZWFzZSBvciBub3QuIEl0IGhhcyByZWNlaXZlZCBnb29kCj4gY29tbWVudHMg YW5kIGl0IGhhcyBDcmVhdGl2ZSBDb21tb25zIGFwcHJvdmFsIFsyXS4gSXQgd291bGQgYWxzbwo+ IGNvbnRyaWJ1dGUgdG8gR25vbWUtQ0MgaW50ZWdyYXRpb24gWzNdLgoKCkkndmUgbm90IHRyaWVk IGFueSBvZiB0aGVtICh5ZXQpLCBidXQgbG9va2luZyBhdCB0aGUgc2NyZWVuc2hvdCBmb3IgdGhl CmNvcnJlc3BvbmRpbmcgRmlyZWZveCBleHRlbnNpb24gWzFdIGl0IHNlZW1zIHRvIGRpc3BsYXkg aWNvbnMgZm9yIHR5cGUgb2YKbGljZW5zZSB0b28gKGluIHRoaXMgY2FzZSBCWS9yZXF1aXJlcyBh dHRyaWJ1dGlvbikuIEkgdGhpbmsgdGhhdCB3b3VsZCBiZSBhCm5pY2UgZmVhdHVyZSB0byBhZGQs IGFzIGl0IG1ha2VzIGl0IGVhc2llciB0byBzZWUgd2hhdCBraW5kIG9mIGxpY2Vuc2UgYXQgYQpn bGFuY2UsIGZvciB0aG9zZSBpbnRlcmVzdGVkLiBKdXN0IGEgdGhvdWdodC4KClsxXSBodHRwOi8v d2lraS5jcmVhdGl2ZWNvbW1vbnMub3JnL01vekNDCgotLSBTdG9mZmUKCgotLSAKS3Jpc3RvZmZl ciBMdW5kw6luCuKciSBrcmlzdG9mZmVyLmx1bmRlbkBnbWFpbC5jb20K4pyJIGtyaXN0b2ZmZXIu bHVuZGVuQGdhbWVtYWtlci5udQpodHRwOi8vd3d3LmdhbWVtYWtlci5udS8K4piOIDA3MDQgNDgg OTggNzcK ------=_Part_61945_1493387.1154346945268 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: base64 Content-Disposition: inline T24gNy8zMS8wNiwgPGIgY2xhc3M9ImdtYWlsX3NlbmRlcm5hbWUiPkphaW1lIEZydXRvcyBNb3Jh bGVzPC9iPiAmbHQ7PGEgaHJlZj0ibWFpbHRvOmFjaWRib3JnQGdtYWlsLmNvbSI+YWNpZGJvcmdA Z21haWwuY29tPC9hPiZndDsgd3JvdGU6PGRpdj48c3BhbiBjbGFzcz0iZ21haWxfcXVvdGUiPjwv c3Bhbj48YmxvY2txdW90ZSBjbGFzcz0iZ21haWxfcXVvdGUiIHN0eWxlPSJib3JkZXItbGVmdDog MXB4IHNvbGlkIHJnYigyMDQsIDIwNCwgMjA0KTsgbWFyZ2luOiAwcHQgMHB0IDBwdCAwLjhleDsg cGFkZGluZy1sZWZ0OiAxZXg7Ij4KQSBmZXcgZGF5cyBhZ28gSSBzZW50IGEgbmV3IGV4dGVuc2lv biB0byBCdWd6aWxsYSBjYWxsZWQgJnF1b3Q7Q3JlYXRpdmU8YnI+Q29tbW9ucyBsaWNlbnNlIHZp ZXdlciZxdW90OyBbMV0gYW5kIEkgd29uZGVyIHdoZXRoZXIgaXQgY291bGQgYmUgaW5jbHVkZWQ8 YnI+aW4gdGhlIG5leHQgZXBpcGhhbnktZXh0ZW5zaW9uIHJlbGVhc2Ugb3Igbm90LiBJdCBoYXMg cmVjZWl2ZWQgZ29vZDxicj4KY29tbWVudHMgYW5kIGl0IGhhcyBDcmVhdGl2ZSBDb21tb25zIGFw cHJvdmFsIFsyXS4gSXQgd291bGQgYWxzbzxicj5jb250cmlidXRlIHRvIEdub21lLUNDIGludGVn cmF0aW9uIFszXS48L2Jsb2NrcXVvdGU+PGRpdj48YnI+SSd2ZSBub3QgdHJpZWQgYW55IG9mIHRo ZW0gKHlldCksIGJ1dCBsb29raW5nIGF0IHRoZSBzY3JlZW5zaG90IGZvciB0aGUgY29ycmVzcG9u ZGluZyBGaXJlZm94IGV4dGVuc2lvbiBbMV0gaXQgc2VlbXMgdG8gZGlzcGxheSBpY29ucyBmb3Ig dHlwZSBvZiBsaWNlbnNlIHRvbyAoaW4gdGhpcyBjYXNlIEJZL3JlcXVpcmVzIGF0dHJpYnV0aW9u KS4gSSB0aGluayB0aGF0IHdvdWxkIGJlIGEgbmljZSBmZWF0dXJlIHRvIGFkZCwgYXMgaXQgbWFr ZXMgaXQgZWFzaWVyIHRvIHNlZSB3aGF0IGtpbmQgb2YgbGljZW5zZSBhdCBhIGdsYW5jZSwgZm9y IHRob3NlIGludGVyZXN0ZWQuIEp1c3QgYSB0aG91Z2h0Lgo8YnI+PGJyPlsxXSA8YSBocmVmPSJo dHRwOi8vd2lraS5jcmVhdGl2ZWNvbW1vbnMub3JnL01vekNDIj5odHRwOi8vd2lraS5jcmVhdGl2 ZWNvbW1vbnMub3JnL01vekNDPC9hPjxicj4mbmJzcDs8L2Rpdj48L2Rpdj4tLSBTdG9mZmU8YnI+ PGJyPjxicj4tLSA8YnI+S3Jpc3RvZmZlciBMdW5kw6luPGJyPuKciSA8YSBocmVmPSJtYWlsdG86 a3Jpc3RvZmZlci5sdW5kZW5AZ21haWwuY29tIj5rcmlzdG9mZmVyLmx1bmRlbkBnbWFpbC5jb20K PC9hPjxicj7inIkgPGEgaHJlZj0ibWFpbHRvOmtyaXN0b2ZmZXIubHVuZGVuQGdhbWVtYWtlci5u dSI+a3Jpc3RvZmZlci5sdW5kZW5AZ2FtZW1ha2VyLm51PC9hPjxicj48YSBocmVmPSJodHRwOi8v d3d3LmdhbWVtYWtlci5udS8iPmh0dHA6Ly93d3cuZ2FtZW1ha2VyLm51LzwvYT48YnI+4piOIDA3 MDQgNDggOTggNzc8YnI+Cg== ------=_Part_61945_1493387.1154346945268-- From dieguito@gmail.com Mon Jul 31 09:16:46 2006 Return-Path: X-Original-To: epiphany-list@gnome.org Delivered-To: epiphany-list@gnome.org Received: from localhost (localhost.localdomain [127.0.0.1]) by menubar.gnome.org (Postfix) with ESMTP id 38D8D3B0014 for ; Mon, 31 Jul 2006 09:16:46 -0400 (EDT) Received: from menubar.gnome.org ([127.0.0.1]) by localhost (menubar.gnome.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 13369-09 for ; Mon, 31 Jul 2006 09:16:45 -0400 (EDT) Received: from wx-out-0102.google.com (wx-out-0102.google.com [66.249.82.192]) by menubar.gnome.org (Postfix) with ESMTP id CE4893B0013 for ; Mon, 31 Jul 2006 09:16:44 -0400 (EDT) Received: by wx-out-0102.google.com with SMTP id i26so71119wxd for ; Mon, 31 Jul 2006 06:16:44 -0700 (PDT) Received: by 10.70.52.2 with SMTP id z2mr2701613wxz; Mon, 31 Jul 2006 06:16:41 -0700 (PDT) Received: from milkyway-wired-00-0a-e4-27-84-cb.lan ( [201.230.157.66]) by mx.gmail.com with ESMTP id h10sm5167139wxd.2006.07.31.06.16.40; Mon, 31 Jul 2006 06:16:41 -0700 (PDT) Subject: Help with an extension From: Diego Escalante To: epiphany list Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="=-tXWWP+VGP5ON/QaHz62M" Organization: Aureal Systems S.A.C. Date: Mon, 31 Jul 2006 08:16:37 -0500 Message-Id: <1154351798.17022.15.camel@localhost> Mime-Version: 1.0 X-Mailer: Evolution 2.6.1 Sender: diego X-Virus-Scanned: by amavisd-new at gnome.org X-Spam-Status: No, score=-2.4 tagged_above=-999 required=2 tests=[BAYES_00=-2.599, DNS_FROM_RFC_ABUSE=0.2, SPF_PASS=-0.001] X-Spam-Score: -2.4 X-Spam-Level: X-BeenThere: epiphany-list@gnome.org X-Mailman-Version: 2.1.8 Precedence: list List-Id: For developers and users of the Epiphany web browser List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 31 Jul 2006 13:16:46 -0000 --=-tXWWP+VGP5ON/QaHz62M Content-Type: text/plain Content-Transfer-Encoding: quoted-printable Hi guys Now that extensions are mentioned, I thought I could ask for help for mine. I was asked to write a Server-spy[0] clone[1] by a friend, everything was fine with the writing, I used python for it. The extensions does the following: 1. When location is changed, it does a HEAD request to the server 2. When you switch tabs, the statusbar updates with the proper info for the tab. There's one problem with this: Epiphany will wait in (1) (and make the UI freeze) until the HEAD request finishes, that means that you would wait double the normal loading time. This also makes loading info for tabs in the background impossible because they would froze everything, more than 5 tabs or a tab with a slow server and Ephy is frozen. I have tried using asyncore python module to make it async but seems that it doesn't work neither (asyncore.loop() doesn't sound good). BTW, I'm using python methods to get the server info because as far as I understood mozilla info is not available to python bindings and I guess that would include a possible 'mozilla_give_me_the_damn_server_version' method. :) Any help? [0] - https://addons.mozilla.org/firefox/2036/ [1] - http://diego.aureal.com.pe/stuff/epiphany/server-spy.tar.bz2 --=20 "First they ignore you, then they laugh at you, then they fight you, then you win" -Ghandi http://diego.aureal.com.pe . http://diegoe.blogspot.com=20 http://barsafan.wordpress.com . http://www.lifewithubuntu.com --=-tXWWP+VGP5ON/QaHz62M Content-Type: application/pgp-signature; name=signature.asc Content-Description: This is a digitally signed message part -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.2.2 (GNU/Linux) iD8DBQBEzgK0nNPc7ehqlmURApLXAJ97Hg6bxPVt6/M/2RaBvfxg6CxzKQCfUoCw 5xpk/SF8iDnaNHZy0D16b0c= =5e9j -----END PGP SIGNATURE----- --=-tXWWP+VGP5ON/QaHz62M-- From acidborg@gmail.com Mon Jul 31 12:22:03 2006 Return-Path: X-Original-To: epiphany-list@gnome.org Delivered-To: epiphany-list@gnome.org Received: from localhost (localhost.localdomain [127.0.0.1]) by menubar.gnome.org (Postfix) with ESMTP id D59F33B002C for ; Mon, 31 Jul 2006 12:22:03 -0400 (EDT) Received: from menubar.gnome.org ([127.0.0.1]) by localhost (menubar.gnome.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 22879-08 for ; Mon, 31 Jul 2006 12:22:00 -0400 (EDT) Received: from nf-out-0910.google.com (nf-out-0910.google.com [64.233.182.187]) by menubar.gnome.org (Postfix) with ESMTP id 953E73B006F for ; Mon, 31 Jul 2006 12:21:59 -0400 (EDT) Received: by nf-out-0910.google.com with SMTP id l36so597596nfa for ; Mon, 31 Jul 2006 09:21:58 -0700 (PDT) Received: by 10.48.162.15 with SMTP id k15mr2306300nfe; Mon, 31 Jul 2006 09:21:57 -0700 (PDT) Received: by 10.49.15.9 with HTTP; Mon, 31 Jul 2006 09:21:57 -0700 (PDT) Message-ID: <3b8e48b00607310921p7e877bcfs4dc46f0bd3df9f40@mail.gmail.com> Date: Mon, 31 Jul 2006 18:21:57 +0200 From: "Jaime Frutos Morales" To: "=?ISO-8859-1?Q?Kristoffer_Lund=E9n?=" Subject: Re: CC license viewer inclusion in epiphany-extensions In-Reply-To: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: base64 Content-Disposition: inline References: <3b8e48b00607310353w1c3e531h5da8b4ce25663767@mail.gmail.com> X-Virus-Scanned: by amavisd-new at gnome.org X-Spam-Status: No, score=-1.861 tagged_above=-999 required=2 tests=[AWL=0.125, BAYES_00=-2.599, DNS_FROM_RFC_ABUSE=0.2, MIME_BASE64_NO_NAME=0.224, SPF_PASS=-0.001, SUBJ_HAS_UNIQ_ID=0.19] X-Spam-Score: -1.861 X-Spam-Level: Cc: epiphany-list@gnome.org X-BeenThere: epiphany-list@gnome.org X-Mailman-Version: 2.1.8 Precedence: list List-Id: For developers and users of the Epiphany web browser List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 31 Jul 2006 16:22:04 -0000 SU1ITyBpdCBpcyBiZXR0ZXIgdG8ganVzdCBzaG93IGEgIkNDIiBpY29uIGZvciBldmVyeSBraW5k IG9mIGxpY2Vuc2UKaW5zdGVhZCBvZiBzaG93aW5nIGFsbCB0aGUgbGljZW5zZSdzIGZlYXR1cmVz IGFzIGljb25zLgoKVGhlIHJlYXNvbiBpcyB0aGF0IHVzZXJzIGNhbiBlYXNpbHkgYXNzb2NpYXRl IHRoZSBDQyBpY29uIHdpdGggYQpDcmVhdGl2ZSBDb21tb25zIGxpY2Vuc2UgYW5kIHRoZW4sIGlm IHRoZXkncmUgaW50ZXJlc3RlZCBpbiByZWFkaW5nCnRoZSBsaWNlbnNlIGRldGFpbHMsIHRoZXkg anVzdCBoYXZlIHRvIGNsaWNrIG9uIHRoZSBDQyBpY29uIHRvIHJlYWQKdGhlIGxpY2Vuc2UgZGVl ZC4gSSBkb24ndCBsaWtlIHRvIGhhdmUgYW4gb3ZlcmNyb3dkZWQgc3RhdHVzYmFyLCBzbyBhCnNp bmdsZSBpY29uIGNhbiBkbyB0aGUgdHJpY2suCgpXaGF0IGRvIHRoZSByZXN0IG9mIHRoZSBkZXZl bG9wZXJzIHRoaW5rIGFib3V0IHRoaXM/CgoKMjAwNi83LzMxLCBLcmlzdG9mZmVyIEx1bmTDqW4g PGtyaXN0b2ZmZXIubHVuZGVuQGdtYWlsLmNvbT46Cj4gT24gNy8zMS8wNiwgSmFpbWUgRnJ1dG9z IE1vcmFsZXMgPGFjaWRib3JnQGdtYWlsLmNvbT4gd3JvdGU6Cj4KPiA+IEEgZmV3IGRheXMgYWdv IEkgc2VudCBhIG5ldyBleHRlbnNpb24gdG8gQnVnemlsbGEgY2FsbGVkICJDcmVhdGl2ZQo+ID4g Q29tbW9ucyBsaWNlbnNlIHZpZXdlciIgWzFdIGFuZCBJIHdvbmRlciB3aGV0aGVyIGl0IGNvdWxk IGJlIGluY2x1ZGVkCj4gPiBpbiB0aGUgbmV4dCBlcGlwaGFueS1leHRlbnNpb24gcmVsZWFzZSBv ciBub3QuIEl0IGhhcyByZWNlaXZlZCBnb29kCj4gPiBjb21tZW50cyBhbmQgaXQgaGFzIENyZWF0 aXZlIENvbW1vbnMgYXBwcm92YWwgWzJdLiBJdCB3b3VsZCBhbHNvCj4gPiBjb250cmlidXRlIHRv IEdub21lLUNDIGludGVncmF0aW9uIFszXS4KPgo+Cj4gSSd2ZSBub3QgdHJpZWQgYW55IG9mIHRo ZW0gKHlldCksIGJ1dCBsb29raW5nIGF0IHRoZSBzY3JlZW5zaG90IGZvciB0aGUKPiBjb3JyZXNw b25kaW5nIEZpcmVmb3ggZXh0ZW5zaW9uIFsxXSBpdCBzZWVtcyB0byBkaXNwbGF5IGljb25zIGZv ciB0eXBlIG9mCj4gbGljZW5zZSB0b28gKGluIHRoaXMgY2FzZSBCWS9yZXF1aXJlcyBhdHRyaWJ1 dGlvbikuIEkgdGhpbmsgdGhhdCB3b3VsZCBiZSBhCj4gbmljZSBmZWF0dXJlIHRvIGFkZCwgYXMg aXQgbWFrZXMgaXQgZWFzaWVyIHRvIHNlZSB3aGF0IGtpbmQgb2YgbGljZW5zZSBhdCBhCj4gZ2xh bmNlLCBmb3IgdGhvc2UgaW50ZXJlc3RlZC4gSnVzdCBhIHRob3VnaHQuCj4KPiBbMV0gaHR0cDov L3dpa2kuY3JlYXRpdmVjb21tb25zLm9yZy9Nb3pDQwo+ICAtLSBTdG9mZmUKPgo+Cj4gLS0KPiBL cmlzdG9mZmVyIEx1bmTDqW4KPiDinIkga3Jpc3RvZmZlci5sdW5kZW5AZ21haWwuY29tCj4g4pyJ IGtyaXN0b2ZmZXIubHVuZGVuQGdhbWVtYWtlci5udQo+IGh0dHA6Ly93d3cuZ2FtZW1ha2VyLm51 Lwo+IOKYjiAwNzA0IDQ4IDk4IDc3Cj4KCgotLSAKSmFpbWUgRnJ1dG9zIE1vcmFsZXMKU3lzdGVt cyBFbmdpbmVlcgpCbG9nOiBodHRwOi8vdGV4dG9wbGFuby5saXZlam91cm5hbC5jb20K From luis.villa@gmail.com Mon Jul 31 14:28:41 2006 Return-Path: X-Original-To: epiphany-list@gnome.org Delivered-To: epiphany-list@gnome.org Received: from localhost (localhost.localdomain [127.0.0.1]) by menubar.gnome.org (Postfix) with ESMTP id C27783B00B9 for ; Mon, 31 Jul 2006 14:28:41 -0400 (EDT) Received: from menubar.gnome.org ([127.0.0.1]) by localhost (menubar.gnome.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 28170-03 for ; Mon, 31 Jul 2006 14:28:37 -0400 (EDT) Received: from ug-out-1314.google.com (ug-out-1314.google.com [66.249.92.172]) by menubar.gnome.org (Postfix) with ESMTP id D64393B006F for ; Mon, 31 Jul 2006 14:28:36 -0400 (EDT) Received: by ug-out-1314.google.com with SMTP id c2so1013805ugf for ; Mon, 31 Jul 2006 11:28:35 -0700 (PDT) Received: by 10.66.244.10 with SMTP id r10mr2884236ugh; Mon, 31 Jul 2006 11:28:35 -0700 (PDT) Received: by 10.67.90.14 with HTTP; Mon, 31 Jul 2006 11:28:35 -0700 (PDT) Message-ID: <2cb10c440607311128w5b85aa55hf0438fd33cdb2c93@mail.gmail.com> Date: Mon, 31 Jul 2006 14:28:35 -0400 From: "Luis Villa" Sender: luis.villa@gmail.com To: "Jaime Frutos Morales" Subject: Re: CC license viewer inclusion in epiphany-extensions In-Reply-To: <3b8e48b00607310921p7e877bcfs4dc46f0bd3df9f40@mail.gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: base64 Content-Disposition: inline References: <3b8e48b00607310353w1c3e531h5da8b4ce25663767@mail.gmail.com> <3b8e48b00607310921p7e877bcfs4dc46f0bd3df9f40@mail.gmail.com> X-Google-Sender-Auth: 9828e0f8e6297d3c X-Virus-Scanned: by amavisd-new at gnome.org X-Spam-Status: No, score=-2.103 tagged_above=-999 required=2 tests=[AWL=-0.117, BAYES_00=-2.599, DNS_FROM_RFC_ABUSE=0.2, MIME_BASE64_NO_NAME=0.224, SPF_PASS=-0.001, SUBJ_HAS_UNIQ_ID=0.19] X-Spam-Score: -2.103 X-Spam-Level: Cc: epiphany-list@gnome.org X-BeenThere: epiphany-list@gnome.org X-Mailman-Version: 2.1.8 Precedence: list List-Id: For developers and users of the Epiphany web browser List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 31 Jul 2006 18:28:42 -0000 T24gNy8zMS8wNiwgSmFpbWUgRnJ1dG9zIE1vcmFsZXMgPGFjaWRib3JnQGdtYWlsLmNvbT4gd3Jv dGU6Cj4gSU1ITyBpdCBpcyBiZXR0ZXIgdG8ganVzdCBzaG93IGEgIkNDIiBpY29uIGZvciBldmVy eSBraW5kIG9mIGxpY2Vuc2UKPiBpbnN0ZWFkIG9mIHNob3dpbmcgYWxsIHRoZSBsaWNlbnNlJ3Mg ZmVhdHVyZXMgYXMgaWNvbnMuCj4KPiBUaGUgcmVhc29uIGlzIHRoYXQgdXNlcnMgY2FuIGVhc2ls eSBhc3NvY2lhdGUgdGhlIENDIGljb24gd2l0aCBhCj4gQ3JlYXRpdmUgQ29tbW9ucyBsaWNlbnNl IGFuZCB0aGVuLCBpZiB0aGV5J3JlIGludGVyZXN0ZWQgaW4gcmVhZGluZwo+IHRoZSBsaWNlbnNl IGRldGFpbHMsIHRoZXkganVzdCBoYXZlIHRvIGNsaWNrIG9uIHRoZSBDQyBpY29uIHRvIHJlYWQK PiB0aGUgbGljZW5zZSBkZWVkLiBJIGRvbid0IGxpa2UgdG8gaGF2ZSBhbiBvdmVyY3Jvd2RlZCBz dGF0dXNiYXIsIHNvIGEKPiBzaW5nbGUgaWNvbiBjYW4gZG8gdGhlIHRyaWNrLgo+Cj4gV2hhdCBk byB0aGUgcmVzdCBvZiB0aGUgZGV2ZWxvcGVycyB0aGluayBhYm91dCB0aGlzPwoKQ2MgaXMgdHJ5 aW5nIHRvIGVtcGhhc2l6ZSBicmFuZGluZyBvZiBpbmRpdmlkdWFsIGxpY2Vuc2VzLCBhbmQKY29t bXVuaWNhdGUgdGhhdCBhbGwgbGljZW5zZXMgYXJlIG5vdCBlcXVhbC4gVGhpcyBwdXNoIGlzIHN0 aWxsIGluIHRoZQpwbGFubmluZyBzdGFnZXMsIGJ1dCBpdCB3b3VsZCBiZSBnb29kIHRvIGJlIHJl YWR5IGZvciBpdCwgSSBiZWxpZXZlLgoKTHVpcyAodmVyeSBleGNpdGVkIHRvIHNlZSB0aHMtIHdp bGwgY29udHJpYnV0ZSBtb3JlIHRvIHRoZSBnbm9tZS1jYwpkaXNjdXNzaW9uIHdoZW4gbXkgbW92 ZSBpcyBjb21wbGV0ZS4pCgo+Cj4gMjAwNi83LzMxLCBLcmlzdG9mZmVyIEx1bmTDqW4gPGtyaXN0 b2ZmZXIubHVuZGVuQGdtYWlsLmNvbT46Cj4gPiBPbiA3LzMxLzA2LCBKYWltZSBGcnV0b3MgTW9y YWxlcyA8YWNpZGJvcmdAZ21haWwuY29tPiB3cm90ZToKPiA+Cj4gPiA+IEEgZmV3IGRheXMgYWdv IEkgc2VudCBhIG5ldyBleHRlbnNpb24gdG8gQnVnemlsbGEgY2FsbGVkICJDcmVhdGl2ZQo+ID4g PiBDb21tb25zIGxpY2Vuc2Ugdmlld2VyIiBbMV0gYW5kIEkgd29uZGVyIHdoZXRoZXIgaXQgY291 bGQgYmUgaW5jbHVkZWQKPiA+ID4gaW4gdGhlIG5leHQgZXBpcGhhbnktZXh0ZW5zaW9uIHJlbGVh c2Ugb3Igbm90LiBJdCBoYXMgcmVjZWl2ZWQgZ29vZAo+ID4gPiBjb21tZW50cyBhbmQgaXQgaGFz IENyZWF0aXZlIENvbW1vbnMgYXBwcm92YWwgWzJdLiBJdCB3b3VsZCBhbHNvCj4gPiA+IGNvbnRy aWJ1dGUgdG8gR25vbWUtQ0MgaW50ZWdyYXRpb24gWzNdLgo+ID4KPiA+Cj4gPiBJJ3ZlIG5vdCB0 cmllZCBhbnkgb2YgdGhlbSAoeWV0KSwgYnV0IGxvb2tpbmcgYXQgdGhlIHNjcmVlbnNob3QgZm9y IHRoZQo+ID4gY29ycmVzcG9uZGluZyBGaXJlZm94IGV4dGVuc2lvbiBbMV0gaXQgc2VlbXMgdG8g ZGlzcGxheSBpY29ucyBmb3IgdHlwZSBvZgo+ID4gbGljZW5zZSB0b28gKGluIHRoaXMgY2FzZSBC WS9yZXF1aXJlcyBhdHRyaWJ1dGlvbikuIEkgdGhpbmsgdGhhdCB3b3VsZCBiZSBhCj4gPiBuaWNl IGZlYXR1cmUgdG8gYWRkLCBhcyBpdCBtYWtlcyBpdCBlYXNpZXIgdG8gc2VlIHdoYXQga2luZCBv ZiBsaWNlbnNlIGF0IGEKPiA+IGdsYW5jZSwgZm9yIHRob3NlIGludGVyZXN0ZWQuIEp1c3QgYSB0 aG91Z2h0Lgo+ID4KPiA+IFsxXSBodHRwOi8vd2lraS5jcmVhdGl2ZWNvbW1vbnMub3JnL01vekND Cj4gPiAgLS0gU3RvZmZlCj4gPgo+ID4KPiA+IC0tCj4gPiBLcmlzdG9mZmVyIEx1bmTDqW4KPiA+ IOKciSBrcmlzdG9mZmVyLmx1bmRlbkBnbWFpbC5jb20KPiA+IOKciSBrcmlzdG9mZmVyLmx1bmRl bkBnYW1lbWFrZXIubnUKPiA+IGh0dHA6Ly93d3cuZ2FtZW1ha2VyLm51Lwo+ID4g4piOIDA3MDQg NDggOTggNzcKPiA+Cj4KPgo+IC0tCj4gSmFpbWUgRnJ1dG9zIE1vcmFsZXMKPiBTeXN0ZW1zIEVu Z2luZWVyCj4gQmxvZzogaHR0cDovL3RleHRvcGxhbm8ubGl2ZWpvdXJuYWwuY29tCj4gX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPiBlcGlwaGFueS1saXN0 IG1haWxpbmcgbGlzdAo+IGVwaXBoYW55LWxpc3RAZ25vbWUub3JnCj4gaHR0cDovL21haWwuZ25v bWUub3JnL21haWxtYW4vbGlzdGluZm8vZXBpcGhhbnktbGlzdAo+Cg== From res0d26i@verizon.net Fri Jul 14 15:47:09 2006 Return-Path: X-Original-To: epiphany-list@gnome.org Delivered-To: epiphany-list@gnome.org Received: from localhost (unknown [127.0.0.1]) by menubar.gnome.org (Postfix) with ESMTP id 22B163B03A9 for ; Fri, 14 Jul 2006 15:47:09 +0000 (UTC) Received: from menubar.gnome.org ([127.0.0.1]) by localhost (menubar.gnome.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 25997-10 for ; Fri, 14 Jul 2006 15:47:08 +0000 (UTC) Received: from vms040pub.verizon.net (vms040pub.verizon.net [206.46.252.40]) by menubar.gnome.org (Postfix) with ESMTP id 62F6A3B03A6 for ; Fri, 14 Jul 2006 15:47:08 +0000 (UTC) Received: from [192.168.0.138] ([71.104.136.113]) by vms040.mailsrvcs.net (Sun Java System Messaging Server 6.2-4.02 (built Sep 9 2005)) with ESMTPA id <0J2E001F1H62BKTK@vms040.mailsrvcs.net> for epiphany-list@gnome.org; Fri, 14 Jul 2006 10:46:51 -0500 (CDT) Date: Fri, 14 Jul 2006 08:49:14 -0700 From: Damian Pisapia Subject: Google search menu question... To: epiphany-list@gnome.org Message-id: <1152892154.7087.3.camel@localhost> MIME-version: 1.0 X-Mailer: Evolution 2.6.1 Content-type: multipart/alternative; boundary="=-VO7Jelnmbh002LB8y+/d" X-Virus-Scanned: by amavisd-new at gnome.org X-Spam-Status: No, score=0.788 tagged_above=-999 required=2 tests=[AWL=-1.050, BAYES_00=-2.599, DNS_FROM_RFC_ABUSE=0.2, DNS_FROM_RFC_POST=1.708, FROM_HAS_MIXED_NUMS=2.155, HTML_30_40=0.374, HTML_MESSAGE=0.001, SPF_PASS=-0.001] X-Spam-Score: 0.788 X-Spam-Level: X-BeenThere: epiphany-list@gnome.org X-Mailman-Version: 2.1.8 Precedence: list Reply-To: res0d26i@verizon.net List-Id: For developers and users of the Epiphany web browser List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 14 Jul 2006 15:47:09 -0000 --=-VO7Jelnmbh002LB8y+/d Content-Type: text/plain Content-Transfer-Encoding: 7bit Hi, I once, after a fresh install somehow was able to use the google search right click menu feature in Epiphany, but for some reason it has long disappeared on my system and I don't know how to enable it again. Was this feature disabled later in Epiphany itself or is there something wrong with my setup? I am running the latest Dapper Drake release of Ubuntu. Is there any sort of advice you guys could recommend I tried enabling every relevant extension, but I still don't get the menu. Thanks for your hard work and time! Damian --=-VO7Jelnmbh002LB8y+/d Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: 7bit Hi,

I once, after a fresh install somehow was able to use the google search right click menu feature in Epiphany, but for some reason it has long disappeared on my system and I don't know how to enable it again. Was this feature disabled later in Epiphany itself or is there something wrong with my setup? I am running the latest Dapper Drake release of Ubuntu. Is there any sort of advice you guys could recommend I tried enabling every relevant extension, but I still don't get the menu. Thanks for your hard work and time!

Damian --=-VO7Jelnmbh002LB8y+/d-- From gcgae-epiphany-861@m.gmane.org Fri Jul 14 19:35:29 2006 Return-Path: X-Original-To: epiphany-list@gnome.org Delivered-To: epiphany-list@gnome.org Received: from localhost (unknown [127.0.0.1]) by menubar.gnome.org (Postfix) with ESMTP id 1BB5D3B00B7 for ; Fri, 14 Jul 2006 19:35:29 +0000 (UTC) Received: from menubar.gnome.org ([127.0.0.1]) by localhost (menubar.gnome.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 08169-10 for ; Fri, 14 Jul 2006 19:35:27 +0000 (UTC) Received: from ciao.gmane.org (main.gmane.org [80.91.229.2]) by menubar.gnome.org (Postfix) with ESMTP id 267913B00AF for ; Fri, 14 Jul 2006 19:35:27 +0000 (UTC) Received: from root by ciao.gmane.org with local (Exim 4.43) id 1G1TRG-000810-Bx for epiphany-list@gnome.org; Fri, 14 Jul 2006 21:35:02 +0200 Received: from aul93-4-82-239-61-147.fbx.proxad.net ([82.239.61.147]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Fri, 14 Jul 2006 21:35:02 +0200 Received: from aneglus by aul93-4-82-239-61-147.fbx.proxad.net with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Fri, 14 Jul 2006 21:35:02 +0200 X-Injected-Via-Gmane: http://gmane.org/ To: epiphany-list@gnome.org From: Aneglus Subject: What about the epiphany date server/bookmarks db Date: Fri, 14 Jul 2006 19:29:53 +0000 (UTC) Lines: 19 Message-ID: Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Complaints-To: usenet@sea.gmane.org X-Gmane-NNTP-Posting-Host: main.gmane.org User-Agent: Loom/3.14 (http://gmane.org/) X-Loom-IP: 82.239.61.147 (Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.4) Gecko/20060608 Ubuntu/dapper-security Epiphany/2.14 Firefox/1.5.0.4) Sender: news X-Virus-Scanned: by amavisd-new at gnome.org X-Spam-Status: No, score=-2.601 tagged_above=-999 required=2 tests=[BAYES_00=-2.599, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001] X-Spam-Score: -2.601 X-Spam-Level: X-Mailman-Approved-At: Sat, 15 Jul 2006 14:42:51 +0000 X-BeenThere: epiphany-list@gnome.org X-Mailman-Version: 2.1.8 Precedence: list List-Id: For developers and users of the Epiphany web browser List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 14 Jul 2006 19:35:29 -0000 Hi, what about the bookmarks database ? it's planned for the 2.16. Actually this database could be really interresting for the entire gnome desktop because we could also add feeds and maybe webradios/tv. Why ? To let us save/share all our bookmarks easly (over the web and over the desktop). use case : I used for years epiphany but soo, firefox 2.1 is really goood and support gnome bookmark database. I needn't to worry about my bookmarks! For example the epilicious extensions is really interresting but should be implemented alone. Maybe I can help ? From jamiemcc@blueyonder.co.uk Sat Jul 15 18:44:17 2006 Return-Path: X-Original-To: epiphany-list@gnome.org Delivered-To: epiphany-list@gnome.org Received: from localhost (unknown [127.0.0.1]) by menubar.gnome.org (Postfix) with ESMTP id 484733B010B for ; Sat, 15 Jul 2006 18:44:17 +0000 (UTC) Received: from menubar.gnome.org ([127.0.0.1]) by localhost (menubar.gnome.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 26848-08 for ; Sat, 15 Jul 2006 18:44:13 +0000 (UTC) Received: from smtp-out2.blueyonder.co.uk (smtp-out2.blueyonder.co.uk [195.188.213.5]) by menubar.gnome.org (Postfix) with ESMTP id 9FA5B3B00CC for ; Sat, 15 Jul 2006 18:44:13 +0000 (UTC) Received: from [172.23.170.136] (helo=anti-virus01-07) by smtp-out2.blueyonder.co.uk with smtp (Exim 4.52) id 1G1p7c-0003Gt-NS; Sat, 15 Jul 2006 19:44:12 +0100 Received: from [62.30.198.187] (helo=[62.30.198.187]) by asmtp-out4.blueyonder.co.uk with esmtpa (Exim 4.52) id 1G1p7Z-0007u2-RT; Sat, 15 Jul 2006 19:44:09 +0100 Message-ID: <44B9377A.6050004@blueyonder.co.uk> Date: Sat, 15 Jul 2006 19:44:10 +0100 From: Jamie McCracken User-Agent: Thunderbird 1.5.0.2 (X11/20060522) MIME-Version: 1.0 To: Aneglus Subject: Re: What about the epiphany date server/bookmarks db References: In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Virus-Scanned: by amavisd-new at gnome.org X-Spam-Status: No, score=-2.487 tagged_above=-999 required=2 tests=[AWL=0.113, BAYES_00=-2.599, SPF_PASS=-0.001] X-Spam-Score: -2.487 X-Spam-Level: Cc: epiphany-list@gnome.org X-BeenThere: epiphany-list@gnome.org X-Mailman-Version: 2.1.8 Precedence: list List-Id: For developers and users of the Epiphany web browser List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 15 Jul 2006 18:44:17 -0000 Aneglus wrote: > Hi, > > what about the bookmarks database ? it's planned for the 2.16. > > Actually this database could be really interresting for the entire gnome desktop > because we could also add feeds and maybe webradios/tv. Why ? > To let us > save/share all our bookmarks easly (over the web and over the desktop). > use case : > > I used for years epiphany but soo, firefox 2.1 is really goood > and support gnome > bookmark database. I needn't to worry about my bookmarks! > > For example the epilicious extensions is really interresting but > should be > implemented alone. > > Maybe I can help ? Im going to be starting on that next month using tracker(1)'s database (I will have plenty of time next month) Tracker's bookmarks, history and other first class objects are designed to be shared all over the desktop (and potentially with other desktops as its freedesktop/desktop neutral too) If you want to help maybe you can start by spec'ing out whats needed? I want tracker to be the best bookmark database ever (as well as the best music db, photo db, contact db etc) but I need specs... (1) - http://freedesktop.org/wiki/Software/Tracker -- Mr Jamie McCracken http://jamiemcc.livejournal.com/ From aneglus@gmail.com Sat Jul 15 19:11:43 2006 Return-Path: X-Original-To: epiphany-list@gnome.org Delivered-To: epiphany-list@gnome.org Received: from localhost (unknown [127.0.0.1]) by menubar.gnome.org (Postfix) with ESMTP id 529C63B0113 for ; Sat, 15 Jul 2006 19:11:43 +0000 (UTC) Received: from menubar.gnome.org ([127.0.0.1]) by localhost (menubar.gnome.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 27919-07 for ; Sat, 15 Jul 2006 19:11:41 +0000 (UTC) Received: from nf-out-0910.google.com (nf-out-0910.google.com [64.233.182.184]) by menubar.gnome.org (Postfix) with ESMTP id 534A63B008E for ; Sat, 15 Jul 2006 19:11:40 +0000 (UTC) Received: by nf-out-0910.google.com with SMTP id l36so393467nfa for ; Sat, 15 Jul 2006 12:11:39 -0700 (PDT) Received: by 10.49.7.3 with SMTP id k3mr641742nfi; Sat, 15 Jul 2006 12:11:39 -0700 (PDT) Received: by 10.48.221.17 with HTTP; Sat, 15 Jul 2006 12:11:39 -0700 (PDT) Message-ID: <9041cc4c0607151211j49cb5df7je4ea9ef725a050e5@mail.gmail.com> Date: Sat, 15 Jul 2006 21:11:39 +0200 From: "AMAZIGH Aneglus" To: "Jamie McCracken" Subject: Re: What about the epiphany date server/bookmarks db In-Reply-To: <44B9377A.6050004@blueyonder.co.uk> MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline References: <44B9377A.6050004@blueyonder.co.uk> X-Virus-Scanned: by amavisd-new at gnome.org X-Spam-Status: No, score=-2.475 tagged_above=-999 required=2 tests=[AWL=-0.075, BAYES_00=-2.599, DNS_FROM_RFC_ABUSE=0.2, SPF_PASS=-0.001] X-Spam-Score: -2.475 X-Spam-Level: Cc: epiphany-list@gnome.org X-BeenThere: epiphany-list@gnome.org X-Mailman-Version: 2.1.8 Precedence: list List-Id: For developers and users of the Epiphany web browser List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 15 Jul 2006 19:11:43 -0000 > I want tracker to be the best bookmark database ever (as well as the > best music db, photo db, contact db etc) but I need specs... me too :) the thing is I'm going to be busy until monday and I will leave for a place without permanent internet connection Wednesday... I will be back the 7 August. Whatever I will think about this. You want to add this dependencie in the gnome desktop... I mean mysql, you shoul notice the board or something like this ? (about the license) Is tracker supporting tags ? From aneglus@gmail.com Sat Jul 15 19:38:46 2006 Return-Path: X-Original-To: epiphany-list@gnome.org Delivered-To: epiphany-list@gnome.org Received: from localhost (unknown [127.0.0.1]) by menubar.gnome.org (Postfix) with ESMTP id 2C11D3B010B for ; Sat, 15 Jul 2006 19:38:46 +0000 (UTC) Received: from menubar.gnome.org ([127.0.0.1]) by localhost (menubar.gnome.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 29156-03 for ; Sat, 15 Jul 2006 19:38:45 +0000 (UTC) Received: from nf-out-0910.google.com (nf-out-0910.google.com [64.233.182.188]) by menubar.gnome.org (Postfix) with ESMTP id F40C93B01A2 for ; Sat, 15 Jul 2006 19:38:44 +0000 (UTC) Received: by nf-out-0910.google.com with SMTP id l36so396819nfa for ; Sat, 15 Jul 2006 12:38:44 -0700 (PDT) Received: by 10.48.210.20 with SMTP id i20mr652288nfg; Sat, 15 Jul 2006 12:38:44 -0700 (PDT) Received: by 10.48.221.17 with HTTP; Sat, 15 Jul 2006 12:38:44 -0700 (PDT) Message-ID: <9041cc4c0607151238md93a2dfr97e95582103712f3@mail.gmail.com> Date: Sat, 15 Jul 2006 21:38:44 +0200 From: "AMAZIGH Aneglus" To: "Jamie McCracken" Subject: Re: What about the epiphany date server/bookmarks db In-Reply-To: <9041cc4c0607151211j49cb5df7je4ea9ef725a050e5@mail.gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline References: <44B9377A.6050004@blueyonder.co.uk> <9041cc4c0607151211j49cb5df7je4ea9ef725a050e5@mail.gmail.com> X-Virus-Scanned: by amavisd-new at gnome.org X-Spam-Status: No, score=-2.476 tagged_above=-999 required=2 tests=[AWL=-0.076, BAYES_00=-2.599, DNS_FROM_RFC_ABUSE=0.2, SPF_PASS=-0.001] X-Spam-Score: -2.476 X-Spam-Level: Cc: epiphany-list@gnome.org X-BeenThere: epiphany-list@gnome.org X-Mailman-Version: 2.1.8 Precedence: list List-Id: For developers and users of the Epiphany web browser List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 15 Jul 2006 19:38:46 -0000 > Is tracker supporting tags ? I agree, it is a stupid question. :) Well we'd better deal about the epiphany case first. the new bookmark system should be implemented in parallel or create a generic set of API to query a desktop wide database and let people/distro choose one (beagle/tracker/... ?). "standardised" API ? --- What is a bookmark : - URI - NAME - Tags URI maybe a lot of thing ftp, http, but also lastfm, radio, webtv, podcast, rss... ? as it may be harder to to process each URI, it should be in different table: one table per 'protocol'. We need to analyse history to build an intelligent desktop. History elements would be just special bookmarks (with a special tag ?) Tracker may process regularly history to build its 'intelligence'. Intelligence must be subdomains aware but not assumes that I love http://www.livejournal.com/ if I regularly go to http://jamiemcc.livejournal.com/ (if I haven't livejournal.com in my bookmarks it isn't a problem) From reinouts@gnome.org Sat Jul 15 19:55:28 2006 Return-Path: X-Original-To: epiphany-list@gnome.org Delivered-To: epiphany-list@gnome.org Received: from localhost (unknown [127.0.0.1]) by menubar.gnome.org (Postfix) with ESMTP id C39663B0101 for ; Sat, 15 Jul 2006 19:55:28 +0000 (UTC) Received: from menubar.gnome.org ([127.0.0.1]) by localhost (menubar.gnome.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 29382-09 for ; Sat, 15 Jul 2006 19:55:28 +0000 (UTC) Received: from flits.few.vu.nl (flits.few.vu.nl [192.31.231.65]) by menubar.gnome.org (Postfix) with ESMTP id CE4DD3B00CC for ; Sat, 15 Jul 2006 19:55:27 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by flits.few.vu.nl with esmtp (Smail #114) id m1G1qEY-0001qsC; Sat, 15 Jul 2006 21:55 +0200 Date: Sat, 15 Jul 2006 21:55:26 +0200 (CEST) From: Reinout van Schouwen X-X-Sender: reinout@flits.few.vu.nl To: epiphany-list@gnome.org Subject: Re: Google search menu question... In-Reply-To: <1152892154.7087.3.camel@localhost> Message-ID: References: <1152892154.7087.3.camel@localhost> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed X-Virus-Scanned: by amavisd-new at gnome.org X-Spam-Status: No, score=-1.386 tagged_above=-999 required=2 tests=[AWL=-0.060, BAYES_00=-2.599, INFO_TLD=1.273] X-Spam-Score: -1.386 X-Spam-Level: X-BeenThere: epiphany-list@gnome.org X-Mailman-Version: 2.1.8 Precedence: list List-Id: For developers and users of the Epiphany web browser List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 15 Jul 2006 19:55:28 -0000 Hi Damian, On Fri, 14 Jul 2006, Damian Pisapia wrote: > I once, after a fresh install somehow was able to use the google search > right click menu feature in Epiphany, but for some reason it has long > disappeared on my system and I don't know how to enable it again. Was I think you are referring to the Smart Bookmarks extension. It shows a context menu on selected text for each smart bookmark you have (not just Google). Am I on spot? :-) regards, -- Reinout van Schouwen *** student of Artifical Intelligence email: reinout@cs.vu.nl *** mobile phone: +31-6-44360778 www.vanschouwen.info *** help mee met GNOME vertalen: nl.gnome.org From jamiemcc@blueyonder.co.uk Sun Jul 16 08:56:05 2006 Return-Path: X-Original-To: epiphany-list@gnome.org Delivered-To: epiphany-list@gnome.org Received: from localhost (localhost.localdomain [127.0.0.1]) by menubar.gnome.org (Postfix) with ESMTP id 791D73B00CB for ; Sun, 16 Jul 2006 08:56:05 +0000 (UTC) Received: from menubar.gnome.org ([127.0.0.1]) by localhost (menubar.gnome.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 01946-10 for ; Sun, 16 Jul 2006 08:56:04 +0000 (UTC) Received: from smtp-out4.blueyonder.co.uk (smtp-out4.blueyonder.co.uk [195.188.213.7]) by menubar.gnome.org (Postfix) with ESMTP id 1D7CE3B00DF for ; Sun, 16 Jul 2006 08:56:04 +0000 (UTC) Received: from [172.23.170.140] (helo=anti-virus02-07) by smtp-out4.blueyonder.co.uk with smtp (Exim 4.52) id 1G22Pz-0004Ap-K0; Sun, 16 Jul 2006 09:56:03 +0100 Received: from [62.30.198.187] (helo=[62.30.198.187]) by asmtp-out6.blueyonder.co.uk with esmtpa (Exim 4.52) id 1G22Py-00080N-0q; Sun, 16 Jul 2006 09:56:02 +0100 Message-ID: <44B9FF23.20009@blueyonder.co.uk> Date: Sun, 16 Jul 2006 09:56:03 +0100 From: Jamie McCracken User-Agent: Thunderbird 1.5.0.2 (X11/20060522) MIME-Version: 1.0 To: AMAZIGH Aneglus Subject: Re: What about the epiphany date server/bookmarks db References: <44B9377A.6050004@blueyonder.co.uk> <9041cc4c0607151211j49cb5df7je4ea9ef725a050e5@mail.gmail.com> <9041cc4c0607151238md93a2dfr97e95582103712f3@mail.gmail.com> In-Reply-To: <9041cc4c0607151238md93a2dfr97e95582103712f3@mail.gmail.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Virus-Scanned: by amavisd-new at gnome.org X-Spam-Status: No, score=-2.488 tagged_above=-999 required=2 tests=[AWL=0.112, BAYES_00=-2.599, SPF_PASS=-0.001] X-Spam-Score: -2.488 X-Spam-Level: Cc: epiphany-list@gnome.org X-BeenThere: epiphany-list@gnome.org X-Mailman-Version: 2.1.8 Precedence: list List-Id: For developers and users of the Epiphany web browser List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 16 Jul 2006 08:56:05 -0000 AMAZIGH Aneglus wrote: >> Is tracker supporting tags ? > > I agree, it is a stupid question. :) > > Well we'd better deal about the epiphany case first. > > the new bookmark system should be implemented in parallel or create a > generic set of API to query a desktop wide database and let > people/distro choose one (beagle/tracker/... ?). "standardised" API ? Not necessary - tracker can be used as a stand-alone metadata database without any indexing (its lightweight enough). So whether you prefer Beagle or simply dont want any indexing, tracker can still fit the bill. tracker will also be proposed for Gnome 2.18. As tracker uses dbus it is also possible for another process to re-impelement the exact same bookmark/history dbus interfaces of tracker using different technologies if they prefer. -- Mr Jamie McCracken http://jamiemcc.livejournal.com/ From magnus@therning.org Sun Jul 16 10:31:39 2006 Return-Path: X-Original-To: epiphany-list@gnome.org Delivered-To: epiphany-list@gnome.org Received: from localhost (localhost.localdomain [127.0.0.1]) by menubar.gnome.org (Postfix) with ESMTP id 34CC83B0089 for ; Sun, 16 Jul 2006 10:31:39 +0000 (UTC) Received: from menubar.gnome.org ([127.0.0.1]) by localhost (menubar.gnome.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 04751-02 for ; Sun, 16 Jul 2006 10:31:38 +0000 (UTC) Received: from nimue.merula.net (nimue.merula.net [217.146.97.10]) by menubar.gnome.org (Postfix) with ESMTP id 608163B006E for ; Sun, 16 Jul 2006 10:31:37 +0000 (UTC) Received: from localhost.localdomain (adsl-217.146.112.238.merula.net [217.146.112.238] (may be forged)) by nimue.merula.net (8.12.11/8.12.9[Merula+Auth]) with ESMTP id k6GAVY8A001730 for ; Sun, 16 Jul 2006 11:31:35 +0100 Received: by localhost.localdomain (Postfix, from userid 1000) id D78CB27D8B4; Sat, 15 Jul 2006 20:08:28 +0100 (BST) Date: Sat, 15 Jul 2006 20:08:28 +0100 From: Magnus Therning To: epiphany-list@gnome.org Subject: Re: What about the epiphany date server/bookmarks db Message-ID: <20060715190828.GA7124@die.therning.org> References: MIME-Version: 1.0 Content-Type: multipart/signed; micalg=SHA1; protocol="application/pgp-signature"; boundary="wac7ysb48OaltWcw" Content-Disposition: inline In-Reply-To: User-Agent: mutt-ng/devel-r796 (Debian) X-Virus-Scanned: by amavisd-new at gnome.org X-Spam-Status: No, score=-1.805 tagged_above=-999 required=2 tests=[AWL=-0.588, BAYES_00=-2.599, DATE_IN_PAST_12_24=1.247, FORGED_RCVD_HELO=0.135] X-Spam-Score: -1.805 X-Spam-Level: X-BeenThere: epiphany-list@gnome.org X-Mailman-Version: 2.1.8 Precedence: list List-Id: For developers and users of the Epiphany web browser List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 16 Jul 2006 10:31:39 -0000 --wac7ysb48OaltWcw Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Fri, Jul 14, 2006 at 19:29:53 +0000, Aneglus wrote: >Hi, > >what about the bookmarks database ? it's planned for the 2.16. > >Actually this database could be really interresting for the entire >gnome desktop because we could also add feeds and maybe webradios/tv. >Why ?=20 >To let us save/share all our bookmarks easly (over the web and over the >desktop). use case : > >I used for years epiphany but soo, firefox 2.1 is really goood and >support gnome bookmark database. I needn't to worry about my bookmarks! Firefox 2.1? I thought 2.0 wasn't even released yet :-) What GNOME bookmark database? (I probably don't know enough about GNOME's architecture to realise what you're talking about here.) >For example the epilicious extensions is really interresting but should >be implemented alone. As the author of epilicious I'm a little curious what you mean with this :-) I suspect you mean that if epiphany hooks into a GNOME-wide bookmarks database then epilicious could be a standalone program rather than an epilicious plugin. /M --=20 Magnus Therning (OpenPGP: 0xAB4DFBA4) magnus@therning.org Jabber: magnus.therning@gmail.com http://therning.org/magnus Software is not manufactured, it is something you write and publish. Keep Europe free from software patents, we do not want censorship by patent law on written works. Time is a great teacher, but unfortunately it kills all its pupils. -- Hector Louis Berlioz --wac7ysb48OaltWcw Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.3 (GNU/Linux) iD8DBQBEuT0siMWTaatN+6QRAnbpAJ9yR8bOo7vOoMwW+uQXbrgV0t2LUQCbBPdg WlwOd63d4RJJwactkvXQ/S0= =2Awt -----END PGP SIGNATURE----- --wac7ysb48OaltWcw-- From aneglus@gmail.com Sun Jul 16 15:34:36 2006 Return-Path: X-Original-To: epiphany-list@gnome.org Delivered-To: epiphany-list@gnome.org Received: from localhost (localhost.localdomain [127.0.0.1]) by menubar.gnome.org (Postfix) with ESMTP id 1E8FC3B02F3 for ; Sun, 16 Jul 2006 15:34:36 +0000 (UTC) Received: from menubar.gnome.org ([127.0.0.1]) by localhost (menubar.gnome.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 19131-02 for ; Sun, 16 Jul 2006 15:34:35 +0000 (UTC) Received: from nf-out-0910.google.com (nf-out-0910.google.com [64.233.182.188]) by menubar.gnome.org (Postfix) with ESMTP id 05D703B0280 for ; Sun, 16 Jul 2006 15:34:35 +0000 (UTC) Received: by nf-out-0910.google.com with SMTP id l36so7622nfa for ; Sun, 16 Jul 2006 08:34:34 -0700 (PDT) Received: by 10.49.7.3 with SMTP id k3mr1210264nfi; Sun, 16 Jul 2006 08:34:34 -0700 (PDT) Received: by 10.48.221.17 with HTTP; Sun, 16 Jul 2006 08:34:34 -0700 (PDT) Message-ID: <9041cc4c0607160834y5118423bn2a6612633cab7322@mail.gmail.com> Date: Sun, 16 Jul 2006 17:34:34 +0200 From: "AMAZIGH Aneglus" To: "Magnus Therning" Subject: Re: What about the epiphany date server/bookmarks db In-Reply-To: <20060715190828.GA7124@die.therning.org> MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline References: <20060715190828.GA7124@die.therning.org> X-Virus-Scanned: by amavisd-new at gnome.org X-Spam-Status: No, score=-2.479 tagged_above=-999 required=2 tests=[AWL=-0.079, BAYES_00=-2.599, DNS_FROM_RFC_ABUSE=0.2, SPF_PASS=-0.001] X-Spam-Score: -2.479 X-Spam-Level: Cc: epiphany-list@gnome.org X-BeenThere: epiphany-list@gnome.org X-Mailman-Version: 2.1.8 Precedence: list List-Id: For developers and users of the Epiphany web browser List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 16 Jul 2006 15:34:36 -0000 > >I used for years epiphany but soo, firefox 2.1 is really goood and > >support gnome bookmark database. I needn't to worry about my bookmarks! > > Firefox 2.1? I thought 2.0 wasn't even released yet :-) Just a stupid example :) epiphany is just too... good ! > What GNOME bookmark database? (I probably don't know enough about > GNOME's architecture to realise what you're talking about here.) I'm talking about Futur 2.0 ! > :-) I suspect you mean that if epiphany hooks into a GNOME-wide > bookmarks database then epilicious could be a standalone program rather > than an epilicious plugin. That's it ! look at Jamie McCracken mail. From aneglus@gmail.com Sun Jul 16 15:36:37 2006 Return-Path: X-Original-To: epiphany-list@gnome.org Delivered-To: epiphany-list@gnome.org Received: from localhost (localhost.localdomain [127.0.0.1]) by menubar.gnome.org (Postfix) with ESMTP id C84743B01B1 for ; Sun, 16 Jul 2006 15:36:37 +0000 (UTC) Received: from menubar.gnome.org ([127.0.0.1]) by localhost (menubar.gnome.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 19131-03 for ; Sun, 16 Jul 2006 15:36:37 +0000 (UTC) Received: from nf-out-0910.google.com (nf-out-0910.google.com [64.233.182.190]) by menubar.gnome.org (Postfix) with ESMTP id B082A3B0280 for ; Sun, 16 Jul 2006 15:36:36 +0000 (UTC) Received: by nf-out-0910.google.com with SMTP id l36so7888nfa for ; Sun, 16 Jul 2006 08:36:36 -0700 (PDT) Received: by 10.49.20.15 with SMTP id x15mr1210829nfi; Sun, 16 Jul 2006 08:36:35 -0700 (PDT) Received: by 10.48.221.17 with HTTP; Sun, 16 Jul 2006 08:36:35 -0700 (PDT) Message-ID: <9041cc4c0607160836u77a14461w772565019268e879@mail.gmail.com> Date: Sun, 16 Jul 2006 17:36:35 +0200 From: "AMAZIGH Aneglus" To: "Jamie McCracken" Subject: Re: What about the epiphany date server/bookmarks db In-Reply-To: <44B9FF23.20009@blueyonder.co.uk> MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline References: <44B9377A.6050004@blueyonder.co.uk> <9041cc4c0607151211j49cb5df7je4ea9ef725a050e5@mail.gmail.com> <9041cc4c0607151238md93a2dfr97e95582103712f3@mail.gmail.com> <44B9FF23.20009@blueyonder.co.uk> X-Virus-Scanned: by amavisd-new at gnome.org X-Spam-Status: No, score=-2.477 tagged_above=-999 required=2 tests=[AWL=-0.077, BAYES_00=-2.599, DNS_FROM_RFC_ABUSE=0.2, SPF_PASS=-0.001] X-Spam-Score: -2.477 X-Spam-Level: Cc: epiphany-list@gnome.org X-BeenThere: epiphany-list@gnome.org X-Mailman-Version: 2.1.8 Precedence: list List-Id: For developers and users of the Epiphany web browser List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 16 Jul 2006 15:36:38 -0000 > Not necessary - tracker can be used as a stand-alone metadata database > without any indexing (its lightweight enough). > So whether you prefer Beagle or simply dont want any indexing, tracker > can still fit the bill. Tracker will just manage the database, won't it ? Actually we will : - Build history, bookmarks database in/with Tracker - add a dbus interface to epiphany to request history and bookmarks. - add to Tracker a way to handle these requests > tracker will also be proposed for Gnome 2.18. Fine :). 1 year is too much! From magnus@therning.org Sun Jul 16 22:20:03 2006 Return-Path: X-Original-To: epiphany-list@gnome.org Delivered-To: epiphany-list@gnome.org Received: from localhost (localhost.localdomain [127.0.0.1]) by menubar.gnome.org (Postfix) with ESMTP id 0C8503B0002 for ; Sun, 16 Jul 2006 22:20:03 +0000 (UTC) Received: from menubar.gnome.org ([127.0.0.1]) by localhost (menubar.gnome.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 27113-09 for ; Sun, 16 Jul 2006 22:20:00 +0000 (UTC) Received: from nimue.merula.net (nimue.merula.net [217.146.97.10]) by menubar.gnome.org (Postfix) with ESMTP id DDC543B000A for ; Sun, 16 Jul 2006 22:19:59 +0000 (UTC) Received: from localhost.localdomain (adsl-217.146.112.238.merula.net [217.146.112.238] (may be forged)) by nimue.merula.net (8.12.11/8.12.9[Merula+Auth]) with ESMTP id k6GMJwvs008269 for ; Sun, 16 Jul 2006 23:19:58 +0100 Received: by localhost.localdomain (Postfix, from userid 1000) id 6BD5427D8B4; Sun, 16 Jul 2006 23:19:52 +0100 (BST) Date: Sun, 16 Jul 2006 23:19:52 +0100 From: Magnus Therning To: Epiphany List Subject: [RFC]: Patch to include epilicious in epiphany-extensions Message-ID: <20060716221952.GB4093@die.therning.org> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=SHA1; protocol="application/pgp-signature"; boundary="MfFXiAuoTsnnDAfZ" Content-Disposition: inline User-Agent: mutt-ng/devel-r796 (Debian) X-Virus-Scanned: by amavisd-new at gnome.org X-Spam-Status: No, score=-2.292 tagged_above=-999 required=2 tests=[AWL=-0.095, BAYES_00=-2.599, FORGED_RCVD_HELO=0.135, SUBJ_HAS_UNIQ_ID=0.19, TW_JH=0.077] X-Spam-Score: -2.292 X-Spam-Level: X-BeenThere: epiphany-list@gnome.org X-Mailman-Version: 2.1.8 Precedence: list List-Id: For developers and users of the Epiphany web browser List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 16 Jul 2006 22:20:03 -0000 --MfFXiAuoTsnnDAfZ Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable I've been looking into putting epilicious in epiphany-extensions (from CVS). I haven't quite gotten so far as to trying it all out (building stuff with jhbuild at the moment) but I thought that if I can get early feedback on my attempt so far it would probably help a bit. Anything obvious I've missed? /M This is the diff for configure.ac: --- epiphany-extensions_orig/configure.ac 2006-07-12 22:16:38.000000000 +01= 00 +++ epiphany-extensions/configure.ac 2006-07-16 22:51:28.000000000 +0100 @@ -156,7 +156,7 @@ USEFUL_EXTENSIONS=3D"actions auto-reload auto-scroller certificates error-= viewer extensions-manager-ui gestures java-console page-info push-scroller = select-stylesheet sidebar smart-bookmarks tab-groups tab-states" DEFAULT_EXTENSIONS=3D"actions auto-scroller certificates error-viewer exte= nsions-manager-ui gestures java-console page-info push-scroller select-styl= esheet sidebar smart-bookmarks tab-groups tab-states" =20 -PYTHON_ALL_EXTENSIONS=3D"python-console sample-python favicon" +PYTHON_ALL_EXTENSIONS=3D"python-console sample-python epilicious favicon" PYTHON_USEFUL_EXTENSIONS=3D"python-console favicon" PYTHON_DEFAULT_EXTENSIONS=3D"python-console favicon" =20 @@ -342,6 +342,7 @@ extensions/auto-scroller/Makefile extensions/certificates/Makefile extensions/dashboard/Makefile +extensions/epilicious/Makefile extensions/gestures/Makefile extensions/error-viewer/Makefile extensions/error-viewer/mozilla/Makefile This is the Makefile.am in extensions/epilicious: epiliciousdir =3D $(EXTENSIONS_DIR) epiclicious_PYTHON =3D \ libepilicious/pydelicious.py \ libepilicious/progress.py \ libepilicious/__init__.py \ libepilicious/EpiphanyStore.py \ libepilicious/DeliciousStore.py \ libepilicious/BaseStore.py \ epilicious.py gladedir =3D $(pkgdatadir)/glade glade_DATA =3D \ progress.glade schemadir =3D $(GCONF_SCHEMA_FILE_DIR) schema_DATA =3D epilicious.schemas extensioninidir =3D $(extensiondir) extensionini_DATA =3D epilicious.ephy-extension epilicious.py : epilicious.py.in sed -e "s|%EXTENSION_DIR%|$(extensiondir)|" $< > $@ # ??? @INTLTOOL_SCHEMAS_RULE@ @EPIPHANY_EXTENSION_RULE@ install-data-local: $(schema_DATA) if GCONF_SCHEMAS_INSTALL if test -z "$(DESTDIR)" ; then \ for p in $^ ; do \ GCONF_CONFIG_SOURCE=3D$(GCONF_SCHEMA_CONFIG_SOURCE) \ $(GCONFTOOL) --makefile-install-rule $$p >&1 > /dev/null; \ done \ fi endif CLEANFILES =3D DISTCLEANFILES =3D epilicious.py EXTRA_DIST =3D $(glade_DATA) $(schema_DATA) $(extensionini_DATA) --=20 Magnus Therning (OpenPGP: 0xAB4DFBA4) magnus@therning.org Jabber: magnus.therning@gmail.com http://therning.org/magnus Software is not manufactured, it is something you write and publish. Keep Europe free from software patents, we do not want censorship by patent law on written works. If our ideas of intellectual property are wrong, we must change them, improve them and return them to their original purpose. When intellectual property rules diminish the supply of new ideas, they steal from all of us. -- Andrew Brown, November 19, 2005, The Guardian --MfFXiAuoTsnnDAfZ Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.3 (GNU/Linux) iD8DBQBEuruIiMWTaatN+6QRAkTDAKDaH5P+H83EWHuANbwF3GFfDqlhQQCfR9ZL iGhf1X1jkSnP1i1DhGMqr28= =yHsB -----END PGP SIGNATURE----- --MfFXiAuoTsnnDAfZ-- From chpe@gnome.org Mon Jul 17 19:36:57 2006 Return-Path: X-Original-To: epiphany-list@gnome.org Delivered-To: epiphany-list@gnome.org Received: from localhost (localhost.localdomain [127.0.0.1]) by menubar.gnome.org (Postfix) with ESMTP id E36B53B0087 for ; Mon, 17 Jul 2006 19:36:56 +0000 (UTC) Received: from menubar.gnome.org ([127.0.0.1]) by localhost (menubar.gnome.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 07617-04 for ; Mon, 17 Jul 2006 19:36:51 +0000 (UTC) Received: from wp043.webpack.hosteurope.de (wp043.webpack.hosteurope.de [80.237.132.50]) by menubar.gnome.org (Postfix) with ESMTP id A20463B02E3 for ; Mon, 17 Jul 2006 19:36:51 +0000 (UTC) Received: by wp043.webpack.hosteurope.de running Exim 4.43 using esmtpsa (TLSv1:RC4-MD5:128) from p54a5ac28.dip0.t-ipconnect.de ([84.165.172.40] helo=[192.168.0.4]) id 1G2Ytc-00055H-Op; Mon, 17 Jul 2006 21:36:48 +0200 Subject: Re: [RFC]: Patch to include epilicious in epiphany-extensions From: Christian Persch To: Magnus Therning In-Reply-To: <20060716221952.GB4093@die.therning.org> References: <20060716221952.GB4093@die.therning.org> Content-Type: text/plain; charset=UTF-8 Date: Mon, 17 Jul 2006 21:37:08 +0200 Message-Id: <1153165028.5160.2.camel@localhost.localdomain> Mime-Version: 1.0 X-Mailer: Evolution 2.6.1 Content-Transfer-Encoding: quoted-printable X-Virus-Scanned: by amavisd-new at gnome.org X-Spam-Status: No, score=-2.449 tagged_above=-999 required=2 tests=[AWL=-0.117, BAYES_00=-2.599, SUBJ_HAS_UNIQ_ID=0.19, TW_JH=0.077] X-Spam-Score: -2.449 X-Spam-Level: Cc: Epiphany List X-BeenThere: epiphany-list@gnome.org X-Mailman-Version: 2.1.8 Precedence: list List-Id: For developers and users of the Epiphany web browser List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 17 Jul 2006 19:36:57 -0000 Le dimanche 16 juillet 2006 =C3=A0 23:19 +0100, Magnus Therning a =C3=A9cri= t : > I've been looking into putting epilicious in epiphany-extensions (from > CVS). I haven't quite gotten so far as to trying it all out (building > stuff with jhbuild at the moment) but I thought that if I can get early > feedback on my attempt so far it would probably help a bit. >=20 > Anything obvious I've missed? >=20 Looks ok to me, except maybe this: epiliciousdir =3D $(EXTENSIONS_DIR) epiclicious_PYTHON =3D \ libepilicious/pydelicious.py \ [...] Why don't you place those files in the same source directory, and just install into the right place with epiliciousdir =3D $(EXTENSIONS_DIR)/libepilicious=20 ? Regards, Christian From magnus@therning.org Mon Jul 17 20:50:57 2006 Return-Path: X-Original-To: epiphany-list@gnome.org Delivered-To: epiphany-list@gnome.org Received: from localhost (localhost.localdomain [127.0.0.1]) by menubar.gnome.org (Postfix) with ESMTP id 28DBD3B000F for ; Mon, 17 Jul 2006 20:50:57 +0000 (UTC) Received: from menubar.gnome.org ([127.0.0.1]) by localhost (menubar.gnome.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 10611-10 for ; Mon, 17 Jul 2006 20:50:53 +0000 (UTC) Received: from nimue.merula.net (nimue.merula.net [217.146.97.10]) by menubar.gnome.org (Postfix) with ESMTP id 63BE03B0087 for ; Mon, 17 Jul 2006 20:50:49 +0000 (UTC) Received: from localhost.localdomain (adsl-217.146.112.238.merula.net [217.146.112.238] (may be forged)) by nimue.merula.net (8.12.11/8.12.9[Merula+Auth]) with ESMTP id k6HKoiTr010300 for ; Mon, 17 Jul 2006 21:50:44 +0100 Received: by localhost.localdomain (Postfix, from userid 1000) id 33A7527D8B4; Mon, 17 Jul 2006 21:50:39 +0100 (BST) Date: Mon, 17 Jul 2006 21:50:39 +0100 From: Magnus Therning To: epiphany-list@gnome.org Subject: Re: [RFC]: Patch to include epilicious in epiphany-extensions Message-ID: <20060717205038.GF4481@die.therning.org> References: <20060716221952.GB4093@die.therning.org> <1153165028.5160.2.camel@localhost.localdomain> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=SHA1; protocol="application/pgp-signature"; boundary="df+09Je9rNq3P+GE" Content-Disposition: inline In-Reply-To: <1153165028.5160.2.camel@localhost.localdomain> User-Agent: mutt-ng/devel-r796 (Debian) X-Virus-Scanned: by amavisd-new at gnome.org X-Spam-Status: No, score=-2.253 tagged_above=-999 required=2 tests=[AWL=-0.133, BAYES_00=-2.599, FORGED_RCVD_HELO=0.135, SUBJ_HAS_UNIQ_ID=0.19, TW_GT=0.077, TW_JH=0.077] X-Spam-Score: -2.253 X-Spam-Level: X-Mailman-Approved-At: Mon, 17 Jul 2006 21:50:23 +0000 X-BeenThere: epiphany-list@gnome.org X-Mailman-Version: 2.1.8 Precedence: list List-Id: For developers and users of the Epiphany web browser List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 17 Jul 2006 20:50:57 -0000 --df+09Je9rNq3P+GE Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Mon, Jul 17, 2006 at 21:37:08 +0200, Christian Persch wrote: >Le dimanche 16 juillet 2006 =E0 23:19 +0100, Magnus Therning a =E9crit : >> I've been looking into putting epilicious in epiphany-extensions (from >> CVS). I haven't quite gotten so far as to trying it all out (building >> stuff with jhbuild at the moment) but I thought that if I can get early >> feedback on my attempt so far it would probably help a bit. >>=20 >> Anything obvious I've missed? >>=20 > >Looks ok to me, except maybe this: > >epiliciousdir =3D $(EXTENSIONS_DIR) >epiclicious_PYTHON =3D \ > libepilicious/pydelicious.py \ >[...] > >Why don't you place those files in the same source directory, and just >install into the right place with > >epiliciousdir =3D $(EXTENSIONS_DIR)/libepilicious=20 > >? No good reason not to do it :-) Here's the full patch. Still untested :-( diff -NuPr epiphany-extensions_orig/configure.ac epiphany-extensions/config= ure.ac --- epiphany-extensions_orig/configure.ac 2006-07-12 22:16:38.000000000 +01= 00 +++ epiphany-extensions/configure.ac 2006-07-16 22:51:28.000000000 +0100 @@ -156,7 +156,7 @@ USEFUL_EXTENSIONS=3D"actions auto-reload auto-scroller certificates error-= viewer extensions-manager-ui gestures java-console page-info push-scroller = select-stylesheet sidebar smart-bookmarks tab-groups tab-states" DEFAULT_EXTENSIONS=3D"actions auto-scroller certificates error-viewer exte= nsions-manager-ui gestures java-console page-info push-scroller select-styl= esheet sidebar smart-bookmarks tab-groups tab-states" =20 -PYTHON_ALL_EXTENSIONS=3D"python-console sample-python favicon" +PYTHON_ALL_EXTENSIONS=3D"python-console sample-python epilicious favicon" PYTHON_USEFUL_EXTENSIONS=3D"python-console favicon" PYTHON_DEFAULT_EXTENSIONS=3D"python-console favicon" =20 @@ -342,6 +342,7 @@ extensions/auto-scroller/Makefile extensions/certificates/Makefile extensions/dashboard/Makefile +extensions/epilicious/Makefile extensions/gestures/Makefile extensions/error-viewer/Makefile extensions/error-viewer/mozilla/Makefile diff -NuPr epiphany-extensions_orig/extensions/epilicious/BaseStore.py epip= hany-extensions/extensions/epilicious/BaseStore.py --- epiphany-extensions_orig/extensions/epilicious/BaseStore.py 1970-01-01 = 01:00:00.000000000 +0100 +++ epiphany-extensions/extensions/epilicious/BaseStore.py 2006-07-05 22:39= :30.000000000 +0100 @@ -0,0 +1,49 @@ +# Copyright (C) 2005 by Magnus Therning + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +class BaseStore: + '''The base of all stores. Never to be instantiated.''' + + def get_snapshot(self): + '''Calculates a snapshot of the store's bookmarks. + + The format of the snapshot is:: + { : [ , [tag, tag, ...]], + : [ , [*]], + ... } + + @return: the snapshot + ''' + pass + + + def url_delete(self, url): + '''Deletes a URL form the store. + + @type url: string + @param url: URL to delete + ''' + pass + + + def url_sync(self, url, desc, to_del, to_add): + '''Synchronises a URL's tags. The URL is added if it doesn't exist. + + @param url: The URL + @param to_del: Set of tags to delete + @param to_add: Set of tags to add + ''' + pass diff -NuPr epiphany-extensions_orig/extensions/epilicious/DeliciousStore.py= epiphany-extensions/extensions/epilicious/DeliciousStore.py --- epiphany-extensions_orig/extensions/epilicious/DeliciousStore.py 1970-0= 1-01 01:00:00.000000000 +0100 +++ epiphany-extensions/extensions/epilicious/DeliciousStore.py 2006-07-05 = 22:39:30.000000000 +0100 @@ -0,0 +1,96 @@ +# Copyright (C) 2005 by Magnus Therning + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +from urllib2 import URLError +from sets import Set +import pydelicious as delicious +import libepilicious +from libepilicious.BaseStore import BaseStore + + +class DeliciousStore(BaseStore): + '''The class representing the storage of Delicious bookmarks.''' + + def __init__(self, user, pwd, space_repl): + '''Constructor. + + @param user: Delicious username + @param pwd: Delicious password + @param space_repl: Character that replaces space + ''' + self.__un =3D user + self.__pwd =3D pwd + self.__sr =3D space_repl + self.__d =3D delicious.apiNew(user, pwd) + self.__snap_utd =3D 0 + + def get_snapshot(self): + '''Calculates a snapshot of the del.icio.us bookmarks. + + @note: L{BaseStore.get_snapshot} documents the format of the return + value. + ''' + if self.__snap_utd: + return self.__snap + all =3D self.__d.posts_all() + res =3D {} + for p in all: + # Delicious prepends "dangerous" links + if p['href'][:33] =3D=3D 'http://del.icio.us/doc/dangerous#': + url =3D p['href'][33:] + else: + url =3D p['href'] + res[url] =3D [p['description'], \ + [t.replace(self.__sr, ' ') for t in p['tags'].split(' = ')]] + + self.__snap =3D res + self.__snap_utd =3D 1 + return res + + def url_delete(self, url): + '''Deletes a URL from the storage. + + @param url: The URL to delete + ''' + # Delicious prepends "dangerous" links + if url[:7] =3D=3D 'file://': + url =3D 'http://del.icio.us/doc/dangerous#' + url + try: + self.__d.posts_delete(url) + self.__snap_utd =3D 0 + except: + libepilicious.get_logger().exception('Failed to delete URL %s'= % url) + + def url_sync(self, url, desc, to_del, to_add): + '''Synchronises a URL's tags. The URL is added if it doesn't exist. + + @param url: The URL + @param to_del: Set of tags to delete + @param to_add: Set of tags to add + ''' + if to_del or to_add: + snap =3D self.get_snapshot() + if snap.has_key(url): + tags =3D (Set(snap[url][1]) | to_add) - to_del + else: + tags =3D to_add + tag_str =3D ' '.join([t.replace(' ', self.__sr) for t in tags]) + try: + self.__d.posts_add(url, description=3Ddesc, \ + tags=3Dtag_str, replace=3D'yes') + self.__snap_utd =3D 0 + except: + libepilicious.get_logger().exception('Failed to synchronis= e URL %s' % url) diff -NuPr epiphany-extensions_orig/extensions/epilicious/epilicious.ephy-e= xtension epiphany-extensions/extensions/epilicious/epilicious.ephy-extension --- epiphany-extensions_orig/extensions/epilicious/epilicious.ephy-extensio= n 1970-01-01 01:00:00.000000000 +0100 +++ epiphany-extensions/extensions/epilicious/epilicious.ephy-extension 200= 6-07-06 23:39:56.000000000 +0100 @@ -0,0 +1,9 @@ +[Epiphany Extension] +Version=3D1 +Name=3DEpilicious +Authors=3DMagnus Therning ; +URL=3Dhttp://therning.org/magnus/epilicious + +[Loader] +Type=3Dpython +Module=3Depilicious diff -NuPr epiphany-extensions_orig/extensions/epilicious/epilicious.py.in = epiphany-extensions/extensions/epilicious/epilicious.py.in --- epiphany-extensions_orig/extensions/epilicious/epilicious.py.in 1970-01= -01 01:00:00.000000000 +0100 +++ epiphany-extensions/extensions/epilicious/epilicious.py.in 2006-07-16 2= 3:01:10.000000000 +0100 @@ -0,0 +1,212 @@ +# Copyright (C) 2005 by Magnus Therning + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +import gtk +import gconf +import gobject +import sys, os, os.path + +sys.path.append('%EXTENSION_DIR%') + +import libepilicious +libepilicious.LOCATION =3D '%EXTENSION_DIR%' + +# localization +import gettext +try: + t =3D gettext.translation('epilicious') + _ =3D t.ugettext +except Exception, e: + _ =3D lambda x : x + +## Globals ## +username =3D '' +password =3D '' +keyword =3D '' +exclude =3D False +space_repl =3D '' + +## Configuration ## +_gconf_dir =3D '/apps/epiphany/extensions/epilicious' +_gconf_un =3D '/apps/epiphany/extensions/epilicious/username' +_gconf_pwd =3D '/apps/epiphany/extensions/epilicious/password' +_gconf_kw =3D '/apps/epiphany/extensions/epilicious/keyword' +_gconf_excl =3D '/apps/epiphany/extensions/epilicious/exclude' + +def _new_un(client, *args, **kwargs): + '''Callback to handle the username is modified in GConf.''' + global username + username =3D client.get_string(_gconf_un) + +def _new_pwd(client, *args, **kwargs): + '''Callback to handle the password is modified in GConf.''' + global password + password =3D client.get_string(_gconf_pwd) + +def _new_keyword(client, *args, **kwargs): + '''Callback to handle the keyword is modified in GConf.''' + global keyword + keyword =3D client.get_string(_gconf_kw) + +def _new_exclude(client, *args, **kwargs): + '''Callback to handle the exclude is modified in GConf.''' + global exclude + exclude =3D client.get_bool(_gconf_excl) + +def _gconf_register(): + '''Sets up the GConf callbacks.''' + global keyword, exclude, space_repl + + # hard coded for now + space_repl =3D '#' + + client =3D gconf.client_get_default() + client.add_dir(_gconf_dir, gconf.CLIENT_PRELOAD_NONE) + client.notify_add(_gconf_un, _new_un) + client.notify_add(_gconf_pwd, _new_pwd) + client.notify_add(_gconf_kw, _new_keyword) + client.notify_add(_gconf_excl, _new_exclude) + _new_un(client) + _new_pwd(client) + _new_keyword(client) + _new_exclude(client) + +_gconf_register() + +## Synchronisation ## +def _CB_Sync(action, window): + # Using gobject.idle_add() together with a generator is much easier th= an + # getting threading to work properly. It doesn't make the GUI very + # responsive during del.icio.us calls, but it's better than nothing. + libepilicious.get_logger().info('Starting sync') + sync_gen =3D _do_sync() + gobject.idle_add(sync_gen.next) + libepilicious.get_logger().info('Sync done') + +def _do_sync(): + '''Perform the synchronisation. + + This is the method called from the menu item added in epiphany. The + algorithm is as follows: + + 1. Read the base snapshot (L{libepilicious.get_old}) + 2. Create remote storage representation (L{libepilicious.DeliciousStor= e}) + 3. Create local storage representation (L{libepilicious.EpiphanyStore}) + 4. Remove URLs (L{libepilicous.remove_urls}) + 5. Add new URLs and synchronise tags (L{libepilicous.sync_tags_on_urls= }) + 6. Save a local snapshot as a base for the next synchronisation + (L{libepilicious.save_snapshot}) + + Any errors that occur are logged. + ''' + try: + from libepilicious import * + from libepilicious.progress import ProgressBar + from libepilicious.DeliciousStore import DeliciousStore + from libepilicious.EpiphanyStore import EpiphanyStore + + pbar =3D ProgressBar() + pbar.show() + stepper =3D pbar.step() + + remote_store =3D DeliciousStore(user =3D username, pwd =3D passwor= d, \ + space_repl =3D space_repl) + local_store =3D EpiphanyStore(keyword =3D keyword, exclude =3D exc= lude) + stepper.next() + old =3D get_old() + yield True + stepper.next() + remote =3D remote_store.get_snapshot() + yield True + stepper.next() + local =3D local_store.get_snapshot() + yield True + stepper.next() + + # Synchronize URLs + remove_urls(old =3D old, + remote =3D remote, + local =3D local, + rem_store =3D remote_store, + loc_store =3D local_store) + yield True + stepper.next() + + purls =3D calculate_pertinent_urls(old =3D old, + remote =3D remote, local =3D local) + sync_tags_on_urls(purls =3D purls, + old =3D old, + remote =3D remote, + local =3D local, + rem_store =3D remote_store, + loc_store =3D local_store) + yield True + stepper.next() + + # Save the current state for future sync + save_snapshot(local_store.get_snapshot()) + yield True + stepper.next() + yield False + except StopIteration, e: + libepilicious.get_logger().exception('Too many calls to stepper.ne= xt()') + except: + libepilicious.get_logger().exception('Failed sync') + + +## Epiphany integration ## + +_menu_ui =3D ''' + + + + + + + + + +''' % (_('Epilicious Synchronize')) + +_actions =3D [ \ + ('EpiliciousSync', None, _('Epilicious Synchronize'), + None, None, _CB_Sync), \ + ] + +# Epiphany extension interface +def attach_window(window): + try: + ui_manager =3D window.get_ui_manager() + group =3D gtk.ActionGroup('My Menu') + group.add_actions(_actions, window) + ui_manager.insert_action_group(group, 0) + ui_id =3D ui_manager.add_ui_from_string(_menu_ui) + + window._my_menu_data =3D (group, ui_id) + except Exception, e: + libepilicious.get_logger().exception('Failed attach') + +def detach_window(window): + try: + group, ui_id =3D window._my_menu_data + del window._my_menu_data + + ui_manager =3D window.get_ui_manager() + ui_manager.remove_ui(ui_id) + ui_manager.remove_action_group(group) + ui_manager.ensure_update() + except Exception, e: + libepilicious.get_logger().exception('Failed detach') diff -NuPr epiphany-extensions_orig/extensions/epilicious/epilicious.schema= s.in epiphany-extensions/extensions/epilicious/epilicious.schemas.in --- epiphany-extensions_orig/extensions/epilicious/epilicious.schemas.in 19= 70-01-01 01:00:00.000000000 +0100 +++ epiphany-extensions/extensions/epilicious/epilicious.schemas.in 2006-07= -05 22:39:30.000000000 +0100 @@ -0,0 +1,60 @@ + + + + + /schemas/apps/epiphany/extensions/epilicious/username + /apps/epiphany/extensions/epilicious/username + epiphany + string + + + del.icio.us username + The del.icio.us username that epilicious will use for + synchronizing bookmarks. + + + + + /schemas/apps/epiphany/extensions/epilicious/password + /apps/epiphany/extensions/epilicious/password + epiphany + string + + + del.icio.us password + The del.icio.us password that epilicious will use for + synchronizing bookmarks. + + + + + /schemas/apps/epiphany/extensions/epilicious/keyword + /apps/epiphany/extensions/epilicious/keyword + epiphany + string + EpiliciousShare + + Shared topic + Bookmarks with this topic will be synchronized to + del.icio.us. + + + + + /schemas/apps/epiphany/extensions/epilicious/exclude + /apps/epiphany/extensions/epilicious/exclude + epiphany + bool + false + + Exclude topic + Controls the function of the topic. If this is unset then all + bookmarks with the topic will be synched with del.icio.us. If th= is + is set then all bookmarks without the topic will be synched with + del.icio.us. + + + + + + diff -NuPr epiphany-extensions_orig/extensions/epilicious/EpiphanyStore.py = epiphany-extensions/extensions/epilicious/EpiphanyStore.py --- epiphany-extensions_orig/extensions/epilicious/EpiphanyStore.py 1970-01= -01 01:00:00.000000000 +0100 +++ epiphany-extensions/extensions/epilicious/EpiphanyStore.py 2006-07-05 2= 2:39:30.000000000 +0100 @@ -0,0 +1,130 @@ +# Copyright (C) 2005 by Magnus Therning + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +from sets import Set +import epiphany +import libepilicious +from libepilicious.BaseStore import BaseStore + + +class EpiphanyStore(BaseStore): + + def __init__(self, keyword =3D None, exclude =3D False): + # TODO: add a check for the priority of the keyword and set it to = 0, at + # the moment it's not possible since there's no method for it + # (ephy_node_set_property() isn't in the Python API) + self.__kw =3D keyword + self.__excl =3D exclude + + self.__bms =3D epiphany.ephy_shell_get_default().get_bookmarks() + if not self.__bms.find_keyword(self.__kw, False): + self.__bms.add_keyword(self.__kw) + + def __get_all_shared_bookmarks(self): + # Return all shared bookmarks + # Two possibilities: + # 1. Take all bookmarks we have and remove the ones in __kw + # 2. All bookmarks are in __kw + key =3D self.__bms.find_keyword(self.__kw, False) + if self.__excl: + tmp =3D self.__bms.get_bookmarks().get_children() + res =3D [] + for b in tmp: + if not self.__bms.has_keyword(key, b): + res.append(b) + return res + else: + return key.get_children() + + def __get_all_keywords(self): + # Return a list containing all interesting keywords. All special + # keywords (priority=3D=3D1) and 'All' (id=3D=3D0) are uninteresti= ng. + kw_node =3D self.__bms.find_keyword(self.__kw, False) + return [kw for kw in self.__bms.get_keywords().get_children() \ + if kw.get_id() !=3D 0 and \ + kw.get_property_int(epiphany.NODE_KEYWORD_PROP_PRIORITY) != =3D 1 and \ + kw !=3D kw_node] + + def get_snapshot(self): + '''Calculates a snapshot of the Epiphany bookmarks. + + @note: L{BaseStore.get_snapshot} documents the format of the return + value. + ''' + all_shared_bms =3D self.__get_all_shared_bookmarks() + all_keywords =3D self.__get_all_keywords() + + res =3D {} + for bm in all_shared_bms: + res[bm.get_property_string(epiphany.NODE_BMK_PROP_LOCATION)] = =3D \ + [bm.get_property_string(epiphany.NODE_BMK_PROP_TITLE)] + keywords =3D [] + for key in all_keywords: + if self.__bms.has_keyword(key, bm): + keywords.append(key.get_property_string(epiphany.NODE_= KEYWORD_PROP_NAME)) + res[bm.get_property_string(epiphany.NODE_BMK_PROP_LOCATION)].a= ppend(keywords) + + return res + + def url_delete(self, url): + '''Delete a bookmark. + + :type url: string + :param url: The URL of the bookmark + ''' + # This is brute force. It seems the easiest way of removing a book= mark + # is by removing every keyword there is from it. + bm =3D self.__bms.find_bookmark(url) + if bm: + for kw in self.__bms.get_keywords().get_children(): + self.__bms.unset_keyword(kw, bm) + + def url_sync(self, url, desc, to_del, to_add): + '''Synchronise a bookmark. + + The bookmark with the given URL is created if needed and its keywo= rds + are adjusted. + + :type url: string + :param url: The URL of the bookmark + :type desc: string + :param desc: One-line description of the bookmark + :type to_del: list + :param to_del: The keywords (as strings) to delete from the bookma= rk + :type to_add: list + :param to_add: The keywords (as strings) to add to the bookmark + ''' + bm =3D self.__bms.find_bookmark(url) + sharekw =3D self.__bms.find_keyword(self.__kw, False) + if not bm: + bm =3D self.__bms.add(desc, url) + + if self.__excl: + if self.__bms.has_keyword(sharekw, bm): + self.__bms.unset_keyword(sharekw, bm) + else: + if not self.__bms.has_keyword(sharekw, bm): + self.__bms.set_keyword(sharekw, bm) + + for k in to_del: + kw =3D self.__bms.find_keyword(k, False) + self.__bms.unset_keyword(kw, bm) + + for k in to_add: + kw =3D self.__bms.find_keyword(k, False) + if not kw: + kw =3D self.__bms.add_keyword(k) + self.__bms.set_keyword(kw, bm) diff -NuPr epiphany-extensions_orig/extensions/epilicious/__init__.py epiph= any-extensions/extensions/epilicious/__init__.py --- epiphany-extensions_orig/extensions/epilicious/__init__.py 1970-01-01 0= 1:00:00.000000000 +0100 +++ epiphany-extensions/extensions/epilicious/__init__.py 2006-07-06 23:12:= 07.000000000 +0100 @@ -0,0 +1,156 @@ +# Copyright (C) 2005 by Magnus Therning + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +from sets import Set +import pickle +import os, os.path +import time + +# Nice to have for debugging +logger =3D None +def get_logger(): + '''Create and return a file logger. + + The file used for logging is ~/.epilicious.log. + + @return: a file logger + ''' + import logging + global logger + + if logger: + return logger + + logger =3D logging.getLogger('epilicious') + hdlr =3D logging.FileHandler(os.path.join(os.environ['HOME'], '.epilic= ious.log')) + formatter =3D logging.Formatter('%(asctime)s %(levelname)s %(message)s= ') + hdlr.setFormatter(formatter) + logger.addHandler(hdlr) + logger.setLevel(logging.ERROR) + return logger + +_file_name =3D os.path.join(os.environ['HOME'], '.gnome2', \ + 'epiphany', 'epilicious_old') + +def get_old(): + '''Read the base snapshot. + + The base snapshot is read from ~/.gnome2/epiphany/epilicoius_old. + + @return: the base snapshot (an empty dictionary if none exists) + ''' + res =3D {} + try: + f =3D open(_file_name, 'r') + res =3D pickle.load(f) + f.close() + except IOError, e: + res =3D {} + return res + +def save_snapshot(snap): + '''Save a snapshot for future synchronisations. + + The base snapshot is written to ~/.gnome2/epiphany/epilicoius_old. + + @param snap: The snapshot + ''' + f =3D open(_file_name, 'w+') + pickle.dump(snap, f) + f.close() + +def remove_urls(old, remote, local, rem_store, loc_store): + '''Remove URL from local and remote storage. + + @param old: The base snapshot + @param remote: The remote snapshot + @param local: The local snapshot + @param rem_store: The remote storage (L{DeliciousStore}) + @param loc_store: The local storage (L{EpiphanyStore}) + ''' + o =3D Set(old.keys()) + r =3D Set(remote.keys()) + l =3D Set(local.keys()) + for url in o - l: + rem_store.url_delete(url) + for url in o - r: + loc_store.url_delete(url) + +def calculate_pertinent_urls(old, remote, local): + '''Calculate the interesting set of URLs. + + The URLs returned are local URLs minus the URLs that were removed remo= tely + plus the URLs that were added remotely. + + >>> o =3D {2:'',4:'',6:'',8:'',0:''} + >>> r =3D {2:'',4:'',6:'',8:'',1:''} + >>> l =3D {2:'',3:'',6:'',8:'',0:''} + >>> res =3D calculate_pertinent_urls(o, r, l); res.sort(); res + [1, 2, 3, 6, 8] + + @param old: The base snapshot + @param remote: The remote snapshot + @param local: The local snapshot + @return: a list of URLs + ''' + o =3D Set(old.keys()) + r =3D Set(remote.keys()) + l =3D Set(local.keys()) + + return list((l - (o - r)) | (r - o)) + +def _get_tags(url, old, rem, loc): + '''Get the tags and the description for a URL in all three locations. + + @param url: The URL to get tags for + @param old: The base snapshot + @param rem: The remote (Del.icio.us) snapshot + @param loc: The local (Epiphany) snapshot + @return: a tuple of description and lists of tags found in C{old}, C{r= em}, + and C{loc}. + ''' + try: + otags =3D Set(old[url][1]) + desc =3D old[url][0] + except: + otags =3D Set() + try: + rtags =3D Set(rem[url][1]) + desc =3D rem[url][0] + except: + rtags =3D Set() + try: + ltags =3D Set(loc[url][1]) + desc =3D loc[url][0] + except: + ltags =3D Set() + return desc, otags, rtags, ltags + +def sync_tags_on_urls(purls, old, remote, \ + local, rem_store, loc_store): + '''Synchronise tags on URLs, and add URLs that don't exist. + + @param purls: The list of URLs to synchronise + @param old: The base snapshot + @param remote: The remote snapshot + @param local: The local snapshot + @param rem_store: The remote storage (L{DeliciousStore}) + @param loc_store: The local storage (L{EpiphanyStore}) + ''' + for url in purls: + desc, otags, rtags, ltags =3D _get_tags(url, old, remote, local) + rem_store.url_sync(url, desc, otags - ltags, ltags - otags) + loc_store.url_sync(url, desc, otags - rtags, rtags - otags) diff -NuPr epiphany-extensions_orig/extensions/epilicious/Makefile.am epiph= any-extensions/extensions/epilicious/Makefile.am --- epiphany-extensions_orig/extensions/epilicious/Makefile.am 1970-01-01 0= 1:00:00.000000000 +0100 +++ epiphany-extensions/extensions/epilicious/Makefile.am 2006-07-17 21:41:= 32.000000000 +0100 @@ -0,0 +1,43 @@ +epiliciousdir =3D $(EXTENSIONS_DIR) +epiliciouslibdir =3D $(EXTENSIONS_DIR)/libepilicious +epiclicious_PYTHON =3D \ + epilicious.py +epiliciouslib_PYTHON =3D \ + pydelicious.py \ + progress.py \ + __init__.py \ + EpiphanyStore.py \ + DeliciousStore.py \ + BaseStore.py + +gladedir =3D $(pkgdatadir)/glade +glade_DATA =3D \ + progress.glade + +schemadir =3D $(GCONF_SCHEMA_FILE_DIR) +schema_DATA =3D epilicious.schemas + +extensioninidir =3D $(extensiondir) +extensionini_DATA =3D epilicious.ephy-extension + +epilicious.py : epilicious.py.in + sed -e "s|%EXTENSION_DIR%|$(extensiondir)|" $< > $@ + +# ??? @INTLTOOL_SCHEMAS_RULE@ +@EPIPHANY_EXTENSION_RULE@ + +install-data-local: $(schema_DATA) +if GCONF_SCHEMAS_INSTALL + if test -z "$(DESTDIR)" ; then \ + for p in $^ ; do \ + GCONF_CONFIG_SOURCE=3D$(GCONF_SCHEMA_CONFIG_SOURCE) \ + $(GCONFTOOL) --makefile-install-rule $$p >&1 > /dev/null; \ + done \ + fi +endif + +CLEANFILES =3D +DISTCLEANFILES =3D epilicious.py + +EXTRA_DIST =3D $(glade_DATA) $(schema_DATA) $(extensionini_DATA) \ + epilicious.py.in epilicious.schemas.in Binary files epiphany-extensions_orig/extensions/epilicious/.Makefile.am.sw= p and epiphany-extensions/extensions/epilicious/.Makefile.am.swp differ diff -NuPr epiphany-extensions_orig/extensions/epilicious/progress.glade ep= iphany-extensions/extensions/epilicious/progress.glade --- epiphany-extensions_orig/extensions/epilicious/progress.glade 1970-01-0= 1 01:00:00.000000000 +0100 +++ epiphany-extensions/extensions/epilicious/progress.glade 2006-07-05 22:= 39:30.000000000 +0100 @@ -0,0 +1,399 @@ + + + + + + + True + Synchronizing... + GTK_WINDOW_TOPLEVEL + GTK_WIN_POS_NONE + False + False + False + True + False + False + GDK_WINDOW_TYPE_HINT_DIALOG + GDK_GRAVITY_NORTH_WEST + True + False + True + + + + True + False + 0 + + + + True + GTK_BUTTONBOX_END + + + + True + False + True + True + gtk-close + True + GTK_RELIEF_NORMAL + True + -7 + + + + + + 0 + False + True + GTK_PACK_END + + + + + + True + False + 0 + + + + True + <b>Synchronizin= g with del.icio.us</b> + False + True + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 3 + 3 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 0 + False + False + + + + + + True + 6 + 2 + False + 0 + 0 + + + + True + Retrieving previous sync= h point + False + False + GTK_JUSTIFY_LEFT + False + False + 0 + 0.5 + 3 + 3 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 1 + 2 + 0 + 1 + fill + + + + + + + True + Retrieving bookmarks fro= m del.icio.us + False + False + GTK_JUSTIFY_LEFT + False + False + 0 + 0.5 + 3 + 3 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 1 + 2 + 1 + 2 + fill + + + + + + + True + Retrieving bookmarks fro= m epiphany + False + False + GTK_JUSTIFY_LEFT + False + False + 0 + 0.5 + 3 + 3 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 1 + 2 + 2 + 3 + fill + + + + + + + True + Removing deleted bookmar= ks + False + False + GTK_JUSTIFY_LEFT + False + False + 0 + 0.5 + 3 + 3 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 1 + 2 + 3 + 4 + fill + + + + + + + True + Adding new bookmarks and= synching topics + False + False + GTK_JUSTIFY_LEFT + False + False + 0 + 0.5 + 3 + 3 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 1 + 2 + 4 + 5 + fill + + + + + + + True + Saving new synch point + False + False + GTK_JUSTIFY_LEFT + False + False + 0 + 0.5 + 3 + 3 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 1 + 2 + 5 + 6 + fill + + + + + + + 4 + gtk-execute + 0.5 + 0.5 + 3 + 3 + + + 0 + 1 + 0 + 1 + fill + + + + + + 4 + gtk-execute + 0.5 + 0.5 + 3 + 3 + + + 0 + 1 + 1 + 2 + fill + fill + + + + + + 4 + gtk-execute + 0.5 + 0.5 + 3 + 3 + + + 0 + 1 + 2 + 3 + fill + fill + + + + + + 4 + gtk-execute + 0.5 + 0.5 + 3 + 3 + + + 0 + 1 + 3 + 4 + fill + fill + + + + + + 4 + gtk-execute + 0.5 + 0.5 + 3 + 3 + + + 0 + 1 + 4 + 5 + fill + fill + + + + + + 1 + gtk-execute + 0.5 + 0.5 + 3 + 3 + + + 0 + 1 + 5 + 6 + fill + fill + + + + + 0 + True + True + + + + + + + + + 0 + True + True + + + + + + + diff -NuPr epiphany-extensions_orig/extensions/epilicious/progress.py epiph= any-extensions/extensions/epilicious/progress.py --- epiphany-extensions_orig/extensions/epilicious/progress.py 1970-01-01 0= 1:00:00.000000000 +0100 +++ epiphany-extensions/extensions/epilicious/progress.py 2006-07-05 22:39:= 30.000000000 +0100 @@ -0,0 +1,53 @@ +# Copyright (C) 2006 by Magnus Therning + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +import libepilicious +import gtk, gtk.glade +import os.path + +class ProgressBar: + + def __init__(self): + self.gui =3D gtk.glade.XML(os.path.join(libepilicious.LOCATION, \ + 'libepilicious', 'progress.glade')) + self.gui.signal_autoconnect(self) + + self.dlg =3D self.gui.get_widget('dlgProgress') + + def show(self): + self.dlg.show() + + def hide(self): + self.dlg.hide() + + def step(self): + images =3D ['imgStep1', 'imgStep2', 'imgStep3', 'imgStep4', 'imgSt= ep5', 'imgStep6',] + for i in images: + img =3D self.gui.get_widget(i) + img.show() + while gtk.events_pending(): + gtk.main_iteration() + yield True + img.set_from_icon_name('gtk-apply', gtk.ICON_SIZE_MENU) + self.gui.get_widget('btnClose').set_sensitive(True) + while gtk.events_pending(): + gtk.main_iteration() + yield True + + ### signal handlers + def on_btnClose_clicked(self, widget): + self.hide() + del(self) diff -NuPr epiphany-extensions_orig/extensions/epilicious/pydelicious-licen= se.txt epiphany-extensions/extensions/epilicious/pydelicious-license.txt --- epiphany-extensions_orig/extensions/epilicious/pydelicious-license.txt = 1970-01-01 01:00:00.000000000 +0100 +++ epiphany-extensions/extensions/epilicious/pydelicious-license.txt 2006-= 07-05 22:39:30.000000000 +0100 @@ -0,0 +1,10 @@ +Copyright (c) 2006, Frank Timmermann +All rights reserved. + +Redistribution and use in source and binary forms, with or without modific= ation, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notic= e, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright no= tice, this list of conditions and the following disclaimer in the documenta= tion and/or other materials provided with the distribution. + * Neither the name Frank Timmermann, developer team of pydelicious nor= the names of its contributors may be used to endorse or promote products d= erived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS= " AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE= IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE= ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE L= IABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUE= NTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOO= DS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HO= WEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LI= ABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT= OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DA= MAGE. diff -NuPr epiphany-extensions_orig/extensions/epilicious/pydelicious.py ep= iphany-extensions/extensions/epilicious/pydelicious.py --- epiphany-extensions_orig/extensions/epilicious/pydelicious.py 1970-01-0= 1 01:00:00.000000000 +0100 +++ epiphany-extensions/extensions/epilicious/pydelicious.py 2006-07-06 23:= 11:30.000000000 +0100 @@ -0,0 +1,507 @@ +#!/usr/bin/env python +# -*- coding: iso-8859-1 -*- +"""Library to access del.icio.us via python. + +This module helps you to ... + +get() +a =3D apiNew() +a.tags.get +a.tags.rename +a.posts.get +""" + + +## +# License: pydelicious is released under the bsd license. +# See 'license.txt' for more informations. +# + +## +# TODO fuer pydelicious.py +# * die dokumentation aller docs muss noch geschehen +# * dokumentation +# * welche lizense benutze ich +# * lizense einbinden und auch via setup.py verteilen +# * readme auch schreiben und via setup.py verteilen +# * mehr tests +# * auch die funktion von setup.py testen? +# * auch auf anderen systemen testen (linux -> uni) +# * automatisch releases bauen lassen, richtig benennen und in das +# richtige verzeichnis verschieben. +# * was k=F6nnen die anderen librarys denn noch so? (ruby, java, perl, et= c) +# * was wollen die, die es benutzen? +# * wof=FCr k=F6nnte ich es benutzen? +# * entschlacken? +# +# realy? +# * date object von del.icio.us muss ich noch implementieren +# +# done! +# * stimmt das so? muss eher noch t=E4g str2utf8 konvertieren +# >>> pydelicious.getrss(tag=3D"t=E4g") +# url: http://del.icio.us/rss/tag/t=E4g +# * requester muss eine sekunde warten +# * __init__.py gibt die funktionen weiter +# * html parser funktioniert noch nicht, gar nicht +# * alte funktionen fehlen, get_posts_by_url, etc. +# * post funktion erstellen, die auch die fehlenden attribs addiert. +# * die api muss ich noch weiter machen +# * requester muss die 503er abfangen +# * rss parser muss auf viele m=F6glichkeiten angepasst werden + + +import re, md5, httplib +import urllib, urllib2, time +# import datetime, +import StringIO + +# this is new # +# this relays on an external library, will probably be kept # +import sys +import os + +# !!! zweiter Versuch funzt nur auf linux rechner in der uni - +# ersteres auch auf win32, doof. +# [MT] this is how it works on Debian Sid! +from elementtree.ElementTree import parse +import feedparser + +# Taken from FeedParser.py +# timeoutsocket allows feedparser to time out rather than hang forever on = ultra-slow servers. +# Python 2.3 now has this functionality available in the standard socket l= ibrary, so under +# 2.3 you don't need to install anything. But you probably should anyway,= because the socket +# module is buggy and timeoutsocket is better. +try: + import timeoutsocket # http://www.timo-tasi.org/python/timeoutsocket.py + timeoutsocket.setDefaultSocketTimeout(20) +except ImportError: + import socket + if hasattr(socket, 'setdefaulttimeout'): socket.setdefaulttimeout(20) + +# some basic settings +VERSION =3D '0.3.2' +AUTHOR =3D 'Frank Timmermann' +AUTHOR_EMAIL =3D 'regenkind_at_gmx_dot_de' +PROJECT_URL =3D 'http://deliciouspython.python-hosting.com/' +# das folgende ist mit python 2.2.3 nicht erlaubt. :( +CONTACT =3D '%(URL)s or %(email)s'%dict(URL =3D PROJECT_URL, email =3D AUT= HOR_EMAIL) +DESCRIPTION =3D '''pydelicious.py allows you to access the web service of = del.icio.us via it's API through python.''' +LONG_DESCRIPTION =3D '''the goal is to design an easy to use and fully fun= ctional python interface to +del.icio.us. ''' +DWS_HOSTNAME =3D 'http://del.icio.us/' +DWS_HOSTNAME_RSS =3D 'http://del.icio.us/rss/' +DWS_REALM =3D 'del.icio.us API' +DWS_API =3D 'http://del.icio.us/api/' +USER_AGENT =3D 'pydelicious.py/%(version)s %(contact)s' % dict(version =3D= VERSION, contact =3D CONTACT) + +LAST_CALL =3D 0 +DEBUG =3D 0 + +delicious_date_pattern =3D re.compile("[1,2][0-9]{3}-[0-2][0-9]-[0-3][0-9= ]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9]Z") + + +# Helper Funktion +def str2uni(s): + # type(in) str or unicode + # type(out) unicode + return ("".join([unichr(ord(i)) for i in s])) + + +def str2utf8(s): + # type(in) str or unicode + # type(out) str + return ("".join([unichr(ord(i)).encode("utf-8") for i in s])) + + +def str2quote(s): + return urllib.quote_plus("".join([unichr(ord(i)).encode("utf-8") for i= in s])) + + +def dict0(d): + # {'a':'a', 'b':'', 'c': 'c'} =3D> {'a': 'a', 'c': 'c'} + dd =3D dict() + for i in d: + if d[i] !=3D "": dd[i] =3D d[i] + return dd + + +class Waiter: + + def __init__(self, t =3D 0, sleeptime =3D 1): + self.t=3Dt + self.sleeptime =3D sleeptime + self.waitcommand =3D 0 + self.waited =3D 0 + + def wait(self, t=3DNone): + self.waitcommand +=3D 1 + if t =3D=3D None: t =3D time.time() + if DEBUG: print "Waiter:",t-self.t + if t-self.t stimm= t das noch? +''' +def _readHTML(tar =3D "", popular =3D 0, user =3D ""): + pass + # construct url + # get data + # data 2 posts + # return posts + + +# Requester +comment=3D'''stimmt der requester schon mit den vorgaben von del.icio.us u= eberein, nein ... + * sollte ich die daten von del.icio.us auf nur text untersuchen? + +Done +* eine sekunde pause zwischen jedem request klappt. +* ich fange noch nicht den 503 code ab, klappt aber in der alten version + muss ich auch nicht, denn das l=E4uft =FCber die Exception DefaultError= Handler. + ''' +def _request(url, params =3D '', useUrlAsIs =3D 0, user =3D '', passwd =3D= '', ): + if DEBUG: httplib.HTTPConnection.debuglevel =3D 1 + # Please wait AT LEAST ONE SECOND between queries, or you are likely t= o get automatically throttled. + # If you are releasing a library to access the API, you MUST do this. + # Everything is in the Caller, don't use this at home! + Waiter.wait() + # params come as a dict =3D> dict0 =3D> urlencode + params =3D urllib.urlencode(dict0(params)) + authinfo =3D urllib2.HTTPBasicAuthHandler() + authinfo.add_password(DWS_REALM, DWS_HOSTNAME, user, passwd) + opener =3D urllib2.build_opener(authinfo, DefaultErrorHandler()) + request =3D urllib2.Request(DWS_API + url + params) + if useUrlAsIs: request =3D urllib2.Request(url) + request.add_header('User-Agent', USER_AGENT) + if DEBUG: print "url:", request.get_full_url() + try: + o =3D opener.open(request) + return o.read() + except DefaultErrorHandler: + if DEBUG: return opener.open(request).read() + return "" + +# XML Parser +comment=3D'''ist vollst=E4ndig, + * test fehlt nocht +''' +def _handleXML(data): + if DEBUG: print data + x =3D parse(StringIO.StringIO(data)) + mode =3D x.getroot().tag + if mode =3D=3D 'tags': + l =3D [dict(count =3D t.attrib["count"], tag =3D t.attrib["tag"]) = for t in x.findall("tag")] + elif mode =3D=3D "result": + if (x.getroot().attrib.has_key("code") and x.getroot().attrib["cod= e"] =3D=3D 'done') or x.getroot().text in ['done', 'ok']: + l =3D True + else : + l =3D False + elif mode =3D=3D 'update': + l =3D x.getroot().attrib['time'] + elif mode =3D=3D 'dates': + l =3D [dict(count =3D t.attrib["count"], date =3D t.attrib["date"]= ) for t in x.findall("date")] + elif mode =3D=3D 'bundles': + l =3D [dict(name =3D t.attrib["name"], tags =3D t.attrib["tags"]) = for t in x.findall("bundle")] + elif mode =3D=3D 'posts': + l =3D posts() + for t in x.findall("post"): + href, description, hash =3D '', '', '' + tag,time, extended =3D '', '', '' + count =3D '' + if t.attrib.has_key("href"): href =3D t.attrib["href"] + if t.attrib.has_key("description"): description =3D t.attrib["= description"] + if t.attrib.has_key("hash"): hash =3D t.attrib["hash"] + if t.attrib.has_key("tag"): tag =3D t.attrib["tag"] + if t.attrib.has_key("time"): time =3D t.attrib["time"] + if t.attrib.has_key("extended"): extended =3D t.attrib["extend= ed"] + if t.attrib.has_key("count"): count =3D t.attrib["count"] + p =3D post(href=3Dhref, description=3Ddescription,hash=3Dhash, + tag=3Dtag, time=3Dtime, extended=3Dextended, + count=3Dcount) + l.append(p) + return l + +'''brauche ich das?''' +def _validatePost(post): pass + + +# del.icio.us api +comment=3D'''herzstueck + +Done + * was passiert mit nicht ascii daten in der verschickung als parameter? + * noch sehr unvollstaendig + * aufbau der api ist so, glaube ich, nicht mehr sinnvoll, vielleicht doch= lieber nach dem alten schema, also + api.tags_get(...) anstatt api.tags.get(...) +''' +class _DeliciousAPI: +# def _request(url, params =3D '', useUrlAsIs =3D 0, user =3D '', passwd = =3D '', ): + + def __init__(self, user, passwd): + self.user =3D user + self.passwd =3D passwd + + def _main(self, url, params =3D ''): + x =3D _request(url =3D url, params =3D params, user =3D self.user,= passwd =3D self.passwd) + self.xml =3D x + return _handleXML(x) + + def tags_get(self): + return self._main(url =3D "tags/get?") + + def tags_rename(self, old, new): + return self._main("tags/rename?", (dict(old =3D str2utf8(old), + new =3D str2utf8(new)))) + + def posts_update(self): + return self._main("posts/update") + + def posts_dates(self, tag =3D ""): + return self._main("posts/dates?", (dict(tag =3D str2utf8(tag)))) + + def posts_get(self, tag=3D"", dt=3D"", url=3D""): + return self._main("posts/get?", (dict(tag =3D str2utf8(tag), + dt =3D str2utf8(dt), + url =3D str2utf8(url)))) + + def posts_recent(self, tag=3D"", count=3D""): + return self._main("posts/recent?", (dict(tag =3D str2utf8(tag), + count =3D str2utf8(count)= ))) + + def posts_all(self, tag=3D""): + return self._main("posts/all?", (dict(tag =3D str2utf8(tag)))) + + def posts_add(self, url, description=3D"", extended=3D"", tags=3D"", d= t=3D"", replace=3D"no"): + '''add an post to del.icio.us + + url - the url of the page you like to add + description - a description of the page, often the title of the pa= ge + extended (opt) - an extended description, could be some kind of co= mment + tags - tags to sort your posts + dt (opt) - current date in format ...., if no date is given, the c= urrent + date will be used + ''' + return self._main("posts/add?", (dict(url =3D str2utf8(url), + description =3D str2utf8(des= cription), + extended =3D str2utf8(extend= ed), + tags =3D str2utf8(tags), + dt =3D str2utf8(dt), + replace =3D str2utf8(replace= )))) + + def posts_delete(self, url): + return self._main("posts/delete?", (dict(url =3D str2utf8(url)))) + + def bundles_all(self): + return self._main(url =3D "tags/bundles/all") + + def bundles_set(self, bundle, tags): + return self._main(url =3D "tags/bundles/set?", + params =3D (dict(bundle =3D str2utf8(bundle), + tags =3D str2utf8(tags)))) + + def bundles_delete(self, bundle): + return self._main(url =3D "tags/bundles/delete?", + params =3D (dict(bundle =3D str2utf8(bundle)))) + +comment=3D'''kick this, brauche das doch nicht, s.o,''' +def apiNew(user, passwd): + return _DeliciousAPI(user=3Duser, passwd=3D passwd) + +comment=3D''' holt die Daten via rss, entspricht _readRSS +Done +* basiert auch auf rss, html und api +* braucht deshalb noch, bis es voll funzt. ''' +def getrss(tag =3D "", popular =3D 0, url =3D '', user =3D ""): + '''get posts from del.icio.us via parsing Rss or Html + + tag (opt) sort by tag + popular (opt) look for the popular stuff + user (opt) get the posts by a user, this striks popular + url (opt) get the posts by url ''' + return _readRSS(tag=3Dtag, popular=3Dpopular, user=3Duser, url=3Durl) + + +comment =3D '''api funktionen, damit die funktionen aus 0.2.5 bestehen ble= iben''' +def add(user, passwd, url, description, tags =3D "", extended =3D "", dt = =3D "", replace=3D"no"): + return apiNew(user=3Duser, passwd=3Dpasswd).posts_add(url=3Durl, descr= iption=3Ddescription, extended=3Dextended, tags=3Dtags, dt=3Ddt, replace=3D= replace) + + +def get(user, passwd, tag=3D"", dt=3D"", count =3D 0): + posts =3D apiNew(user=3Duser, passwd=3Dpasswd).posts_get(tag=3Dtag,dt= =3Ddt) + if count !=3D 0: posts =3D posts[0:count] + return posts + + +def get_all(user, passwd, tag =3D ""): + return apiNew(user=3Duser, passwd=3Dpasswd).posts_all(tag=3Dtag) + + +def delete(user, passwd, url): + return apiNew(user=3Duser, passwd=3Dpasswd).posts_delete(url=3Durl) + + +def rename_tag(user, passwd, oldtag, newtag): + return apiNew(user=3Duser, passwd=3Dpasswd).tags_rename(old=3Doldtag, = new=3Dnewtag) + + +def get_tags(user, passwd): + return apiNew(user=3Duser, passwd=3Dpasswd).tags_get() + + +def get_userposts(user): + return getrss(user =3D user) + + +def get_tagposts(tag): + return getrss(tag =3D tag) + + +def get_urlposts(url): + return getrss(url =3D url) + + +def get_popular(tag =3D ""): + return getrss(tag =3D tag, popular =3D 1) diff -NuPr epiphany-extensions_orig/extensions/epilicious/THOUGHTS epiphany= -extensions/extensions/epilicious/THOUGHTS --- epiphany-extensions_orig/extensions/epilicious/THOUGHTS 1970-01-01 01:0= 0:00.000000000 +0100 +++ epiphany-extensions/extensions/epilicious/THOUGHTS 2006-07-06 23:12:26.= 000000000 +0100 @@ -0,0 +1,63 @@ +Either I mark the ones that shouldn't be synched (e.g. with keyword 'Skip') +and all other bookmarks are synched. + Only one del.icio.us account can be used + +I mark all the bookmarks that should be synched. + More marking needed. Ability to have several del.icio.us accounts if each + account is associated with a specific keyword. When updating the del.icio= =2Eus + keywords have to be treated differently than other keywords. + +To update two sets when knowing the origin: + + my_new =3D (my - (old - your)) | (your - old) + your_new =3D (your - (old - my)) | (my - old) + + After this my_new =3D=3D your_new. + + Algortihm A: + + URL with keywords are represented as + URL,kw1,kw2,...,kwn + + old =3D Set of URL with keywords from last sync time + new =3D Set of URL with keywords retrieved from remote site + mine =3D Set of URL with keywords locally + + to_add =3D new - old + to_remove =3D old - new + + new_mine =3D (mine + to_add) - to_remove + + 1. Remove all bookmarks marked for share + 2. Add bookmarks in new_mine + 3. (Optional) remove empty tags + + Do step 1-3 for remote site as well. + +The problem with descriptions. + Currently all bookmarks dealings are based on the URL. A change in descri= ption + on either side won't be reflected on the other side after a synch. Only if + there is a change in the tags will a change in description be propagated = as + well, but then there is no way of knowing which site's description to use= =2E At + the moment, if there's a change in description epilicious choses to keep = the + local description (i.e. if locations A and B are synched with Delicious, = and + A's and B's descriptions for a specific site differ then the name in Deli= cious + will bounce with every synch that changes tags for the site). + +Excluding instead of including bookmarks in synch + Two ways to do it: + + 1. All bookmarks in _share_kw_ are shared, except if they are in the + _block_kw_. If _share_kw_ isn't set, then all bookmarks are considere= d. + 2. There is only one keyword, then there's a switch which controls wheth= er + it is used to mark shared or non-shared bookmarks. + + The former is the way proposed in the patch by Tom Coleman. The drawback = here + is that setting the values must be explained to the user (at least one mu= st + be set). + + The latter is simpler, but it restricts the user somewhat. I don't think = that + restriction is relevant though (what becomes impossible is to have someth= ing + marked both for inclusion and exclusion). + +vim: set ft=3Dtext: diff -NuPr epiphany-extensions_orig/extensions/epilicious/TODO epiphany-ext= ensions/extensions/epilicious/TODO --- epiphany-extensions_orig/extensions/epilicious/TODO 1970-01-01 01:00:00= =2E000000000 +0100 +++ epiphany-extensions/extensions/epilicious/TODO 2006-07-05 22:39:30.0000= 00000 +0100 @@ -0,0 +1,44 @@ +- epilicious items + (added Fri May 19 17:14:45 2006, incomplete, priority medium) + + - remove the cache in EpiphanyStore + (added Fri May 19 17:16:09 2006, completed on Sun May 21 23:57:55 2006= , priority medium) + + - use boolean to determine whether keyword is sharing or blocking + (added Fri May 19 17:19:01 2006, completed on Sun May 21 23:58:24 2006= , priority medium) + + - BUG: marking of bookmarks added to epiphany is wrong, they all get mar= ked + with the keyword, that should depend on whether the keyword is used for + inclusion or exclusion + (added Mon Jun 5 09:08:16 2006, completed on Mon Jun 5 22:20:55 2006= , priority medium) + + - change priority on keyword so it doesn't show in bookmark menu + (added Fri May 19 17:17:40 2006, incomplete, priority medium) + + - pop up dialogue if username/password is missing in gconf + (added Fri May 19 17:20:35 2006, incomplete, priority medium) + + - configuration dialogue + (added Fri May 19 17:21:00 2006, incomplete, priority medium) + + - ability to run in a mode where exceptions are caught and displayed + (added Fri May 19 17:21:32 2006, incomplete, priority medium) + + - use epiphany's password store for password + (added Fri May 19 17:21:50 2006, incomplete, priority medium) + + - deal better with descriptions of bookmarks + (added Fri May 19 17:22:11 2006, incomplete, priority medium) + + - add support for scuttle + (added Fri May 19 17:22:41 2006, incomplete, priority medium) + + - support for private bookmarks + (added Fri May 19 17:22:56 2006, incomplete, priority medium) + + - changing URL to server + (added Fri May 19 17:23:10 2006, incomplete, priority medium) + + - BUG: non-US characters are not treated right + (added Mon Jun 5 09:10:04 2006, incomplete, priority medium) + diff -NuPr epiphany-extensions_orig/extensions/epilicious/utils/delbackup e= piphany-extensions/extensions/epilicious/utils/delbackup --- epiphany-extensions_orig/extensions/epilicious/utils/delbackup 1970-01-= 01 01:00:00.000000000 +0100 +++ epiphany-extensions/extensions/epilicious/utils/delbackup 2006-07-06 23= :11:49.000000000 +0100 @@ -0,0 +1,62 @@ +#! /usr/bin/env python + + +import sys +from optparse import OptionParser, make_option +import cPickle as pickle +from ProgressBar import ProgressBar +try: + import pydelicious as delicious +except: + print >> sys.stderr, "Make sure that 'libepilicious' is in $PYTHONPATH" + sys.exit(1) + + +_OPTIONS =3D [ \ + make_option('-u', '--username', \ + help=3D'del.icio.us username [REQUIRED]'), \ + make_option('-p', '--password', \ + help=3D'del.icio.us password [REQUIRED]'), \ + make_option('-o', '--filename', \ + help=3D'filename to save bookmarks to'), \ + make_option('-l', '--noclear', action=3D'store_true', default=3DFa= lse, \ + help=3D'do not clear del.icio.us after backing up'), \ + ] + + +def _clear_delicious(d): + dbms =3D d.posts_all() + pb =3D ProgressBar('Deleting from del.icio.us') + num_items =3D len(dbms) + i =3D 1 + for b in dbms: + pb.update(i, num_items) + d.posts_delete(b['href']) + i +=3D 1 + pb.clear() + + +def main(): + parser =3D OptionParser(option_list=3D_OPTIONS) + options, args =3D parser.parse_args() + if not options.username or not options.password: + print >> sys.stderr, 'Both username and password are required!\n' + sys.exit(1) + outfile =3D sys.stdout + if options.filename: + try: + outfile =3D file(options.filename, 'w+') + except IOError, e: + print >> sys.stderr, 'Could not open file.' + sys.exit(1) + + d =3D delicious.apiNew(options.username, options.password) + dbms =3D d.posts_all() + pickle.dump(dbms, outfile) + + if not options.noclear: + _clear_delicious(d) + + +if __name__ =3D=3D '__main__': + main() diff -NuPr epiphany-extensions_orig/extensions/epilicious/utils/delrestore = epiphany-extensions/extensions/epilicious/utils/delrestore --- epiphany-extensions_orig/extensions/epilicious/utils/delrestore 1970-01= -01 01:00:00.000000000 +0100 +++ epiphany-extensions/extensions/epilicious/utils/delrestore 2006-07-05 2= 2:39:30.000000000 +0100 @@ -0,0 +1,75 @@ +#! /usr/bin/env python + +from optparse import OptionParser, make_option +import cPickle as pickle +import sys +from ProgressBar import ProgressBar +try: + import pydelicious as delicious +except: + print >> sys.stderr, "Make sure that 'libepilicious' is in $PYTHONPATH" + sys.exit(1) + + +_OPTIONS =3D [ \ + make_option('-u', '--username', \ + help=3D'del.icio.us username [REQUIRED]'), \ + make_option('-p', '--password', \ + help=3D'del.icio.us password [REQUIRED]'), \ + make_option('-f', '--filename', \ + help=3D'filename to read bookmarks from'), \ + make_option('-l', '--noclear', action=3D'store_true', default=3DFa= lse, \ + help=3D'do not clear del.icio.us before restoring'), \ + ] + + +def _clear_delicious(d): + dbms =3D d.posts_all() + pb =3D ProgressBar('Deleting from del.icio.us') + num_items =3D len(dbms) + i =3D 1 + for b in dbms: + pb.update(i, num_items) + d.posts_delete(b['href']) + i +=3D 1 + pb.clear() + + +def _restore_delicious(d, bms): + pb =3D ProgressBar('Restoring to del.icio.us') + num_items =3D len(bms) + i =3D 1 + for b in bms: + pb.update(i, num_items) + d.posts_add(b['href'], \ + description=3Db['description'], \ + extended=3Db['extended'], \ + tags=3Db['tags'], \ + dt=3Db['dt']) + i +=3D 1 + pb.clear() + + +def main(): + parser =3D OptionParser(option_list=3D_OPTIONS) + options, args =3D parser.parse_args() + if not options.username or not options.password: + print >> sys.stderr, 'Both username and password are required!\n' + sys.exit(1) + infile =3D sys.stdout + if options.filename: + try: + infile =3D file(options.filename, 'r') + except IOError, e: + print >> sys.stderr, 'Could not open file.' + sys.exit(1) + + lbms =3D pickle.load(infile) + d =3D delicious.apiNew(options.username, options.password) + if not options.noclear: + _clear_delicious(d) + _restore_delicious(d, lbms) + + +if __name__ =3D=3D '__main__': + main() diff -NuPr epiphany-extensions_orig/extensions/epilicious/utils/ProgressBar= =2Epy epiphany-extensions/extensions/epilicious/utils/ProgressBar.py --- epiphany-extensions_orig/extensions/epilicious/utils/ProgressBar.py 197= 0-01-01 01:00:00.000000000 +0100 +++ epiphany-extensions/extensions/epilicious/utils/ProgressBar.py 2006-07-= 06 23:10:13.000000000 +0100 @@ -0,0 +1,192 @@ +# Created by Edward Loper, version 1.2 +# Licensed under GPL (as well as released to the public domain) +# Shamelessly copied from +# http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/475116 + +import sys, re + +class _TerminalController: + """ + A class that can be used to portably generate formatted output to + a terminal. + + `_TerminalController` defines a set of instance variables whose + values are initialized to the control sequence necessary to + perform a given action. These can be simply included in normal + output to the terminal: + + >>> term =3D _TerminalController() + >>> print 'This is '+term.GREEN+'green'+term.NORMAL + + Alternatively, the `render()` method can used, which replaces + '${action}' with the string required to perform 'action': + + >>> term =3D _TerminalController() + >>> print term.render('This is ${GREEN}green${NORMAL}') + + If the terminal doesn't support a given action, then the value of + the corresponding instance variable will be set to ''. As a + result, the above code will still work on terminals that do not + support color, except that their output will not be colored. + Also, this means that you can test whether the terminal supports a + given action by simply testing the truth value of the + corresponding instance variable: + + >>> term =3D _TerminalController() + >>> if term.CLEAR_SCREEN: + ... print 'This terminal supports clearning the screen.' + + Finally, if the width and height of the terminal are known, then + they will be stored in the `COLS` and `LINES` attributes. + """ + # Cursor movement: + BOL =3D '' #: Move the cursor to the beginning of the line + UP =3D '' #: Move the cursor up one line + DOWN =3D '' #: Move the cursor down one line + LEFT =3D '' #: Move the cursor left one char + RIGHT =3D '' #: Move the cursor right one char + + # Deletion: + CLEAR_SCREEN =3D '' #: Clear the screen and move to home position + CLEAR_EOL =3D '' #: Clear to the end of the line. + CLEAR_BOL =3D '' #: Clear to the beginning of the line. + CLEAR_EOS =3D '' #: Clear to the end of the screen + + # Output modes: + BOLD =3D '' #: Turn on bold mode + BLINK =3D '' #: Turn on blink mode + DIM =3D '' #: Turn on half-bright mode + REVERSE =3D '' #: Turn on reverse-video mode + NORMAL =3D '' #: Turn off all modes + + # Cursor display: + HIDE_CURSOR =3D '' #: Make the cursor invisible + SHOW_CURSOR =3D '' #: Make the cursor visible + + # Terminal size: + COLS =3D None #: Width of the terminal (None for unknown) + LINES =3D None #: Height of the terminal (None for unknown) + + # Foreground colors: + BLACK =3D BLUE =3D GREEN =3D CYAN =3D RED =3D MAGENTA =3D YELLOW =3D W= HITE =3D '' + + # Background colors: + BG_BLACK =3D BG_BLUE =3D BG_GREEN =3D BG_CYAN =3D '' + BG_RED =3D BG_MAGENTA =3D BG_YELLOW =3D BG_WHITE =3D '' + + _STRING_CAPABILITIES =3D """ + BOL=3Dcr UP=3Dcuu1 DOWN=3Dcud1 LEFT=3Dcub1 RIGHT=3Dcuf1 + CLEAR_SCREEN=3Dclear CLEAR_EOL=3Del CLEAR_BOL=3Del1 CLEAR_EOS=3Ded BOL= D=3Dbold + BLINK=3Dblink DIM=3Ddim REVERSE=3Drev UNDERLINE=3Dsmul NORMAL=3Dsgr0 + HIDE_CURSOR=3Dcinvis SHOW_CURSOR=3Dcnorm""".split() + _COLORS =3D """BLACK BLUE GREEN CYAN RED MAGENTA YELLOW WHITE""".split= () + _ANSICOLORS =3D "BLACK RED GREEN YELLOW BLUE MAGENTA CYAN WHITE".split= () + + def __init__(self, term_stream=3Dsys.stdout): + """ + Create a `_TerminalController` and initialize its attributes + with appropriate values for the current terminal. + `term_stream` is the stream that will be used for terminal + output; if this stream is not a tty, then the terminal is + assumed to be a dumb terminal (i.e., have no capabilities). + """ + # Curses isn't available on all platforms + try: import curses + except: return + + # If the stream isn't a tty, then assume it has no capabilities. + if not term_stream.isatty(): return + + # Check the terminal type. If we fail, then assume that the + # terminal has no capabilities. + try: curses.setupterm() + except: return + + # Look up numeric capabilities. + self.COLS =3D curses.tigetnum('cols') + self.LINES =3D curses.tigetnum('lines') + + # Look up string capabilities. + for capability in self._STRING_CAPABILITIES: + (attrib, cap_name) =3D capability.split('=3D') + setattr(self, attrib, self._tigetstr(cap_name) or '') + + # Colors + set_fg =3D self._tigetstr('setf') + if set_fg: + for i,color in zip(range(len(self._COLORS)), self._COLORS): + setattr(self, color, curses.tparm(set_fg, i) or '') + set_fg_ansi =3D self._tigetstr('setaf') + if set_fg_ansi: + for i,color in zip(range(len(self._ANSICOLORS)), self._ANSICOL= ORS): + setattr(self, color, curses.tparm(set_fg_ansi, i) or '') + set_bg =3D self._tigetstr('setb') + if set_bg: + for i,color in zip(range(len(self._COLORS)), self._COLORS): + setattr(self, 'BG_'+color, curses.tparm(set_bg, i) or '') + set_bg_ansi =3D self._tigetstr('setab') + if set_bg_ansi: + for i,color in zip(range(len(self._ANSICOLORS)), self._ANSICOL= ORS): + setattr(self, 'BG_'+color, curses.tparm(set_bg_ansi, i) or= '') + + def _tigetstr(self, cap_name): + # String capabilities can include "delays" of the form "$<2>". + # For any modern terminal, we should be able to just ignore + # these, so strip them out. + import curses + cap =3D curses.tigetstr(cap_name) or '' + return re.sub(r'\$<\d+>[/*]?', '', cap) + + def render(self, template): + """ + Replace each $-substitutions in the given template string with + the corresponding terminal control string (if it's defined) or + '' (if it's not). + """ + return re.sub(r'\$\$|\${\w+}', self._render_sub, template) + + def _render_sub(self, match): + s =3D match.group() + if s =3D=3D '$$': return s + else: return getattr(self, s[2:-1]) + + +class ProgressBar: + """ + A 2-line progress bar, which looks like:: + + Header + 20% [=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D----------------------------= ------] + + The progress bar adjusts to the width of the terminal. + """ + HEADER =3D '${BOLD}%s${NORMAL}\n\n' + BAR =3D '${BOLD}[%s%s] %d/%d${NORMAL}\n' + + def __init__(self, header, term_stream=3Dsys.stdout): + self.term =3D _TerminalController(term_stream) + if not (self.term.CLEAR_EOL and self.term.UP and self.term.BOL): + raise ValueError("Terminal isn't capable enough -- you " + "should use a simpler progress dispaly.") + self.width =3D self.term.COLS or 75 + self.bar =3D self.term.render(self.BAR) + self.header =3D self.term.render(self.HEADER % header.center(self.= width)) + self.cleared =3D 1 #: true if we haven't drawn the bar yet. + self.update(0, 1) + + def update(self, done, total): + if self.cleared: + sys.stdout.write(self.header) + self.cleared =3D 0 + percent =3D float(done) / float(total) + n =3D int((self.width-10)*percent) + sys.stdout.write( + self.term.BOL + self.term.UP + self.term.CLEAR_EOL + + (self.bar % ('=3D'*n, '-'*(self.width-10-n), done, total))) + + def clear(self): + if not self.cleared: + sys.stdout.write(self.term.BOL + self.term.CLEAR_EOL + + self.term.UP + self.term.CLEAR_EOL + + self.term.UP + self.term.CLEAR_EOL) + self.cleared =3D 1 diff -NuPr epiphany-extensions_orig/po/POTFILES.in epiphany-extensions/po/P= OTFILES.in --- epiphany-extensions_orig/po/POTFILES.in 2006-04-24 11:27:02.000000000 += 0100 +++ epiphany-extensions/po/POTFILES.in 2006-07-17 21:39:11.000000000 +0100 @@ -8,6 +8,9 @@ extensions/actions/ephy-actions-extension-properties-dialog.c extensions/auto-reload/ephy-auto-reload-extension.c extensions/certificates/ephy-certificates-extension.c +extensions/epilicious/epilicious.py.in +extensions/epilicious/epilicious.schemas.in +extensions/epilicious/progress.glade extensions/error-viewer/ephy-error-viewer-extension.c extensions/error-viewer/error-viewer.glade extensions/error-viewer/link-checker.c @@ -15,9 +18,9 @@ extensions/error-viewer/mozilla/ErrorViewerURICheckerObserver.cpp extensions/error-viewer/opensp/validate.cpp extensions/error-viewer/sgml-validator.c +extensions/extensions-manager-ui/ephy-extensions-manager-ui-extension.c extensions/extensions-manager-ui/extensions-manager-ui.c extensions/extensions-manager-ui/extensions-manager-ui.glade -extensions/extensions-manager-ui/ephy-extensions-manager-ui-extension.c extensions/greasemonkey/ephy-greasemonkey-extension.c extensions/java-console/ephy-java-console-extension.c extensions/page-info/ephy-page-info-extension.c --=20 Magnus Therning (OpenPGP: 0xAB4DFBA4) magnus@therning.org Jabber: magnus.therning@gmail.com http://therning.org/magnus Software is not manufactured, it is something you write and publish. Keep Europe free from software patents, we do not want censorship by patent law on written works. Good powers of observation are frequently called "cynicism" by those that don't have them. --df+09Je9rNq3P+GE Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.3 (GNU/Linux) iD8DBQBEu/geiMWTaatN+6QRAtTMAJsFhIN5duWrB/ynGBX0SKgzvY3H9gCeOk+u JUrVxQt+Sm2A6SKGVZqoTzU= =W1P5 -----END PGP SIGNATURE----- --df+09Je9rNq3P+GE-- From reinouts@gnome.org Mon Jul 17 22:58:57 2006 Return-Path: X-Original-To: epiphany-list@gnome.org Delivered-To: epiphany-list@gnome.org Received: from localhost (localhost.localdomain [127.0.0.1]) by menubar.gnome.org (Postfix) with ESMTP id 56AAB3B01BC for ; Mon, 17 Jul 2006 22:58:57 +0000 (UTC) Received: from menubar.gnome.org ([127.0.0.1]) by localhost (menubar.gnome.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 16378-04 for ; Mon, 17 Jul 2006 22:58:55 +0000 (UTC) Received: from flits.few.vu.nl (flits.few.vu.nl [192.31.231.65]) by menubar.gnome.org (Postfix) with ESMTP id BD3CE3B0087 for ; Mon, 17 Jul 2006 22:58:54 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by flits.few.vu.nl with esmtp (Smail #114) id m1G2c3B-0001qsC; Tue, 18 Jul 2006 00:58 +0200 Date: Tue, 18 Jul 2006 00:58:44 +0200 (CEST) From: Reinout van Schouwen X-X-Sender: reinout@flits.few.vu.nl To: epiphany-list@gnome.org Subject: Document-oriented web Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed X-Virus-Scanned: by amavisd-new at gnome.org X-Spam-Status: No, score=-1.386 tagged_above=-999 required=2 tests=[AWL=-0.060, BAYES_00=-2.599, INFO_TLD=1.273] X-Spam-Score: -1.386 X-Spam-Level: X-BeenThere: epiphany-list@gnome.org X-Mailman-Version: 2.1.8 Precedence: list List-Id: For developers and users of the Epiphany web browser List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 17 Jul 2006 22:58:57 -0000 Hello all, I'd like to share this thread on desktop-devel-list with you: http://article.gmane.org/gmane.comp.gnome.desktop/29196/ It's a very relevant discussion in the light of the new bookmarks database we've been talking about for so long. regards, -- Reinout van Schouwen *** student of Artifical Intelligence email: reinout@cs.vu.nl *** mobile phone: +31-6-44360778 www.vanschouwen.info *** help mee met GNOME vertalen: nl.gnome.org From acidborg@gmail.com Wed Jul 19 00:06:48 2006 Return-Path: X-Original-To: epiphany-list@gnome.org Delivered-To: epiphany-list@gnome.org Received: from localhost (localhost.localdomain [127.0.0.1]) by menubar.gnome.org (Postfix) with ESMTP id C5AB13B00FF for ; Wed, 19 Jul 2006 00:06:48 +0000 (UTC) Received: from menubar.gnome.org ([127.0.0.1]) by localhost (menubar.gnome.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 18940-04 for ; Wed, 19 Jul 2006 00:06:48 +0000 (UTC) Received: from wr-out-0506.google.com (wr-out-0506.google.com [64.233.184.228]) by menubar.gnome.org (Postfix) with ESMTP id 2519A3B00A5 for ; Wed, 19 Jul 2006 00:06:48 +0000 (UTC) Received: by wr-out-0506.google.com with SMTP id i5so16704wra for ; Tue, 18 Jul 2006 17:06:47 -0700 (PDT) Received: by 10.54.81.11 with SMTP id e11mr114199wrb; Tue, 18 Jul 2006 17:06:47 -0700 (PDT) Received: by 10.54.93.19 with HTTP; Tue, 18 Jul 2006 17:06:47 -0700 (PDT) Message-ID: <3b8e48b00607181706j2a9a9675n2d1afee357f20fa0@mail.gmail.com> Date: Wed, 19 Jul 2006 02:06:47 +0200 From: "Jaime Frutos Morales" To: epiphany-list@gnome.org Subject: Extensions & signals MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline X-Virus-Scanned: by amavisd-new at gnome.org X-Spam-Status: No, score=-1.228 tagged_above=-999 required=2 tests=[AWL=1.172, BAYES_00=-2.599, DNS_FROM_RFC_ABUSE=0.2, SPF_PASS=-0.001] X-Spam-Score: -1.228 X-Spam-Level: X-BeenThere: epiphany-list@gnome.org X-Mailman-Version: 2.1.8 Precedence: list List-Id: For developers and users of the Epiphany web browser List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 Jul 2006 00:06:48 -0000 Hi! This is my first mail to the list, so hi everybody! I'm writing an extension in Python that shows CC licenses on websites if available. I'm using these signals: - In attach_window(window): signal = notebook.connect_after("switch_page", _switch_page_cb, window); - In attach_tab(window, tab): signal = tab.connect_after ("notify::load-status",_load_status_cb, window); I'm using the "switch_page" signal to detect tab changes and the "notify::load-status" signal to detect when a web has been loaded. To detect that a web has been loaded, I use: if tab==window.get_active_tab(): if tab.get_load_percent() == 100: My problem is that the signals are being caught twice (2 license detections for each web). What am I doing wrong? Am I using the correct signals or are there any others which fit better? Thanks in advance for your help. Jaime Frutos Morales From mpt@myrealbox.com Thu Jul 20 08:47:46 2006 Return-Path: X-Original-To: epiphany-list@gnome.org Delivered-To: epiphany-list@gnome.org Received: from localhost (localhost.localdomain [127.0.0.1]) by menubar.gnome.org (Postfix) with ESMTP id F1D2F3B008F for ; Thu, 20 Jul 2006 08:47:45 +0000 (UTC) Received: from menubar.gnome.org ([127.0.0.1]) by localhost (menubar.gnome.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 29637-07 for ; Thu, 20 Jul 2006 08:47:44 +0000 (UTC) Received: from leucothea.redline.site5.com (leucothea.redline.site5.com [216.118.97.161]) by menubar.gnome.org (Postfix) with ESMTP id B67803B000F for ; Thu, 20 Jul 2006 08:47:43 +0000 (UTC) Received: from [203.118.156.188] (helo=[10.1.1.5]) by leucothea.redline.site5.com with esmtpsa (TLSv1:RC4-SHA:128) (Exim 4.52) id 1G3UC6-00048q-1Y; Thu, 20 Jul 2006 04:47:42 -0400 Mime-Version: 1.0 (Apple Message framework v624) X-Gpgmail-State: !signed Content-Type: text/plain; charset=US-ASCII; delsp=yes; format=flowed Message-Id: Content-Transfer-Encoding: 7bit From: Matthew Paul Thomas Subject: What people are really doing on the Web Date: Thu, 20 Jul 2006 20:47:37 +1200 To: epiphany list X-Mailer: Apple Mail (2.624) X-Antivirus-Scanner: This message has been scanned by ClamAV. X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - leucothea.redline.site5.com X-AntiAbuse: Original Domain - gnome.org X-AntiAbuse: Originator/Caller UID/GID - [0 0] / [47 12] X-AntiAbuse: Sender Address Domain - myrealbox.com X-Source: X-Source-Args: X-Source-Dir: X-Virus-Scanned: by amavisd-new at gnome.org X-Spam-Status: No, score=-1.854 tagged_above=-999 required=2 tests=[AWL=-0.744, BAYES_05=-1.11] X-Spam-Score: -1.854 X-Spam-Level: X-BeenThere: epiphany-list@gnome.org X-Mailman-Version: 2.1.8 Precedence: list List-Id: For developers and users of the Epiphany web browser List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 20 Jul 2006 08:47:46 -0000 At the SXSW conference in March, one of the sessions was on "What people are really doing on the Web". Some statistics presented that are relevant to browser design: * One in three of people surveyed had read a Weblog in the past 30 days; one in four in the past 24 hours. Most of these are personal diaries. * One in ten had written in a Weblog in the past 30 days. * One in five had used an online dating service in the past 30 days. * How often people use search varies widely depending on how many pages there are in languages that they know. (For example, Russians search much less often than Americans.) * People aged 13-24 using Yahoo Search are most often searching for music, sex, communication, shopping, and games, in that order. * Mothers using Yahoo are most commonly accessing financial information, communication, and games, in that order. * The most commonly searched for word on Yahoo is "google", and the fourth most common is "yahoo". (My guess: there are a lot of people who don't understand URLs.) Some ideas for how Epiphany could make these things easier: * Better integration of Web pages, bookmarks, and feeds. * Spell-check. * Let people save a half-written Weblog post (an entire Web page with a half-filled-out form) as a draft that they can return to later. * Include Preview buttons for partially-downloaded music files in the download manager. * Include a financial search engine (such as Google Finance) in the default set of search engines. * Let people easily associate Weblogs with address book entries and buddy list entries. -- Matthew Paul Thomas http://mpt.net.nz/ From reinouts@gnome.org Mon Jul 24 15:23:59 2006 Return-Path: X-Original-To: epiphany-list@gnome.org Delivered-To: epiphany-list@gnome.org Received: from localhost (localhost.localdomain [127.0.0.1]) by menubar.gnome.org (Postfix) with ESMTP id B5C483B0081 for ; Mon, 24 Jul 2006 15:23:59 -0400 (EDT) Received: from menubar.gnome.org ([127.0.0.1]) by localhost (menubar.gnome.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 17408-06 for ; Mon, 24 Jul 2006 15:23:58 -0400 (EDT) Received: from flits.few.vu.nl (flits.few.vu.nl [192.31.231.65]) by menubar.gnome.org (Postfix) with ESMTP id 8FDB93B006F for ; Mon, 24 Jul 2006 15:23:58 -0400 (EDT) Received: from localhost (localhost [127.0.0.1]) by flits.few.vu.nl with esmtp (Smail #114) id m1G5621-0001qhC; Mon, 24 Jul 2006 21:23 +0200 Date: Mon, 24 Jul 2006 21:23:55 +0200 (CEST) From: Reinout van Schouwen X-X-Sender: reinout@flits.few.vu.nl To: epiphany list Subject: Re: What people are really doing on the Web In-Reply-To: Message-ID: References: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed X-Virus-Scanned: by amavisd-new at gnome.org X-Spam-Status: No, score=-1.385 tagged_above=-999 required=2 tests=[AWL=-0.059, BAYES_00=-2.599, INFO_TLD=1.273] X-Spam-Score: -1.385 X-Spam-Level: X-BeenThere: epiphany-list@gnome.org X-Mailman-Version: 2.1.8 Precedence: list List-Id: For developers and users of the Epiphany web browser List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 24 Jul 2006 19:23:59 -0000 Hi Matthew, On Thu, 20 Jul 2006, Matthew Paul Thomas wrote: > Some ideas for how Epiphany could make these things easier: > * Better integration of Web pages, bookmarks, and feeds. > * Spell-check. > * Let people save a half-written Weblog post (an entire Web page with > a half-filled-out form) as a draft that they can return to later. > * Include Preview buttons for partially-downloaded music files in the > download manager. > * Include a financial search engine (such as Google Finance) in the > default set of search engines. > * Let people easily associate Weblogs with address book entries and > buddy list entries. Thank you for your input. Of the beforementioned ideas, the spell check functionality is closest to being implemented. The UI isn't finished yet [1] and probably won't be ready for 2.16. However it is quite possible that there will be GConf key(s) to enable spell checking for various languages; an extension could put a (preliminary) GUI on that. (Anyone who's willing to help code this, consider yourself invited to!) "Better integration of Web pages, bookmarks, and feeds" sounds cool, but what would it mean in practice? Should the RSS extension be polished up and integrated into the core? (I'm not against this, as weblogs/RSS feeds become an ever more integral part of the web browsing experience.) Your idea about saving partly-completed forms is related to bug 118452 [2] except that the recovery function should have an UI instead of just kicking in, in case of starting up after a crash. I have a gut feeling that it should be possible to connect the contents of a web form to a (temporary) sticky note or something similar, that's retained in cases where the form isn't submitted. For as long as we don't have seamless Nautilus integration for downloads, the preview function might be a good idea. Dieguito was recently hacking on the download manager interface, maybe he knows if this is possible/easy to do? About the financial search engine: how well does this localize? The 'Search the web' smart bookmark can be included because Google is available in most languages and regions, but I wouldn't know about financial search engines. Google finance is just US English at this moment, as far as I can see. With regard to "address book entries and buddy list entries", we'd have to know first what is the authorative source of address and buddy data. E-D-S? Gaim? Contacts maybe? As always, keep filing bugs where you see them :-) [1] For the other readers, on the list, Matthew has already given some UI ideas on http://live.gnome.org/Epiphany/FeatureDesign/Spellchecking [2] http://bugzilla.gnome.org/show_bug.cgi?id=118452 regards, -- Reinout van Schouwen *** student of Artifical Intelligence email: reinout@cs.vu.nl *** mobile phone: +31-6-44360778 www.vanschouwen.info *** help mee met GNOME vertalen: nl.gnome.org From dieguito@gmail.com Tue Jul 25 01:25:55 2006 Return-Path: X-Original-To: epiphany-list@gnome.org Delivered-To: epiphany-list@gnome.org Received: from localhost (localhost.localdomain [127.0.0.1]) by menubar.gnome.org (Postfix) with ESMTP id 262813B0061 for ; Tue, 25 Jul 2006 01:25:55 -0400 (EDT) Received: from menubar.gnome.org ([127.0.0.1]) by localhost (menubar.gnome.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 09299-09 for ; Tue, 25 Jul 2006 01:25:45 -0400 (EDT) Received: from wr-out-0506.google.com (wr-out-0506.google.com [64.233.184.235]) by menubar.gnome.org (Postfix) with ESMTP id 8BDE63B0075 for ; Tue, 25 Jul 2006 01:25:45 -0400 (EDT) Received: by wr-out-0506.google.com with SMTP id i5so767668wra for ; Mon, 24 Jul 2006 22:25:45 -0700 (PDT) Received: by 10.54.147.4 with SMTP id u4mr4652743wrd; Mon, 24 Jul 2006 22:25:45 -0700 (PDT) Received: from milkyway.nowhere ( [201.230.157.66]) by mx.gmail.com with ESMTP id 65sm4222437wra.2006.07.24.22.25.43; Mon, 24 Jul 2006 22:25:44 -0700 (PDT) Subject: Re: What people are really doing on the Web From: Diego Escalante Urrelo To: Reinout van Schouwen In-Reply-To: References: Content-Type: text/plain; charset=utf-8 Date: Tue, 25 Jul 2006 00:20:58 -0500 Message-Id: <1153804858.6607.15.camel@localhost.localdomain> Mime-Version: 1.0 X-Mailer: Evolution 2.6.1 Content-Transfer-Encoding: 8bit X-Virus-Scanned: by amavisd-new at gnome.org X-Spam-Status: No, score=-2.6 tagged_above=-999 required=2 tests=[BAYES_00=-2.599, SPF_PASS=-0.001] X-Spam-Score: -2.6 X-Spam-Level: Cc: epiphany list X-BeenThere: epiphany-list@gnome.org X-Mailman-Version: 2.1.8 Precedence: list List-Id: For developers and users of the Epiphany web browser List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 25 Jul 2006 05:25:55 -0000 Hello, About the download manager, I have been playing with the UI but it seems that if the SoC project of Steve Frécinaux (nud), the long running task manager for Nautilus/Epiphany (named Mathusalem[1]) will make all this changes irrelevant for 2.18. We however would do wisely if we develop this topic so no matter what is used (Mathusalem or still Epiphany) for the download manager, the concept would remain and even the basic implementation like a play/pause button for previewing audio files or stuff like that. Anyway the code for download manager can be found on embed/downloader-view.c You would like to know that it's pretty clean and simple, you can find the patch I made at bugzilla #337936. See the current manager[3] vs the patched one[4]. See ya! [1] http://tw.apinc.org/weblog/2006/05/26#summer-of-code-acceptance [2] http://bugzilla.gnome.org/show_bug.cgi?id=337936 [3] http://bugzilla.gnome.org/attachment.cgi?id=63112 [4] http://bugzilla.gnome.org/attachment.cgi?id=69282 -- "First they ignore you, then they laugh at you, then they fight you, then you win" -Ghandi hack my cow - http://diego.aureal.com.pe . http://diegoe.blogspot.com From chpe@gnome.org Mon Jul 31 07:48:13 2006 Return-Path: X-Original-To: epiphany-list@gnome.org Delivered-To: epiphany-list@gnome.org Received: from localhost (localhost.localdomain [127.0.0.1]) by menubar.gnome.org (Postfix) with ESMTP id E168F3B006E for ; Mon, 31 Jul 2006 07:48:13 -0400 (EDT) Received: from menubar.gnome.org ([127.0.0.1]) by localhost (menubar.gnome.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 09121-05 for ; Mon, 31 Jul 2006 07:48:12 -0400 (EDT) Received: from wp043.webpack.hosteurope.de (wp043.webpack.hosteurope.de [80.237.132.50]) by menubar.gnome.org (Postfix) with ESMTP id 36D533B00D5 for ; Mon, 31 Jul 2006 07:48:12 -0400 (EDT) Received: by wp043.webpack.hosteurope.de running Exim 4.43 using esmtpsa (TLSv1:RC4-MD5:128) from pd954f0c8.dip0.t-ipconnect.de ([217.84.240.200] helo=[192.168.0.4]) id 1G7WFn-0000qo-Bk; Mon, 31 Jul 2006 13:48:11 +0200 Subject: Re: CC license viewer inclusion in epiphany-extensions From: Christian Persch To: Wouter Bolsterlee In-Reply-To: <20060731110734.GA2971@uwsworld.xs4all.nl> References: <3b8e48b00607310353w1c3e531h5da8b4ce25663767@mail.gmail.com> <20060731110734.GA2971@uwsworld.xs4all.nl> Content-Type: text/plain; charset=UTF-8 Date: Mon, 31 Jul 2006 13:48:10 +0200 Message-Id: <1154346490.5184.6.camel@localhost.localdomain> Mime-Version: 1.0 X-Mailer: Evolution 2.6.1 Content-Transfer-Encoding: quoted-printable X-Virus-Scanned: by amavisd-new at gnome.org X-Spam-Status: No, score=-2.487 tagged_above=-999 required=2 tests=[AWL=-0.078, BAYES_00=-2.599, SUBJ_HAS_UNIQ_ID=0.19] X-Spam-Score: -2.487 X-Spam-Level: Cc: epiphany-list@gnome.org X-BeenThere: epiphany-list@gnome.org X-Mailman-Version: 2.1.8 Precedence: list List-Id: For developers and users of the Epiphany web browser List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 31 Jul 2006 11:48:14 -0000 Hi, Le lundi 31 juillet 2006 =C3=A0 13:07 +0200, Wouter Bolsterlee a =C3=A9crit= : > P=C3=A5 Mon, Jul 31, 2006 at 12:53:52PM +0200, Jaime Frutos Morales skrev= : > > A few days ago I sent a new extension to Bugzilla called "Creative > > Commons license viewer" [1] and I wonder whether it could be included > > in the next epiphany-extension release or not. It has received good > > comments and it has Creative Commons approval [2]. It would also > > contribute to Gnome-CC integration [3]. >=20 > We're currently in feature freeze, so there's no chance to include it in = the > upcoming Gnome 2.16 release. It might be included in Gnome 2.18=20 Actually that's not correct: Epiphany Extensions is not part of any Gnome release set and therefore not subject to any freezes. Regards, Christian From kristoffer.lunden@gmail.com Mon Jul 31 07:55:50 2006 Return-Path: X-Original-To: epiphany-list@gnome.org Delivered-To: epiphany-list@gnome.org Received: from localhost (localhost.localdomain [127.0.0.1]) by menubar.gnome.org (Postfix) with ESMTP id 05B983B002A for ; Mon, 31 Jul 2006 07:55:50 -0400 (EDT) Received: from menubar.gnome.org ([127.0.0.1]) by localhost (menubar.gnome.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 09413-08 for ; Mon, 31 Jul 2006 07:55:47 -0400 (EDT) Received: from nf-out-0910.google.com (nf-out-0910.google.com [64.233.182.185]) by menubar.gnome.org (Postfix) with ESMTP id 2118E3B0012 for ; Mon, 31 Jul 2006 07:55:47 -0400 (EDT) Received: by nf-out-0910.google.com with SMTP id y38so441602nfb for ; Mon, 31 Jul 2006 04:55:46 -0700 (PDT) Received: by 10.78.185.7 with SMTP id i7mr497406huf; Mon, 31 Jul 2006 04:55:45 -0700 (PDT) Received: by 10.78.140.2 with HTTP; Mon, 31 Jul 2006 04:55:45 -0700 (PDT) Message-ID: Date: Mon, 31 Jul 2006 13:55:45 +0200 From: "=?UTF-8?Q?Kristoffer_Lund=C3=A9n?=" To: "Jaime Frutos Morales" Subject: Re: CC license viewer inclusion in epiphany-extensions In-Reply-To: <3b8e48b00607310353w1c3e531h5da8b4ce25663767@mail.gmail.com> MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----=_Part_61945_1493387.1154346945268" References: <3b8e48b00607310353w1c3e531h5da8b4ce25663767@mail.gmail.com> X-Virus-Scanned: by amavisd-new at gnome.org X-Spam-Status: No, score=-1.83 tagged_above=-999 required=2 tests=[AWL=-0.219, BAYES_00=-2.599, DNS_FROM_RFC_ABUSE=0.2, HTML_30_40=0.374, HTML_MESSAGE=0.001, MIME_BASE64_NO_NAME=0.224, SPF_PASS=-0.001, SUBJ_HAS_UNIQ_ID=0.19] X-Spam-Score: -1.83 X-Spam-Level: Cc: epiphany-list@gnome.org X-BeenThere: epiphany-list@gnome.org X-Mailman-Version: 2.1.8 Precedence: list List-Id: For developers and users of the Epiphany web browser List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 31 Jul 2006 11:55:50 -0000 ------=_Part_61945_1493387.1154346945268 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: base64 Content-Disposition: inline T24gNy8zMS8wNiwgSmFpbWUgRnJ1dG9zIE1vcmFsZXMgPGFjaWRib3JnQGdtYWlsLmNvbT4gd3Jv dGU6Cj4KPiBBIGZldyBkYXlzIGFnbyBJIHNlbnQgYSBuZXcgZXh0ZW5zaW9uIHRvIEJ1Z3ppbGxh IGNhbGxlZCAiQ3JlYXRpdmUKPiBDb21tb25zIGxpY2Vuc2Ugdmlld2VyIiBbMV0gYW5kIEkgd29u ZGVyIHdoZXRoZXIgaXQgY291bGQgYmUgaW5jbHVkZWQKPiBpbiB0aGUgbmV4dCBlcGlwaGFueS1l eHRlbnNpb24gcmVsZWFzZSBvciBub3QuIEl0IGhhcyByZWNlaXZlZCBnb29kCj4gY29tbWVudHMg YW5kIGl0IGhhcyBDcmVhdGl2ZSBDb21tb25zIGFwcHJvdmFsIFsyXS4gSXQgd291bGQgYWxzbwo+ IGNvbnRyaWJ1dGUgdG8gR25vbWUtQ0MgaW50ZWdyYXRpb24gWzNdLgoKCkkndmUgbm90IHRyaWVk IGFueSBvZiB0aGVtICh5ZXQpLCBidXQgbG9va2luZyBhdCB0aGUgc2NyZWVuc2hvdCBmb3IgdGhl CmNvcnJlc3BvbmRpbmcgRmlyZWZveCBleHRlbnNpb24gWzFdIGl0IHNlZW1zIHRvIGRpc3BsYXkg aWNvbnMgZm9yIHR5cGUgb2YKbGljZW5zZSB0b28gKGluIHRoaXMgY2FzZSBCWS9yZXF1aXJlcyBh dHRyaWJ1dGlvbikuIEkgdGhpbmsgdGhhdCB3b3VsZCBiZSBhCm5pY2UgZmVhdHVyZSB0byBhZGQs IGFzIGl0IG1ha2VzIGl0IGVhc2llciB0byBzZWUgd2hhdCBraW5kIG9mIGxpY2Vuc2UgYXQgYQpn bGFuY2UsIGZvciB0aG9zZSBpbnRlcmVzdGVkLiBKdXN0IGEgdGhvdWdodC4KClsxXSBodHRwOi8v d2lraS5jcmVhdGl2ZWNvbW1vbnMub3JnL01vekNDCgotLSBTdG9mZmUKCgotLSAKS3Jpc3RvZmZl ciBMdW5kw6luCuKciSBrcmlzdG9mZmVyLmx1bmRlbkBnbWFpbC5jb20K4pyJIGtyaXN0b2ZmZXIu bHVuZGVuQGdhbWVtYWtlci5udQpodHRwOi8vd3d3LmdhbWVtYWtlci5udS8K4piOIDA3MDQgNDgg OTggNzcK ------=_Part_61945_1493387.1154346945268 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: base64 Content-Disposition: inline T24gNy8zMS8wNiwgPGIgY2xhc3M9ImdtYWlsX3NlbmRlcm5hbWUiPkphaW1lIEZydXRvcyBNb3Jh bGVzPC9iPiAmbHQ7PGEgaHJlZj0ibWFpbHRvOmFjaWRib3JnQGdtYWlsLmNvbSI+YWNpZGJvcmdA Z21haWwuY29tPC9hPiZndDsgd3JvdGU6PGRpdj48c3BhbiBjbGFzcz0iZ21haWxfcXVvdGUiPjwv c3Bhbj48YmxvY2txdW90ZSBjbGFzcz0iZ21haWxfcXVvdGUiIHN0eWxlPSJib3JkZXItbGVmdDog MXB4IHNvbGlkIHJnYigyMDQsIDIwNCwgMjA0KTsgbWFyZ2luOiAwcHQgMHB0IDBwdCAwLjhleDsg cGFkZGluZy1sZWZ0OiAxZXg7Ij4KQSBmZXcgZGF5cyBhZ28gSSBzZW50IGEgbmV3IGV4dGVuc2lv biB0byBCdWd6aWxsYSBjYWxsZWQgJnF1b3Q7Q3JlYXRpdmU8YnI+Q29tbW9ucyBsaWNlbnNlIHZp ZXdlciZxdW90OyBbMV0gYW5kIEkgd29uZGVyIHdoZXRoZXIgaXQgY291bGQgYmUgaW5jbHVkZWQ8 YnI+aW4gdGhlIG5leHQgZXBpcGhhbnktZXh0ZW5zaW9uIHJlbGVhc2Ugb3Igbm90LiBJdCBoYXMg cmVjZWl2ZWQgZ29vZDxicj4KY29tbWVudHMgYW5kIGl0IGhhcyBDcmVhdGl2ZSBDb21tb25zIGFw cHJvdmFsIFsyXS4gSXQgd291bGQgYWxzbzxicj5jb250cmlidXRlIHRvIEdub21lLUNDIGludGVn cmF0aW9uIFszXS48L2Jsb2NrcXVvdGU+PGRpdj48YnI+SSd2ZSBub3QgdHJpZWQgYW55IG9mIHRo ZW0gKHlldCksIGJ1dCBsb29raW5nIGF0IHRoZSBzY3JlZW5zaG90IGZvciB0aGUgY29ycmVzcG9u ZGluZyBGaXJlZm94IGV4dGVuc2lvbiBbMV0gaXQgc2VlbXMgdG8gZGlzcGxheSBpY29ucyBmb3Ig dHlwZSBvZiBsaWNlbnNlIHRvbyAoaW4gdGhpcyBjYXNlIEJZL3JlcXVpcmVzIGF0dHJpYnV0aW9u KS4gSSB0aGluayB0aGF0IHdvdWxkIGJlIGEgbmljZSBmZWF0dXJlIHRvIGFkZCwgYXMgaXQgbWFr ZXMgaXQgZWFzaWVyIHRvIHNlZSB3aGF0IGtpbmQgb2YgbGljZW5zZSBhdCBhIGdsYW5jZSwgZm9y IHRob3NlIGludGVyZXN0ZWQuIEp1c3QgYSB0aG91Z2h0Lgo8YnI+PGJyPlsxXSA8YSBocmVmPSJo dHRwOi8vd2lraS5jcmVhdGl2ZWNvbW1vbnMub3JnL01vekNDIj5odHRwOi8vd2lraS5jcmVhdGl2 ZWNvbW1vbnMub3JnL01vekNDPC9hPjxicj4mbmJzcDs8L2Rpdj48L2Rpdj4tLSBTdG9mZmU8YnI+ PGJyPjxicj4tLSA8YnI+S3Jpc3RvZmZlciBMdW5kw6luPGJyPuKciSA8YSBocmVmPSJtYWlsdG86 a3Jpc3RvZmZlci5sdW5kZW5AZ21haWwuY29tIj5rcmlzdG9mZmVyLmx1bmRlbkBnbWFpbC5jb20K PC9hPjxicj7inIkgPGEgaHJlZj0ibWFpbHRvOmtyaXN0b2ZmZXIubHVuZGVuQGdhbWVtYWtlci5u dSI+a3Jpc3RvZmZlci5sdW5kZW5AZ2FtZW1ha2VyLm51PC9hPjxicj48YSBocmVmPSJodHRwOi8v d3d3LmdhbWVtYWtlci5udS8iPmh0dHA6Ly93d3cuZ2FtZW1ha2VyLm51LzwvYT48YnI+4piOIDA3 MDQgNDggOTggNzc8YnI+Cg== ------=_Part_61945_1493387.1154346945268-- From dieguito@gmail.com Mon Jul 31 09:16:46 2006 Return-Path: X-Original-To: epiphany-list@gnome.org Delivered-To: epiphany-list@gnome.org Received: from localhost (localhost.localdomain [127.0.0.1]) by menubar.gnome.org (Postfix) with ESMTP id 38D8D3B0014 for ; Mon, 31 Jul 2006 09:16:46 -0400 (EDT) Received: from menubar.gnome.org ([127.0.0.1]) by localhost (menubar.gnome.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 13369-09 for ; Mon, 31 Jul 2006 09:16:45 -0400 (EDT) Received: from wx-out-0102.google.com (wx-out-0102.google.com [66.249.82.192]) by menubar.gnome.org (Postfix) with ESMTP id CE4893B0013 for ; Mon, 31 Jul 2006 09:16:44 -0400 (EDT) Received: by wx-out-0102.google.com with SMTP id i26so71119wxd for ; Mon, 31 Jul 2006 06:16:44 -0700 (PDT) Received: by 10.70.52.2 with SMTP id z2mr2701613wxz; Mon, 31 Jul 2006 06:16:41 -0700 (PDT) Received: from milkyway-wired-00-0a-e4-27-84-cb.lan ( [201.230.157.66]) by mx.gmail.com with ESMTP id h10sm5167139wxd.2006.07.31.06.16.40; Mon, 31 Jul 2006 06:16:41 -0700 (PDT) Subject: Help with an extension From: Diego Escalante To: epiphany list Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="=-tXWWP+VGP5ON/QaHz62M" Organization: Aureal Systems S.A.C. Date: Mon, 31 Jul 2006 08:16:37 -0500 Message-Id: <1154351798.17022.15.camel@localhost> Mime-Version: 1.0 X-Mailer: Evolution 2.6.1 Sender: diego X-Virus-Scanned: by amavisd-new at gnome.org X-Spam-Status: No, score=-2.4 tagged_above=-999 required=2 tests=[BAYES_00=-2.599, DNS_FROM_RFC_ABUSE=0.2, SPF_PASS=-0.001] X-Spam-Score: -2.4 X-Spam-Level: X-BeenThere: epiphany-list@gnome.org X-Mailman-Version: 2.1.8 Precedence: list List-Id: For developers and users of the Epiphany web browser List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 31 Jul 2006 13:16:46 -0000 --=-tXWWP+VGP5ON/QaHz62M Content-Type: text/plain Content-Transfer-Encoding: quoted-printable Hi guys Now that extensions are mentioned, I thought I could ask for help for mine. I was asked to write a Server-spy[0] clone[1] by a friend, everything was fine with the writing, I used python for it. The extensions does the following: 1. When location is changed, it does a HEAD request to the server 2. When you switch tabs, the statusbar updates with the proper info for the tab. There's one problem with this: Epiphany will wait in (1) (and make the UI freeze) until the HEAD request finishes, that means that you would wait double the normal loading time. This also makes loading info for tabs in the background impossible because they would froze everything, more than 5 tabs or a tab with a slow server and Ephy is frozen. I have tried using asyncore python module to make it async but seems that it doesn't work neither (asyncore.loop() doesn't sound good). BTW, I'm using python methods to get the server info because as far as I understood mozilla info is not available to python bindings and I guess that would include a possible 'mozilla_give_me_the_damn_server_version' method. :) Any help? [0] - https://addons.mozilla.org/firefox/2036/ [1] - http://diego.aureal.com.pe/stuff/epiphany/server-spy.tar.bz2 --=20 "First they ignore you, then they laugh at you, then they fight you, then you win" -Ghandi http://diego.aureal.com.pe . http://diegoe.blogspot.com=20 http://barsafan.wordpress.com . http://www.lifewithubuntu.com --=-tXWWP+VGP5ON/QaHz62M Content-Type: application/pgp-signature; name=signature.asc Content-Description: This is a digitally signed message part -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.2.2 (GNU/Linux) iD8DBQBEzgK0nNPc7ehqlmURApLXAJ97Hg6bxPVt6/M/2RaBvfxg6CxzKQCfUoCw 5xpk/SF8iDnaNHZy0D16b0c= =5e9j -----END PGP SIGNATURE----- --=-tXWWP+VGP5ON/QaHz62M-- From acidborg@gmail.com Mon Jul 31 12:22:03 2006 Return-Path: X-Original-To: epiphany-list@gnome.org Delivered-To: epiphany-list@gnome.org Received: from localhost (localhost.localdomain [127.0.0.1]) by menubar.gnome.org (Postfix) with ESMTP id D59F33B002C for ; Mon, 31 Jul 2006 12:22:03 -0400 (EDT) Received: from menubar.gnome.org ([127.0.0.1]) by localhost (menubar.gnome.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 22879-08 for ; Mon, 31 Jul 2006 12:22:00 -0400 (EDT) Received: from nf-out-0910.google.com (nf-out-0910.google.com [64.233.182.187]) by menubar.gnome.org (Postfix) with ESMTP id 953E73B006F for ; Mon, 31 Jul 2006 12:21:59 -0400 (EDT) Received: by nf-out-0910.google.com with SMTP id l36so597596nfa for ; Mon, 31 Jul 2006 09:21:58 -0700 (PDT) Received: by 10.48.162.15 with SMTP id k15mr2306300nfe; Mon, 31 Jul 2006 09:21:57 -0700 (PDT) Received: by 10.49.15.9 with HTTP; Mon, 31 Jul 2006 09:21:57 -0700 (PDT) Message-ID: <3b8e48b00607310921p7e877bcfs4dc46f0bd3df9f40@mail.gmail.com> Date: Mon, 31 Jul 2006 18:21:57 +0200 From: "Jaime Frutos Morales" To: "=?ISO-8859-1?Q?Kristoffer_Lund=E9n?=" Subject: Re: CC license viewer inclusion in epiphany-extensions In-Reply-To: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: base64 Content-Disposition: inline References: <3b8e48b00607310353w1c3e531h5da8b4ce25663767@mail.gmail.com> X-Virus-Scanned: by amavisd-new at gnome.org X-Spam-Status: No, score=-1.861 tagged_above=-999 required=2 tests=[AWL=0.125, BAYES_00=-2.599, DNS_FROM_RFC_ABUSE=0.2, MIME_BASE64_NO_NAME=0.224, SPF_PASS=-0.001, SUBJ_HAS_UNIQ_ID=0.19] X-Spam-Score: -1.861 X-Spam-Level: Cc: epiphany-list@gnome.org X-BeenThere: epiphany-list@gnome.org X-Mailman-Version: 2.1.8 Precedence: list List-Id: For developers and users of the Epiphany web browser List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 31 Jul 2006 16:22:04 -0000 SU1ITyBpdCBpcyBiZXR0ZXIgdG8ganVzdCBzaG93IGEgIkNDIiBpY29uIGZvciBldmVyeSBraW5k IG9mIGxpY2Vuc2UKaW5zdGVhZCBvZiBzaG93aW5nIGFsbCB0aGUgbGljZW5zZSdzIGZlYXR1cmVz IGFzIGljb25zLgoKVGhlIHJlYXNvbiBpcyB0aGF0IHVzZXJzIGNhbiBlYXNpbHkgYXNzb2NpYXRl IHRoZSBDQyBpY29uIHdpdGggYQpDcmVhdGl2ZSBDb21tb25zIGxpY2Vuc2UgYW5kIHRoZW4sIGlm IHRoZXkncmUgaW50ZXJlc3RlZCBpbiByZWFkaW5nCnRoZSBsaWNlbnNlIGRldGFpbHMsIHRoZXkg anVzdCBoYXZlIHRvIGNsaWNrIG9uIHRoZSBDQyBpY29uIHRvIHJlYWQKdGhlIGxpY2Vuc2UgZGVl ZC4gSSBkb24ndCBsaWtlIHRvIGhhdmUgYW4gb3ZlcmNyb3dkZWQgc3RhdHVzYmFyLCBzbyBhCnNp bmdsZSBpY29uIGNhbiBkbyB0aGUgdHJpY2suCgpXaGF0IGRvIHRoZSByZXN0IG9mIHRoZSBkZXZl bG9wZXJzIHRoaW5rIGFib3V0IHRoaXM/CgoKMjAwNi83LzMxLCBLcmlzdG9mZmVyIEx1bmTDqW4g PGtyaXN0b2ZmZXIubHVuZGVuQGdtYWlsLmNvbT46Cj4gT24gNy8zMS8wNiwgSmFpbWUgRnJ1dG9z IE1vcmFsZXMgPGFjaWRib3JnQGdtYWlsLmNvbT4gd3JvdGU6Cj4KPiA+IEEgZmV3IGRheXMgYWdv IEkgc2VudCBhIG5ldyBleHRlbnNpb24gdG8gQnVnemlsbGEgY2FsbGVkICJDcmVhdGl2ZQo+ID4g Q29tbW9ucyBsaWNlbnNlIHZpZXdlciIgWzFdIGFuZCBJIHdvbmRlciB3aGV0aGVyIGl0IGNvdWxk IGJlIGluY2x1ZGVkCj4gPiBpbiB0aGUgbmV4dCBlcGlwaGFueS1leHRlbnNpb24gcmVsZWFzZSBv ciBub3QuIEl0IGhhcyByZWNlaXZlZCBnb29kCj4gPiBjb21tZW50cyBhbmQgaXQgaGFzIENyZWF0 aXZlIENvbW1vbnMgYXBwcm92YWwgWzJdLiBJdCB3b3VsZCBhbHNvCj4gPiBjb250cmlidXRlIHRv IEdub21lLUNDIGludGVncmF0aW9uIFszXS4KPgo+Cj4gSSd2ZSBub3QgdHJpZWQgYW55IG9mIHRo ZW0gKHlldCksIGJ1dCBsb29raW5nIGF0IHRoZSBzY3JlZW5zaG90IGZvciB0aGUKPiBjb3JyZXNw b25kaW5nIEZpcmVmb3ggZXh0ZW5zaW9uIFsxXSBpdCBzZWVtcyB0byBkaXNwbGF5IGljb25zIGZv ciB0eXBlIG9mCj4gbGljZW5zZSB0b28gKGluIHRoaXMgY2FzZSBCWS9yZXF1aXJlcyBhdHRyaWJ1 dGlvbikuIEkgdGhpbmsgdGhhdCB3b3VsZCBiZSBhCj4gbmljZSBmZWF0dXJlIHRvIGFkZCwgYXMg aXQgbWFrZXMgaXQgZWFzaWVyIHRvIHNlZSB3aGF0IGtpbmQgb2YgbGljZW5zZSBhdCBhCj4gZ2xh bmNlLCBmb3IgdGhvc2UgaW50ZXJlc3RlZC4gSnVzdCBhIHRob3VnaHQuCj4KPiBbMV0gaHR0cDov L3dpa2kuY3JlYXRpdmVjb21tb25zLm9yZy9Nb3pDQwo+ICAtLSBTdG9mZmUKPgo+Cj4gLS0KPiBL cmlzdG9mZmVyIEx1bmTDqW4KPiDinIkga3Jpc3RvZmZlci5sdW5kZW5AZ21haWwuY29tCj4g4pyJ IGtyaXN0b2ZmZXIubHVuZGVuQGdhbWVtYWtlci5udQo+IGh0dHA6Ly93d3cuZ2FtZW1ha2VyLm51 Lwo+IOKYjiAwNzA0IDQ4IDk4IDc3Cj4KCgotLSAKSmFpbWUgRnJ1dG9zIE1vcmFsZXMKU3lzdGVt cyBFbmdpbmVlcgpCbG9nOiBodHRwOi8vdGV4dG9wbGFuby5saXZlam91cm5hbC5jb20K From luis.villa@gmail.com Mon Jul 31 14:28:41 2006 Return-Path: X-Original-To: epiphany-list@gnome.org Delivered-To: epiphany-list@gnome.org Received: from localhost (localhost.localdomain [127.0.0.1]) by menubar.gnome.org (Postfix) with ESMTP id C27783B00B9 for ; Mon, 31 Jul 2006 14:28:41 -0400 (EDT) Received: from menubar.gnome.org ([127.0.0.1]) by localhost (menubar.gnome.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 28170-03 for ; Mon, 31 Jul 2006 14:28:37 -0400 (EDT) Received: from ug-out-1314.google.com (ug-out-1314.google.com [66.249.92.172]) by menubar.gnome.org (Postfix) with ESMTP id D64393B006F for ; Mon, 31 Jul 2006 14:28:36 -0400 (EDT) Received: by ug-out-1314.google.com with SMTP id c2so1013805ugf for ; Mon, 31 Jul 2006 11:28:35 -0700 (PDT) Received: by 10.66.244.10 with SMTP id r10mr2884236ugh; Mon, 31 Jul 2006 11:28:35 -0700 (PDT) Received: by 10.67.90.14 with HTTP; Mon, 31 Jul 2006 11:28:35 -0700 (PDT) Message-ID: <2cb10c440607311128w5b85aa55hf0438fd33cdb2c93@mail.gmail.com> Date: Mon, 31 Jul 2006 14:28:35 -0400 From: "Luis Villa" Sender: luis.villa@gmail.com To: "Jaime Frutos Morales" Subject: Re: CC license viewer inclusion in epiphany-extensions In-Reply-To: <3b8e48b00607310921p7e877bcfs4dc46f0bd3df9f40@mail.gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: base64 Content-Disposition: inline References: <3b8e48b00607310353w1c3e531h5da8b4ce25663767@mail.gmail.com> <3b8e48b00607310921p7e877bcfs4dc46f0bd3df9f40@mail.gmail.com> X-Google-Sender-Auth: 9828e0f8e6297d3c X-Virus-Scanned: by amavisd-new at gnome.org X-Spam-Status: No, score=-2.103 tagged_above=-999 required=2 tests=[AWL=-0.117, BAYES_00=-2.599, DNS_FROM_RFC_ABUSE=0.2, MIME_BASE64_NO_NAME=0.224, SPF_PASS=-0.001, SUBJ_HAS_UNIQ_ID=0.19] X-Spam-Score: -2.103 X-Spam-Level: Cc: epiphany-list@gnome.org X-BeenThere: epiphany-list@gnome.org X-Mailman-Version: 2.1.8 Precedence: list List-Id: For developers and users of the Epiphany web browser List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 31 Jul 2006 18:28:42 -0000 T24gNy8zMS8wNiwgSmFpbWUgRnJ1dG9zIE1vcmFsZXMgPGFjaWRib3JnQGdtYWlsLmNvbT4gd3Jv dGU6Cj4gSU1ITyBpdCBpcyBiZXR0ZXIgdG8ganVzdCBzaG93IGEgIkNDIiBpY29uIGZvciBldmVy eSBraW5kIG9mIGxpY2Vuc2UKPiBpbnN0ZWFkIG9mIHNob3dpbmcgYWxsIHRoZSBsaWNlbnNlJ3Mg ZmVhdHVyZXMgYXMgaWNvbnMuCj4KPiBUaGUgcmVhc29uIGlzIHRoYXQgdXNlcnMgY2FuIGVhc2ls eSBhc3NvY2lhdGUgdGhlIENDIGljb24gd2l0aCBhCj4gQ3JlYXRpdmUgQ29tbW9ucyBsaWNlbnNl IGFuZCB0aGVuLCBpZiB0aGV5J3JlIGludGVyZXN0ZWQgaW4gcmVhZGluZwo+IHRoZSBsaWNlbnNl IGRldGFpbHMsIHRoZXkganVzdCBoYXZlIHRvIGNsaWNrIG9uIHRoZSBDQyBpY29uIHRvIHJlYWQK PiB0aGUgbGljZW5zZSBkZWVkLiBJIGRvbid0IGxpa2UgdG8gaGF2ZSBhbiBvdmVyY3Jvd2RlZCBz dGF0dXNiYXIsIHNvIGEKPiBzaW5nbGUgaWNvbiBjYW4gZG8gdGhlIHRyaWNrLgo+Cj4gV2hhdCBk byB0aGUgcmVzdCBvZiB0aGUgZGV2ZWxvcGVycyB0aGluayBhYm91dCB0aGlzPwoKQ2MgaXMgdHJ5 aW5nIHRvIGVtcGhhc2l6ZSBicmFuZGluZyBvZiBpbmRpdmlkdWFsIGxpY2Vuc2VzLCBhbmQKY29t bXVuaWNhdGUgdGhhdCBhbGwgbGljZW5zZXMgYXJlIG5vdCBlcXVhbC4gVGhpcyBwdXNoIGlzIHN0 aWxsIGluIHRoZQpwbGFubmluZyBzdGFnZXMsIGJ1dCBpdCB3b3VsZCBiZSBnb29kIHRvIGJlIHJl YWR5IGZvciBpdCwgSSBiZWxpZXZlLgoKTHVpcyAodmVyeSBleGNpdGVkIHRvIHNlZSB0aHMtIHdp bGwgY29udHJpYnV0ZSBtb3JlIHRvIHRoZSBnbm9tZS1jYwpkaXNjdXNzaW9uIHdoZW4gbXkgbW92 ZSBpcyBjb21wbGV0ZS4pCgo+Cj4gMjAwNi83LzMxLCBLcmlzdG9mZmVyIEx1bmTDqW4gPGtyaXN0 b2ZmZXIubHVuZGVuQGdtYWlsLmNvbT46Cj4gPiBPbiA3LzMxLzA2LCBKYWltZSBGcnV0b3MgTW9y YWxlcyA8YWNpZGJvcmdAZ21haWwuY29tPiB3cm90ZToKPiA+Cj4gPiA+IEEgZmV3IGRheXMgYWdv IEkgc2VudCBhIG5ldyBleHRlbnNpb24gdG8gQnVnemlsbGEgY2FsbGVkICJDcmVhdGl2ZQo+ID4g PiBDb21tb25zIGxpY2Vuc2Ugdmlld2VyIiBbMV0gYW5kIEkgd29uZGVyIHdoZXRoZXIgaXQgY291 bGQgYmUgaW5jbHVkZWQKPiA+ID4gaW4gdGhlIG5leHQgZXBpcGhhbnktZXh0ZW5zaW9uIHJlbGVh c2Ugb3Igbm90LiBJdCBoYXMgcmVjZWl2ZWQgZ29vZAo+ID4gPiBjb21tZW50cyBhbmQgaXQgaGFz IENyZWF0aXZlIENvbW1vbnMgYXBwcm92YWwgWzJdLiBJdCB3b3VsZCBhbHNvCj4gPiA+IGNvbnRy aWJ1dGUgdG8gR25vbWUtQ0MgaW50ZWdyYXRpb24gWzNdLgo+ID4KPiA+Cj4gPiBJJ3ZlIG5vdCB0 cmllZCBhbnkgb2YgdGhlbSAoeWV0KSwgYnV0IGxvb2tpbmcgYXQgdGhlIHNjcmVlbnNob3QgZm9y IHRoZQo+ID4gY29ycmVzcG9uZGluZyBGaXJlZm94IGV4dGVuc2lvbiBbMV0gaXQgc2VlbXMgdG8g ZGlzcGxheSBpY29ucyBmb3IgdHlwZSBvZgo+ID4gbGljZW5zZSB0b28gKGluIHRoaXMgY2FzZSBC WS9yZXF1aXJlcyBhdHRyaWJ1dGlvbikuIEkgdGhpbmsgdGhhdCB3b3VsZCBiZSBhCj4gPiBuaWNl IGZlYXR1cmUgdG8gYWRkLCBhcyBpdCBtYWtlcyBpdCBlYXNpZXIgdG8gc2VlIHdoYXQga2luZCBv ZiBsaWNlbnNlIGF0IGEKPiA+IGdsYW5jZSwgZm9yIHRob3NlIGludGVyZXN0ZWQuIEp1c3QgYSB0 aG91Z2h0Lgo+ID4KPiA+IFsxXSBodHRwOi8vd2lraS5jcmVhdGl2ZWNvbW1vbnMub3JnL01vekND Cj4gPiAgLS0gU3RvZmZlCj4gPgo+ID4KPiA+IC0tCj4gPiBLcmlzdG9mZmVyIEx1bmTDqW4KPiA+ IOKciSBrcmlzdG9mZmVyLmx1bmRlbkBnbWFpbC5jb20KPiA+IOKciSBrcmlzdG9mZmVyLmx1bmRl bkBnYW1lbWFrZXIubnUKPiA+IGh0dHA6Ly93d3cuZ2FtZW1ha2VyLm51Lwo+ID4g4piOIDA3MDQg NDggOTggNzcKPiA+Cj4KPgo+IC0tCj4gSmFpbWUgRnJ1dG9zIE1vcmFsZXMKPiBTeXN0ZW1zIEVu Z2luZWVyCj4gQmxvZzogaHR0cDovL3RleHRvcGxhbm8ubGl2ZWpvdXJuYWwuY29tCj4gX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPiBlcGlwaGFueS1saXN0 IG1haWxpbmcgbGlzdAo+IGVwaXBoYW55LWxpc3RAZ25vbWUub3JnCj4gaHR0cDovL21haWwuZ25v bWUub3JnL21haWxtYW4vbGlzdGluZm8vZXBpcGhhbnktbGlzdAo+Cg==