RE: [Zope] RSS feed: post-processing?

2005-04-05 Thread MILLER Eva
Hi,

OK, let me see if I can do that...

I've already figured out that a python script/external method solution
is what I'm after. But how to make it work?

Anyone know about Greasemonkey in Firefox? Basically, it embeds a handy
link in Web pages that have ISBN numbers in them (unique identifier for
a book). When you configure Greasemonkey right, it checks for the book
in your local catalog and returns a link to that book in your local
library catalog. The trick is to use the same idea, but inside of Plone
with an RSS feed that displays current bestsellers or other book-related
stuff where there's an ISBN included.

Here's the sort of python script I need, to the best of my knowledge,
though the first function I can't use (it checks against an Amazon
Wishlist--I don't want anything to be dependent on Amazon or a
particular browser). Jon Udell provided it, and he's the one who wrote
the LibraryLookup bookmarklet that does something similar to what I
want:

import amazon, re, urllib2

wishes = amazon.searchByWishlist('BNQ1T3SLPJS7');

def rss( items ):
 return """

LibraryLookup reminders
http://www.amazon.com
Remind me when books on my Amazon wishlist become
available at the library
%s

 """ % items

def isAvailable ( isbn ):
 url = 'http://ksclib.keene.edu/search/i=%s' % isbn
 page = urllib2.urlopen(url).read()
 return re.search ( 'AVAILABLE', page ) is not None

items = ''

for wish in wishes:
 isbn = wish.Asin
 if (  ( re.match( '\d{7,9}[\d|X]', isbn ) is not None) and
isAvailable(isbn) ):
   items += """

%s
%s
%s
\n  """ %  ( wish.ProductName, wish.URL, wish.Authors.Author )

output = rss ( items )

name = 'libraryReminders.xml'

f = open(name,'w')
f.write(output)
f.close()

So, I need to simplify this script (get rid of the wishlist stuff),
create an external method for it, then figure out how to get the
template in CMFSin to call the external method. I've never done any of
this before (which probably explains why I have a hard time describing
my problem better).

The CMFSin template I need to alter looks like this, and I'm not sure
exactly where or how to call the method:

http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd";>
http://www.w3.org/1999/xhtml"; xml:lang="en-US"
  lang="en-US"
  metal:use-macro="here/main_template/macros/master"
  i18n:domain="plone">

  

Disable the tabs

  

  


Title or id








  
 







       There are currently no items in this feed.







