')
if item.fm_license != '' and item.fm_license is not None:
ret.append('
%s: %s
' % (_("Software license"), item.fm_license))
if item.fm_changes != '' and item.fm_changes is not None:
@@ -171,14 +202,6 @@
item.publication_starting_page))
ret.append('')
ret.append('')
- if item.creator is not None:
- ret.append('
%s: %s
' % (_("Posted by"), item.creator))
- if (item.link is not None):
- ret.append('%s >> ' %
- (item.link,_("Complete story")))
- if (item.guid is not None) and item.guidislink:
- ret.append('%s >> ' %
- (item.guid,_("Permalink")))
return "".join(ret)
@@ -204,6 +227,15 @@
self._href_widget.hide()
self._item_source_vbox.hide()
+ def filter_description(self, descr):
+ matchtags = re.compile("<[^>]*>")
+ if re.search(matchtags, descr) != None:
+ # there are tags. return.
+ return descr
+ else:
+ # replace \n with
+ return re.sub('\n', ' ', descr)
+
class ItemList:
COLUMN_TITLE = 0
COLUMN_STICKY = 1
@@ -1472,4 +1504,3 @@
def enable_feed_selection(self):
self._feed_list_view.enable_feed_selection()
-
Index: src/lib/OPMLImport.py
===================================================================
RCS file: /cvs/gnome/straw/src/lib/OPMLImport.py,v
retrieving revision 1.2
diff -u -r1.2 OPMLImport.py
--- src/lib/OPMLImport.py 16 Apr 2004 20:26:07 -0000 1.2
+++ src/lib/OPMLImport.py 23 May 2004 14:51:55 -0000
@@ -3,15 +3,7 @@
import OPML
class BlogListEntry(object):
- __slots__ = ('text', 'type', 'url', 'xmlurl', 'description', 'language',
- 'title', 'version')
-
- def __init__(self):
- self.xmlurl = None
- self.description = None
- self.language = None
- self.title = None
- self.version = None
+ __slots__ = ('text', 'url')
def _find_entries(outline):
entries = []
@@ -24,22 +16,31 @@
url = outline.get('url', '')
if url != '':
e = BlogListEntry()
- e.type = type
e.text = text
e.url = url
- elif type == 'rss':
- url = outline.get('htmlUrl', '')
+ else:
xmlurl = outline.get('xmlUrl', '')
- if url != '' and xmlurl != '':
- e = BlogListEntry()
- e.type = type
- e.text = text
- e.url = url
- e.xmlurl = xmlurl
- e.description = outline.get('description', '')
- e.language = outline.get('language', '')
- e.title = outline.get('title', '')
- e.version = outline.get('version', '')
+ e = BlogListEntry()
+ e.text = text
+ if text == '':
+ title = outline.get('title', '')
+ if title == '':
+ e = None
+ e.text = title
+ if e != None:
+ if xmlurl != '':
+ # there's something in xmlurl. There's a good chance that's
+ # our feed's URL
+ e.url = xmlurl
+ else:
+ htmlurl = outline.get('htmlUrl', '')
+ if htmlurl != '':
+ # there's something in htmlurl, and xmlurl is empty. This
+ # might be our feed's URL.
+ e.url = htmlurl
+ else:
+ # nothing else to try.
+ e = None
if e is not None:
entries[0:0] = [e]
return entries
@@ -58,8 +59,9 @@
entries = find_entries(o.outlines)
ret = []
edict = {}
+ # avoid duplicates.
for e in entries:
- ek = (e.text, e.type, e.url)
+ ek = (e.text, e.url)
edict[ek] = edict.get(ek, 0) + 1
if edict[ek] < 2:
ret.append(e)
Index: src/lib/utils.py
===================================================================
RCS file: /cvs/gnome/straw/src/lib/utils.py,v
retrieving revision 1.2
diff -u -r1.2 utils.py
--- src/lib/utils.py 16 Apr 2004 20:26:07 -0000 1.2
+++ src/lib/utils.py 23 May 2004 14:51:55 -0000
@@ -1,4 +1,5 @@
import re, string, htmlentitydefs, urllib, urlparse, locale, time, calendar
+import os, sys
import error
url_re = re.compile('^\w+://')
@@ -113,7 +114,7 @@
language, encoding = locale.getlocale(locale.LC_MESSAGES)
except (ValueError, Exception), ex:
error.log("%s" % ex)
-
+
if language is not None:
return locale.normalize(language)
else:
@@ -121,15 +122,7 @@
return 'en_US'
def get_locale_encoding():
- try:
- language, encoding = locale.getlocale(locale.LC_MESSAGES)
- except (ValueError, Exception), ex:
- error.log("%s" % ex)
-
- if encoding is not None and encoding != '':
- return locale.normalize(encoding)
- else:
- return 'ISO8859-1'
+ return locale.getpreferredencoding()
weekday = ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"]
months = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]
@@ -142,7 +135,7 @@
#date.tm_hour, date.tm_min)
return unicode(timestr, encoding)
-
+
MAX_DISPLAY_CHAR = 60
def convert_title(title, description = ''):
if title is None or title == '':
@@ -160,4 +153,34 @@
title = read_text(title, MAX_DISPLAY_CHAR)
return title
+
+def find_lib_dir():
+ if os.environ.has_key("STRAW_DATA"):
+ return os.environ["STRAW_DATA"]
+ h, t = os.path.split(os.path.split(os.path.abspath(sys.argv[0]))[0])
+ if t == 'bin':
+ fp = os.path.join(h, 'share', 'straw')
+ if os.path.isdir(fp):
+ return fp
+ fp = os.path.join(h, 'lib', 'straw')
+ if os.path.isdir(fp):
+ return fp
+ raise "FileNotFoundError", "couldn't find Straw data directory"
+
+def find_locale_dir():
+ h, t = os.path.split(os.path.split(os.path.abspath(sys.argv[0]))[0])
+ if t == 'bin':
+ fp = os.path.join(h, 'share', 'locale')
+ if os.path.isdir(fp):
+ return fp
+ raise "FileNotFoundError", "couldn't find locale data directory"
+
+def find_glade_file(libdir):
+ xmlfile = None
+ if os.environ.has_key("STRAW_GLADE"):
+ return os.environ["STRAW_GLADE"]
+ fp = os.path.join(libdir, 'straw.glade')
+ if os.path.isfile(fp):
+ return fp
+ raise "FileNotFoundError", "couldn't find straw.glade"