diff --git a/planet/reconstitute.py b/planet/reconstitute.py index ffba7a0..bb41cfa 100644 --- a/planet/reconstitute.py +++ b/planet/reconstitute.py @@ -70,6 +70,7 @@ def id(xentry, entry): if entry.has_key("id") and entry.id: entry_id = entry.id + if hasattr(entry_id, 'values'): entry_id = entry_id.values()[0] elif entry.has_key("link") and entry.link: entry_id = entry.link elif entry.has_key("title") and entry.title: diff --git a/planet/spider.py b/planet/spider.py index 311077f..50d1739 100644 --- a/planet/spider.py +++ b/planet/spider.py @@ -176,7 +176,9 @@ def writeCache(feed_uri, feed_info, data): # generate an id, if none is present if not entry.has_key('id') or not entry.id: entry['id'] = reconstitute.id(None, entry) - if not entry['id']: continue + elif hasattr(entry['id'], 'values'): + entry['id'] = entry['id'].values()[0] + if not entry['id']: continue # determine updated date for purposes of selection updated = '' diff --git a/tests/data/reconstitute/gr_id.xml b/tests/data/reconstitute/gr_id.xml new file mode 100644 index 0000000..eca22b7 --- /dev/null +++ b/tests/data/reconstitute/gr_id.xml @@ -0,0 +1,11 @@ + + + + + http://example.com/1 + + +