From 540246e30aa69fd93103ec96a7677489880c3d7b Mon Sep 17 00:00:00 2001 From: Samuel Clay Date: Mon, 15 Nov 2010 22:43:01 -0500 Subject: [PATCH] Trying to load redirected images in the feed view. Also fixing up the feed api to not quote URLs. --- apps/rss_feeds/models.py | 3 +- .../iphone/NewsBlur.xcodeproj/conesus.mode1v3 | 132 ++++++------------ .../iphone/NewsBlur.xcodeproj/conesus.pbxuser | 27 ++-- media/js/newsblur/reader.js | 10 +- 4 files changed, 66 insertions(+), 106 deletions(-) diff --git a/apps/rss_feeds/models.py b/apps/rss_feeds/models.py index 49eb3ed67..1d656e4db 100644 --- a/apps/rss_feeds/models.py +++ b/apps/rss_feeds/models.py @@ -6,6 +6,7 @@ import re import mongoengine as mongo import pymongo import zlib +import urllib from collections import defaultdict from operator import itemgetter from BeautifulSoup import BeautifulStoneSoup @@ -491,7 +492,7 @@ class Feed(models.Model): story['story_authors'] = story_db.story_author_name story['story_title'] = story_db.story_title story['story_content'] = story_db.story_content_z and zlib.decompress(story_db.story_content_z) - story['story_permalink'] = story_db.story_permalink + story['story_permalink'] = urllib.unquote(urllib.unquote(story_db.story_permalink)) story['story_feed_id'] = self.pk story['id'] = story_db.story_guid diff --git a/media/iphone/NewsBlur.xcodeproj/conesus.mode1v3 b/media/iphone/NewsBlur.xcodeproj/conesus.mode1v3 index b9b92173d..2e6106e3e 100644 --- a/media/iphone/NewsBlur.xcodeproj/conesus.mode1v3 +++ b/media/iphone/NewsBlur.xcodeproj/conesus.mode1v3 @@ -200,10 +200,7 @@ XCObserverAutoDisconnectKey XCObserverDefintionKey - - PBXStatusErrorsKey - 0 - + XCObserverFactoryKey XCPerspectivesSpecificationIdentifier XCObserverGUIDKey @@ -215,58 +212,7 @@ XCObserverTriggerKey awakenModuleWithObserver: XCObserverValidationKey - - PBXStatusErrorsKey - 2 - - - - XCObserverAutoDisconnectKey - - XCObserverDefintionKey - - PBXStatusWarningsKey - 0 - - XCObserverFactoryKey - XCPerspectivesSpecificationIdentifier - XCObserverGUIDKey - XCObserverProjectIdentifier - XCObserverNotificationKey - PBXStatusBuildStateMessageNotification - XCObserverTargetKey - XCMainBuildResultsModuleGUID - XCObserverTriggerKey - awakenModuleWithObserver: - XCObserverValidationKey - - PBXStatusWarningsKey - 2 - - - - XCObserverAutoDisconnectKey - - XCObserverDefintionKey - - PBXStatusAnalyzerResultsKey - 0 - - XCObserverFactoryKey - XCPerspectivesSpecificationIdentifier - XCObserverGUIDKey - XCObserverProjectIdentifier - XCObserverNotificationKey - PBXStatusBuildStateMessageNotification - XCObserverTargetKey - XCMainBuildResultsModuleGUID - XCObserverTriggerKey - awakenModuleWithObserver: - XCObserverValidationKey - - PBXStatusAnalyzerResultsKey - 2 - + OpenEditors @@ -370,7 +316,7 @@ 277 RubberWindowFrame - 110 55 1075 823 0 0 1440 878 + 255 355 1075 823 0 0 1920 1178 Module PBXSmartGroupTreeModule @@ -400,7 +346,7 @@ _historyCapacity 0 bookmark - 787361BA1291F4DE003C48E2 + 7840C49412920ACF0069B9BC history 7842EB9911CFFC1B0066CF9D @@ -429,7 +375,7 @@ 780960BE129184D600230C8E 780960BF129184D600230C8E 780960C91291855800230C8E - 780960D4129188B400230C8E + 787361BA1291F4DE003C48E2 SplitCount @@ -441,14 +387,14 @@ GeometryConfiguration Frame - {{0, 0}, {776, 627}} + {{0, 0}, {776, 623}} RubberWindowFrame - 110 55 1075 823 0 0 1440 878 + 255 355 1075 823 0 0 1920 1178 Module PBXNavigatorGroup Proportion - 627pt + 623pt ContentConfiguration @@ -461,14 +407,14 @@ GeometryConfiguration Frame - {{0, 632}, {776, 150}} + {{0, 628}, {776, 154}} RubberWindowFrame - 110 55 1075 823 0 0 1440 878 + 255 355 1075 823 0 0 1920 1178 Module XCDetailModule Proportion - 150pt + 154pt Proportion @@ -487,9 +433,9 @@ TableOfContents - 787361A71291F3FF003C48E2 + 7840C49512920ACF0069B9BC 1CE0B1FE06471DED0097A5F4 - 787361A81291F3FF003C48E2 + 7840C49612920ACF0069B9BC 1CE0B20306471E060097A5F4 1CE0B20506471E060097A5F4 @@ -624,7 +570,7 @@ StatusbarIsVisible TimeStamp - 311555294.59665197 + 311560911.65137798 ToolbarConfigUserDefaultsMinorVersion 2 ToolbarDisplayMode @@ -643,11 +589,11 @@ 1CD10A99069EF8BA00B06720 788997AE11C9C87C00041675 - /Users/conesus/newsblur/media/iphone/NewsBlur.xcodeproj + /Users/conesus/Projects/newsblur/media/iphone/NewsBlur.xcodeproj 1C78EAAD065D492600B07095 WindowString - 110 55 1075 823 0 0 1440 878 + 255 355 1075 823 0 0 1920 1178 WindowToolsV3 @@ -677,7 +623,7 @@ Frame {{0, 0}, {897, 251}} RubberWindowFrame - 289 275 897 533 0 0 1440 878 + 544 502 897 533 0 0 1920 1178 Module PBXNavigatorGroup @@ -696,14 +642,14 @@ XCBuildResultsTrigger_Collapse 1020 XCBuildResultsTrigger_Open - 1013 + 1010 GeometryConfiguration Frame {{0, 256}, {897, 236}} RubberWindowFrame - 289 275 897 533 0 0 1440 878 + 544 502 897 533 0 0 1920 1178 Module PBXBuildResultsModule @@ -726,7 +672,7 @@ TableOfContents 788997AE11C9C87C00041675 - 787361A91291F3FF003C48E2 + 7840C49312920ACF0069B9BC 1CD0528F0623707200166675 XCMainBuildResultsModuleGUID @@ -735,7 +681,7 @@ WindowContentMinSize 486 300 WindowString - 289 275 897 533 0 0 1440 878 + 544 502 897 533 0 0 1920 1178 WindowToolGUID 788997AE11C9C87C00041675 WindowToolIsVisible @@ -770,8 +716,8 @@ yes sizes - {{0, 0}, {648, 360}} - {{648, 0}, {647, 360}} + {{0, 0}, {648, 339}} + {{0, 339}, {648, 340}} VerticalSplitView @@ -786,8 +732,8 @@ yes sizes - {{0, 0}, {1295, 360}} - {{0, 360}, {1295, 319}} + {{0, 0}, {648, 679}} + {{648, 0}, {647, 679}} @@ -819,15 +765,15 @@ Value 85 Summary - 330 + 331 Frame - {{648, 0}, {647, 360}} + {{0, 339}, {648, 340}} RubberWindowFrame - 137 125 1295 720 0 0 1440 878 + 591 328 1295 720 0 0 1920 1178 RubberWindowFrame - 137 125 1295 720 0 0 1440 878 + 591 328 1295 720 0 0 1920 1178 Module PBXDebugSessionModule @@ -850,18 +796,18 @@ TableOfContents 1CD10A99069EF8BA00B06720 - 787361AE1291F470003C48E2 + 7840C49712920ACF0069B9BC 1C162984064C10D400B95A72 - 787361AF1291F470003C48E2 - 787361B01291F470003C48E2 - 787361B11291F470003C48E2 - 787361B21291F470003C48E2 - 787361B31291F470003C48E2 + 7840C49812920ACF0069B9BC + 7840C49912920ACF0069B9BC + 7840C49A12920ACF0069B9BC + 7840C49B12920ACF0069B9BC + 7840C49C12920ACF0069B9BC ToolbarConfiguration xcode.toolbar.config.debugV3 WindowString - 137 125 1295 720 0 0 1440 878 + 591 328 1295 720 0 0 1920 1178 WindowToolGUID 1CD10A99069EF8BA00B06720 WindowToolIsVisible @@ -989,7 +935,7 @@ Frame {{0, 0}, {744, 532}} RubberWindowFrame - 665 305 744 573 0 0 1440 878 + 1124 605 744 573 0 0 1920 1178 Module PBXDebugCLIModule @@ -1012,13 +958,13 @@ TableOfContents 1C78EAAD065D492600B07095 - 787361B41291F470003C48E2 + 7840C49D12920ACF0069B9BC 1C78EAAC065D492600B07095 ToolbarConfiguration xcode.toolbar.config.consoleV3 WindowString - 665 305 744 573 0 0 1440 878 + 1124 605 744 573 0 0 1920 1178 WindowToolGUID 1C78EAAD065D492600B07095 WindowToolIsVisible diff --git a/media/iphone/NewsBlur.xcodeproj/conesus.pbxuser b/media/iphone/NewsBlur.xcodeproj/conesus.pbxuser index 9f9a3d8f6..22de61e02 100644 --- a/media/iphone/NewsBlur.xcodeproj/conesus.pbxuser +++ b/media/iphone/NewsBlur.xcodeproj/conesus.pbxuser @@ -135,8 +135,8 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 311555062; - PBXWorkspaceStateSaveDate = 311555062; + PBXPerProjectTemplateStateSaveDate = 311560900; + PBXWorkspaceStateSaveDate = 311560900; }; perUserProjectItems = { 78095E4F128EF39900230C8E = 78095E4F128EF39900230C8E /* PBXTextBookmark */; @@ -156,6 +156,7 @@ 780960CA1291855800230C8E = 780960CA1291855800230C8E /* PBXTextBookmark */; 780960D4129188B400230C8E = 780960D4129188B400230C8E /* PBXTextBookmark */; 782D83C5128CD39B009B6727 = 782D83C5128CD39B009B6727 /* PBXTextBookmark */; + 7840C49412920ACF0069B9BC /* PBXTextBookmark */ = 7840C49412920ACF0069B9BC /* PBXTextBookmark */; 7842EB9911CFFC1B0066CF9D = 7842EB9911CFFC1B0066CF9D /* PBXTextBookmark */; 7843F5AA11EEC0AA00675F64 = 7843F5AA11EEC0AA00675F64 /* PBXTextBookmark */; 7843F5AB11EEC0AA00675F64 = 7843F5AB11EEC0AA00675F64 /* PBXTextBookmark */; @@ -167,10 +168,10 @@ 784DDC1C128CE7B400AE08E0 = 784DDC1C128CE7B400AE08E0 /* PBXBookmark */; 784DDC1D128CE7B400AE08E0 = 784DDC1D128CE7B400AE08E0 /* PBXBookmark */; 784DDC22128CE97100AE08E0 = 784DDC22128CE97100AE08E0 /* PlistBookmark */; - 787361A61291F3FF003C48E2 /* PBXTextBookmark */ = 787361A61291F3FF003C48E2 /* PBXTextBookmark */; - 787361AD1291F470003C48E2 /* PBXTextBookmark */ = 787361AD1291F470003C48E2 /* PBXTextBookmark */; - 787361B71291F4D5003C48E2 /* PBXTextBookmark */ = 787361B71291F4D5003C48E2 /* PBXTextBookmark */; - 787361BA1291F4DE003C48E2 /* PBXTextBookmark */ = 787361BA1291F4DE003C48E2 /* PBXTextBookmark */; + 787361A61291F3FF003C48E2 = 787361A61291F3FF003C48E2 /* PBXTextBookmark */; + 787361AD1291F470003C48E2 = 787361AD1291F470003C48E2 /* PBXTextBookmark */; + 787361B71291F4D5003C48E2 = 787361B71291F4D5003C48E2 /* PBXTextBookmark */; + 787361BA1291F4DE003C48E2 = 787361BA1291F4DE003C48E2 /* PBXTextBookmark */; }; sourceControlManager = 788997A911C9C3F000041675 /* Source Control */; userBuildSettings = { @@ -383,6 +384,16 @@ vrLen = 361; vrLoc = 0; }; + 7840C49412920ACF0069B9BC /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 784B50EB127E3F68008F90EA /* LoginViewController.m */; + name = "LoginViewController.m: 71"; + rLen = 0; + rLoc = 2227; + rType = 0; + vrLen = 1526; + vrLoc = 1314; + }; 7842EB9911CFFC1B0066CF9D /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 32CA4F630368D1EE00C91783 /* NewsBlur_Prefix.pch */; @@ -481,9 +492,9 @@ }; 784B50EB127E3F68008F90EA /* LoginViewController.m */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {727, 1484}}"; + sepNavIntBoundsRect = "{{0, 0}, {727, 1404}}"; sepNavSelRange = "{2227, 0}"; - sepNavVisRange = "{1415, 1343}"; + sepNavVisRange = "{1314, 1526}"; sepNavWindowFrame = "{{72, 315}, {750, 558}}"; }; }; diff --git a/media/js/newsblur/reader.js b/media/js/newsblur/reader.js index 7aa042ccb..b4c6cb93c 100644 --- a/media/js/newsblur/reader.js +++ b/media/js/newsblur/reader.js @@ -1487,7 +1487,7 @@ }, open_story_link: function(story, $st) { - window.open(unescape(decodeURIComponent(story['story_permalink'])), '_blank'); + window.open(story['story_permalink'], '_blank'); window.focus(); }, @@ -1711,7 +1711,7 @@ break; } var $story_title = $.make('div', { className: 'story ' + read + ' NB-story-' + score_color }, [ - $.make('a', { href: unescape(decodeURIComponent(story.story_permalink)), className: 'story_title' }, [ + $.make('a', { href: story.story_permalink, className: 'story_title' }, [ $.make('span', { className: 'NB-storytitles-title' }, story.story_title), $.make('span', { className: 'NB-storytitles-author' }, story.story_authors), $story_tags @@ -2078,7 +2078,7 @@ $.make('div', { className: 'NB-feed-story-author' }, story.story_authors)), $.make('div', { className: 'NB-feed-story-title-container' }, [ $.make('div', { className: 'NB-feed-story-sentiment' }), - $.make('a', { className: 'NB-feed-story-title', href: unescape(decodeURIComponent(story.story_permalink)) }, story.story_title) + $.make('a', { className: 'NB-feed-story-title', href: story.story_permalink }, story.story_title) ]), ( story.long_parsed_date && $.make('span', { className: 'NB-feed-story-date' }, story.long_parsed_date)) @@ -2114,6 +2114,7 @@ } else { image_count--; } + return true; }); })($story, story, image_count); } @@ -2141,7 +2142,8 @@ } } - if (_.all(this.flags.feed_view_images_loaded) && _.keys(this.flags.feed_view_images_loaded).length > 0) { + if (_.all(this.flags.feed_view_images_loaded) && + _.keys(this.flags.feed_view_images_loaded).length > 0) { this.fetch_story_locations_in_feed_view(); }