-Original Message-
From: Chris Withers [mailto:[EMAIL PROTECTED] 
Sent: Monday, April 04, 2005 6:12 AM
To: MILLER Eva
Cc: zope@zope.org
Subject: Re: [Zope] RSS feed: post-processing?


Sorry Eva,

You'll need to explain your problem more succintly for people to be able

to help. If you really do need to scrape the urls from the text, then a 
combination of python's xml handling and regular expressions is probably

what you're after, best done in an external method and not a python 
script...

cheers,

Chris

MILLER Eva wrote:

> Hello,
> 
> I've been puzzling over something but can't figure out a solution. I
> have an RSS feed providing the content behind all the links on this  
> page: http://demo.plinkit.org/interestsideas/goodreads/booklists.
> 
> There's a nice bookmarklet tool in the world called LibraryLookup that
> lets you check whether a book you find on Amazon or something is in  
> your library's catalog by scraping up the ISBN and launching an ISBN  
> catalog search. It's a javascript, really. I thought I would adapt
this
> 
> to create a little add-on for the stuff the bestsellers RSS brings 
> back
> 
> to my site. What I need to do is pluck out the ISBNs in the links on a
> page like this one:  
>
http://demo.plinkit.org/interestsideas/goodreads/sinList?synmap=Hardcove
> rFiction
> 
> The ISBNs are all in the URLs for the book titles
> ("isbn=Some10digitNumberHere"). How would I look for a piece of text
in
> 
> that shape, i.e., isbn=5893193390, then, if it's there, copy and paste
> that piece of information into the LibraryLookup javascript I have.
The
> 
> end result should be that, if there's an ISBN in a feed result, an 
> extra link
> appears for each entry that says something like "Check the catalog,"  
> which you can click to look that book up in your own library's
catalog.
> 
> I've been staring at the template that formats the RSS feed to figure
> 

Re: [Zope] RSS feed: post-processing?

2005-04-04 Thread Chris Withers
Sorry Eva,
You'll need to explain your problem more succintly for people to be able 
to help. If you really do need to scrape the urls from the text, then a 
combination of python's xml handling and regular expressions is probably 
what you're after, best done in an external method and not a python 
script...

cheers,
Chris
MILLER Eva wrote:
Hello,
I've been puzzling over something but can't figure out a solution. I  
have an RSS feed providing the content behind all the links on this  
page: http://demo.plinkit.org/interestsideas/goodreads/booklists.

There's a nice bookmarklet tool in the world called LibraryLookup that  
lets you check whether a book you find on Amazon or something is in  
your library's catalog by scraping up the ISBN and launching an ISBN  
catalog search. It's a javascript, really. I thought I would adapt this

to create a little add-on for the stuff the bestsellers RSS brings back
to my site. What I need to do is pluck out the ISBNs in the links on a  
page like this one:  
http://demo.plinkit.org/interestsideas/goodreads/sinList?synmap=Hardcove
rFiction

The ISBNs are all in the URLs for the book titles  
("isbn=Some10digitNumberHere"). How would I look for a piece of text in

that shape, i.e., isbn=5893193390, then, if it's there, copy and paste  
that piece of information into the LibraryLookup javascript I have. The

end result should be that, if there's an ISBN in a feed result, an extra
link  
appears for each entry that says something like "Check the catalog,"  
which you can click to look that book up in your own library's catalog.

I've been staring at the template that formats the RSS feed to figure  
out whether any TAL expression would work for this. I've been playing  
with a short Python script, then wondering how to call it within that  
template, but I think I have to use regular expressions to do it.

I'm sorry to be so lost on this, but I guess I am. I'd love to do  
something cool like this for our little Plinkit libraries. Can anyone  
help? I'll take anything from a broad strategy to actual code snippets  
(I'm a terrible programmer but a good librarian).

Thanks
Eva the Librarian


___
Zope maillist  -  Zope@zope.org
http://mail.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists - 
 http://mail.zope.org/mailman/listinfo/zope-announce
 http://mail.zope.org/mailman/listinfo/zope-dev )
--
Simplistix - Content Management, Zope & Python Consulting
   - http://www.simplistix.co.uk
___
Zope maillist  -  Zope@zope.org
http://mail.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists - 
http://mail.zope.org/mailman/listinfo/zope-announce
http://mail.zope.org/mailman/listinfo/zope-dev )


[Zope] RSS feed: post-processing?

2005-04-01 Thread MILLER Eva
Title: RSS feed: post-processing?






Hello,


I've been puzzling over something but can't figure out a solution. I  

have an RSS feed providing the content behind all the links on this  

page: http://demo.plinkit.org/interestsideas/goodreads/booklists.


There's a nice bookmarklet tool in the world called LibraryLookup that  

lets you check whether a book you find on Amazon or something is in  

your library's catalog by scraping up the ISBN and launching an ISBN  

catalog search. It's a _javascript_, really. I thought I would adapt this  

to create a little add-on for the stuff the bestsellers RSS brings back  

to my site. What I need to do is pluck out the ISBNs in the links on a  

page like this one:  

http://demo.plinkit.org/interestsideas/goodreads/sinList?synmap=HardcoverFiction


The ISBNs are all in the URLs for the book titles  

("isbn=Some10digitNumberHere"). How would I look for a piece of text in  

that shape, i.e., isbn=5893193390, then, if it's there, copy and paste  

that piece of information into the LibraryLookup _javascript_ I have. The  

end result should be that, if there's an ISBN in a feed result, an extra link  

appears for each entry that says something like "Check the catalog,"  

which you can click to look that book up in your own library's catalog.


I've been staring at the template that formats the RSS feed to figure  

out whether any TAL _expression_ would work for this. I've been playing  

with a short Python script, then wondering how to call it within that  

template, but I think I have to use regular expressions to do it.


I'm sorry to be so lost on this, but I guess I am. I'd love to do  

something cool like this for our little Plinkit libraries. Can anyone  

help? I'll take anything from a broad strategy to actual code snippets  

(I'm a terrible programmer but a good librarian).


Thanks

Eva the Librarian



___
Zope maillist  -  Zope@zope.org
http://mail.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists - 
 http://mail.zope.org/mailman/listinfo/zope-announce
 http://mail.zope.org/mailman/listinfo/zope-dev )