<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META content="text/html; charset=utf-8" http-equiv=Content-Type>
<META name=GENERATOR content="MSHTML 8.00.6001.23501">
<STYLE></STYLE>
</HEAD>
<BODY bgColor=#ffffff>
<DIV><FONT size=2 face=Arial>Ciao Gianni,</FONT></DIV>
<DIV><FONT size=2 face=Arial>Il confronto però così è case sensitive, io 
proverei con:</FONT></DIV>
<DIV><FONT size=2 face=Arial>...</FONT></DIV>
<DIV>
<DIV>            while 
unicode(feed.last_id).upper() != unicode(entry['link']).upper():</DIV>
<DIV>...</DIV>
<DIV><FONT size=2 face=Arial></FONT> </DIV>
<DIV><FONT size=2 face=Arial>Adriano Barbieri</FONT></DIV>
<DIV><FONT size=2 face=Arial></FONT> </DIV></DIV>
<BLOCKQUOTE 
style="BORDER-LEFT: #000000 2px solid; PADDING-LEFT: 5px; PADDING-RIGHT: 0px; MARGIN-LEFT: 5px; MARGIN-RIGHT: 0px">
  <DIV style="FONT: 10pt arial">----- Original Message ----- </DIV>
  <DIV 
  style="FONT: 10pt arial; BACKGROUND: #e4e4e4; font-color: black"><B>From:</B> 
  <A title=giannidn@gmail.com href="mailto:giannidn@gmail.com">Gianni Di 
  Noia</A> </DIV>
  <DIV style="FONT: 10pt arial"><B>To:</B> <A title=python@lists.python.it 
  href="mailto:python@lists.python.it">python@lists.python.it</A> </DIV>
  <DIV style="FONT: 10pt arial"><B>Sent:</B> Thursday, June 13, 2013 6:14 
  PM</DIV>
  <DIV style="FONT: 10pt arial"><B>Subject:</B> [Python] Comparare stringhe 
  unicode</DIV>
  <DIV><FONT size=2 face=Arial></FONT><BR></DIV>
  <DIV dir=ltr>Scusate, ho questa funzione che uso per popolare il DB di 
  articoli presi da feed di vario tipo (atom, rss..) con l'aiuto di feedparser:
  <DIV><FONT size=2 face=Arial></FONT><BR></DIV>
  <DIV>
  <DIV>def check_feed(feedk, e=0):</DIV>
  <DIV>    feed = feedk.get()</DIV>
  <DIV>    parsed = fetch_feed(feed.feed)</DIV>
  <DIV>    if parsed:</DIV>
  <DIV>        try:</DIV>
  <DIV>            entry = 
parsed['items'][e]</DIV>
  <DIV>            while unicode(feed.last_id) != 
  unicode(entry['link']):</DIV>
  <DIV>                
  scrivineldb()</DIV>
  <DIV>                e += 1</DIV>
  <DIV>                entry = 
  parsed['items'][e]</DIV>
  <DIV>            feed.last_id = 
  unicode(parsed['items'][0]['link'])</DIV>
  <DIV>            feed.put()</DIV>
  <DIV>        except:</DIV>
  <DIV>            pass</DIV></DIV>
  <DIV><BR></DIV>
  <DIV>Oltre al try/except/pass che non mi piace ho un problema nel 'while' che 
  ha il compito di scrivineldb() finché non raggiunge l'ultimo articolo del 
  processo precendente (feed.last_id).</DIV>
  <DIV><BR></DIV>
  <DIV>Il problema è che anche quando "feed.last_id" e "entry['link']" sono 
  uguali la funziona li identifica come diversi. Ho pensato che dipenda dalla 
  codifica - che non conosco abbastanza - ma non riesco a risolvere:</DIV>
  <DIV>feed.last_id è una StringProperty di appengine che la documentazione dice 
  essere unicode. Lo uso come un cursore, salvando l'ultimo "item" in modo che 
  nel prossimo task la funzione si fermi quando lo raggiunge evitando 
  duplicati.<BR></DIV>
  <DIV>entry['link'] è anche una stringa unicode come dice la documentazione di 
  feedparser ed è l'oggeto che comparo col 'cursore'.<BR></DIV>
  <DIV>Entrambe sono degli url in unicode tipo: u'<A 
  href="http://esempio.it/post/123">http://esempio.it/post/123</A>'</DIV>
  <DIV><BR></DIV>
  <DIV>La comparazione nel while dovrebbe funzionare anche senza esplicitare l' 
  unicode() ma niente continua a consumare risorse processando tutti gli 
  articoli nel feed.</DIV>
  <DIV><BR></DIV>
  <DIV>idee..</DIV></DIV>
  <P>
  <HR>

  <P></P>_______________________________________________<BR>Python mailing 
  list<BR>Python@lists.python.it<BR>http://lists.python.it/mailman/listinfo/python<BR></BLOCKQUOTE></BODY></HTML>