From c6ce8cc36a8303c7d63a2b2da9db34d7052a9c62 Mon Sep 17 00:00:00 2001 From: Samuel Clay Date: Wed, 12 May 2021 21:19:09 -0400 Subject: [PATCH] Everything is smart bytes when it comes to original pages. --- apps/rss_feeds/models.py | 4 ++-- apps/rss_feeds/page_importer.py | 9 +++++---- apps/rss_feeds/text_importer.py | 2 +- apps/social/models.py | 5 +++-- 4 files changed, 11 insertions(+), 9 deletions(-) diff --git a/apps/rss_feeds/models.py b/apps/rss_feeds/models.py index 59adcbec3..f80442222 100755 --- a/apps/rss_feeds/models.py +++ b/apps/rss_feeds/models.py @@ -2943,10 +2943,10 @@ class MStarredStory(mongo.DynamicDocument): def save(self, *args, **kwargs): if self.story_content: - self.story_content_z = zlib.compress(self.story_content) + self.story_content_z = zlib.compress(smart_bytes(self.story_content)) self.story_content = None if self.story_original_content: - self.story_original_content_z = zlib.compress(self.story_original_content) + self.story_original_content_z = zlib.compress(smart_bytes(self.story_original_content)) self.story_original_content = None self.story_hash = self.feed_guid_hash self.starred_updated = datetime.datetime.now() diff --git a/apps/rss_feeds/page_importer.py b/apps/rss_feeds/page_importer.py index 3216cfd8b..e0fecfa84 100644 --- a/apps/rss_feeds/page_importer.py +++ b/apps/rss_feeds/page_importer.py @@ -7,6 +7,7 @@ import urllib.request, urllib.error, urllib.parse import http.client import zlib from django.contrib.sites.models import Site +from django.utils.encoding import smart_bytes from mongoengine.queryset import NotUniqueError from socket import error as SocketError from boto.s3.key import Key @@ -227,7 +228,7 @@ class PageImporter(object): return html def save_story(self, html): - self.story.original_page_z = zlib.compress(html.encode('utf-8')) + self.story.original_page_z = zlib.compress(smart_bytes(html)) try: self.story.save() except NotUniqueError: @@ -297,11 +298,11 @@ class PageImporter(object): logging.debug(' ---> [%-30s] ~FYNo change in page data: %s' % (self.feed.log_title[:30], self.feed.feed_link)) else: # logging.debug(' ---> [%-30s] ~FYChange in page data: %s (%s/%s %s/%s)' % (self.feed.log_title[:30], self.feed.feed_link, type(html), type(feed_page.page()), len(html), len(feed_page.page()))) - feed_page.page_data = zlib.compress(html.encode('utf-8')) + feed_page.page_data = zlib.compress(smart_bytes(html)) feed_page.save() except MFeedPage.DoesNotExist: feed_page = MFeedPage.objects.create(feed_id=self.feed.pk, - page_data=zlib.compress(html.encode('utf-8'))) + page_data=zlib.compress(smart_bytes(html))) return feed_page def save_page_node(self, html): @@ -310,7 +311,7 @@ class PageImporter(object): domain, self.feed.pk, ) - compressed_html = zlib.compress(html.encode('utf-8')) + compressed_html = zlib.compress(smart_bytes(html)) response = requests.post(url, files={ 'original_page': compressed_html, # 'original_page': html, diff --git a/apps/rss_feeds/text_importer.py b/apps/rss_feeds/text_importer.py index ce6d9ef05..149b832b5 100644 --- a/apps/rss_feeds/text_importer.py +++ b/apps/rss_feeds/text_importer.py @@ -153,7 +153,7 @@ class TextImporter: if content and len(content) > len(original_story_content): if self.story and not skip_save: - self.story.original_text_z = zlib.compress(smart_str(content).encode()) + self.story.original_text_z = zlib.compress(smart_bytes(content)) try: self.story.save() except NotUniqueError as e: diff --git a/apps/social/models.py b/apps/social/models.py index 5a2d10ca8..9d2dac029 100644 --- a/apps/social/models.py +++ b/apps/social/models.py @@ -23,6 +23,7 @@ from django.urls import reverse from django.template.loader import render_to_string from django.template.defaultfilters import slugify from django.core.mail import EmailMultiAlternatives +from django.utils.encoding import smart_bytes from apps.reader.models import UserSubscription, RUserStory from apps.analyzer.models import MClassifierFeed, MClassifierAuthor, MClassifierTag, MClassifierTitle from apps.analyzer.models import apply_classifier_titles, apply_classifier_feeds, apply_classifier_authors, apply_classifier_tags @@ -1514,10 +1515,10 @@ class MSharedStory(mongo.DynamicDocument): if self.story_content: self.story_content = scrubber.scrub(self.story_content) - self.story_content_z = zlib.compress(self.story_content) + self.story_content_z = zlib.compress(smart_bytes(self.story_content)) self.story_content = None if self.story_original_content: - self.story_original_content_z = zlib.compress(self.story_original_content) + self.story_original_content_z = zlib.compress(smart_bytes(self.story_original_content)) self.story_original_content = None self.story_guid_hash = self.guid_hash