Changeset 1095
- Timestamp:
- 28/10/08 22:16:13 (2 months ago)
- Files:
-
- trunk/contrib/Feeds.js (modified) (9 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/contrib/Feeds.js
r938 r1095 975 975 976 976 var newItems = new Array(); 977 var newUniques = new Object(); 977 978 978 979 // Only keep new or updated items in the list. … … 983 984 var unique = (item.guid ? item.guid : (item.link ? item.link : (item.date != "?" ? item.date : item.title))); 984 985 var date = unique + ":" + item.date; 986 987 if (unique in newUniques) { 988 // Skip repeated unique items. Broken feed! 989 continue; 990 } 991 newUniques[unique] = true; 992 985 993 if (unique in this._lastSeen) { 986 994 // Seen this item before. Has it changed? … … 994 1002 item.updated = true; 995 1003 } 1004 996 1005 // New item. 997 1006 item.uniqueKey = unique; … … 1005 1014 if (this._items[i].uniqueKey == item.uniqueKey) { 1006 1015 if (this._parent._debug_store) { 1007 log("Feed Store: " + this.name + ": DEL " + item.uniqueKey);1016 log("Feed Store: " + this.name + ": DEL <" + this._items[i].uniqueKey + "><" + this._items[i].date + ">"); 1008 1017 } 1009 1018 this._items.splice(i, 1); … … 1013 1022 } 1014 1023 if (this._parent._debug_store) { 1015 log("Feed Store: " + this.name + ": ADD " + item.uniqueKey);1024 log("Feed Store: " + this.name + ": ADD <" + item.uniqueKey + "><" + item.date + ">"); 1016 1025 } 1017 1026 this._items.push(item); 1018 //log("New item : [" + date + "]:" + (item.updated ? "updated" : "new"));1019 1027 } 1020 1028 … … 1025 1033 if (this._items[i].uniqueKey == d) { 1026 1034 if (this._parent._debug_store) { 1027 log("Feed Store: " + this.name + ": DEL " + d);1035 log("Feed Store: " + this.name + ": DEL <" + this._items[i].uniqueKey + "><" + this._items[i].date + ">"); 1028 1036 } 1029 1037 this._items.splice(i, 1); … … 1031 1039 } 1032 1040 } 1033 //log("Lost item: [" + d + "]:_lastSeen");1034 1041 } 1035 1042 } … … 1037 1044 if (!this._lastSeenPub[d]) { 1038 1045 delete this._lastSeenPub[d]; 1039 //log("Lost item: [" + d + "]:_lastSeenPub");1040 1046 } 1041 1047 } … … 1156 1162 var ary = element.contents().match(/^(\d+)-(\d+)-(\d+)T(\d+):(\d+):(\d+)(?:.(\d+))?(Z|([+-])(\d+):(\d+))$/); 1157 1163 if (ary) { 1158 var d = new Date(ary[1], ary[2] , ary[3], ary[4], ary[5], ary[6]);1164 var d = new Date(ary[1], ary[2] - 1, ary[3], ary[4], ary[5], ary[6]); 1159 1165 // 8 = Z/zone 1160 1166 // 9 = +/-
