No longer finding the largest image in a story if the text view already successfully found one. Also using Mercury's builtin image finder.

This commit is contained in:
Samuel Clay 2017-11-02 22:09:37 -07:00
parent 2f7083fe7e
commit b7574a1ff7
3 changed files with 17 additions and 9 deletions

View file

@ -2689,8 +2689,12 @@ class MStory(mongo.Document):
if not original_text_z or force:
feed = Feed.get_by_id(self.story_feed_id)
ti = TextImporter(self, feed=feed, request=request, debug=debug)
original_text = ti.fetch()
self.extract_image_urls(force=force, text=True)
original_doc = ti.fetch(return_document=True)
original_text = original_doc.get('content')
if original_doc and original_doc.get('image', False):
self.image_urls = [original_doc['image']]
else:
self.extract_image_urls(force=force, text=True)
self.save()
else:
logging.user(request, "~FYFetching ~FGoriginal~FY story text, ~SBfound.")

View file

@ -76,8 +76,9 @@ class TextImporter:
text = doc['content']
title = doc['title']
url = doc['url']
image = doc['lead_image_url']
return self.process_content(text, title, url, skip_save=skip_save, return_document=return_document)
return self.process_content(text, title, url, image, skip_save=skip_save, return_document=return_document)
def fetch_manually(self, skip_save=False, return_document=False):
try:
@ -122,15 +123,16 @@ class TextImporter:
title = original_text_doc.title()
except TypeError:
title = ""
url = resp.url
if content:
content = self.rewrite_content(content)
return self.process_content(content, title, url, skip_save=skip_save, return_document=return_document,
return self.process_content(content, title, url, image=None, skip_save=skip_save, return_document=return_document,
original_text_doc=original_text_doc)
def process_content(self, content, title, url, skip_save=False, return_document=False, original_text_doc=None):
def process_content(self, content, title, url, image, skip_save=False, return_document=False, original_text_doc=None):
original_story_content = self.story and self.story.story_content_z and zlib.decompress(self.story.story_content_z)
if not original_story_content:
original_story_content = ""
@ -151,9 +153,9 @@ class TextImporter:
len(original_story_content)
)), warn_color=False)
return
if return_document:
return dict(content=content, title=title, url=url, doc=original_text_doc)
return dict(content=content, title=title, url=url, doc=original_text_doc, image=image)
return content

View file

@ -93,7 +93,9 @@ NEWSBLUR.Views.StoryDetailView = Backbone.View.extend({
this.generate_gradients();
this.render_comments();
this.attach_handlers();
this.watch_images_load();
if (!this.model.get('image_urls') || (this.model.get('image_urls') && this.model.get('image_urls').length == 0)) {
this.watch_images_load();
}
return this;
},
@ -136,7 +138,7 @@ NEWSBLUR.Views.StoryDetailView = Backbone.View.extend({
}
});
if ($largest) {
// console.log(["Largest!", $largest, this.model.get('story_title').substr(0, 30), this.model]);
// console.log(["Largest!", $largest, this.model.get('story_title').substr(0, 30), this.model, $largest.attr('src')]);
this.model.story_title_view.found_largest_image($largest.attr('src'));
}
}, this));