Merge branch 'morecomment-speed'
This commit is contained in:
@@ -19,7 +19,6 @@ from .__version__ import __version__
|
||||
|
||||
__all__ = []
|
||||
|
||||
|
||||
def load_config():
|
||||
"""
|
||||
Search for a configuration file at the location ~/.rtv and attempt to load
|
||||
@@ -98,13 +97,15 @@ def main():
|
||||
|
||||
config.unicode = args.unicode
|
||||
|
||||
# Squelch SSL warnings for Ubuntu
|
||||
logging.captureWarnings(True)
|
||||
if args.log:
|
||||
logging.basicConfig(level=logging.DEBUG, filename=args.log)
|
||||
|
||||
try:
|
||||
print('Connecting...')
|
||||
reddit = praw.Reddit(user_agent=AGENT)
|
||||
reddit.config.decode_html_entities = True
|
||||
reddit.config.decode_html_entities = False
|
||||
if args.username:
|
||||
# PRAW will prompt for password if it is None
|
||||
reddit.login(args.username, args.password)
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import textwrap
|
||||
import logging
|
||||
|
||||
import praw
|
||||
import requests
|
||||
@@ -8,6 +9,7 @@ from .helpers import humanize_timestamp, wrap_text, strip_subreddit_url
|
||||
|
||||
__all__ = ['SubredditContent', 'SubmissionContent']
|
||||
|
||||
_logger = logging.getLogger(__name__)
|
||||
|
||||
class BaseContent(object):
|
||||
|
||||
@@ -41,14 +43,22 @@ class BaseContent(object):
|
||||
retval = []
|
||||
while stack:
|
||||
item = stack.pop(0)
|
||||
if isinstance(item, praw.objects.MoreComments) and (
|
||||
item.count == 0):
|
||||
continue
|
||||
nested = getattr(item, 'replies', None)
|
||||
if nested:
|
||||
for n in nested:
|
||||
n.nested_level = item.nested_level + 1
|
||||
stack[0:0] = nested
|
||||
if isinstance(item, praw.objects.MoreComments):
|
||||
if item.count == 0:
|
||||
# MoreComments item count should never be zero, but if it
|
||||
# is then discard the MoreComment object. Need to look into
|
||||
# this further.
|
||||
continue
|
||||
else:
|
||||
if item._replies is None:
|
||||
# Attach children MoreComment replies to parents
|
||||
# https://github.com/praw-dev/praw/issues/391
|
||||
item._replies = [stack.pop(0)]
|
||||
nested = getattr(item, 'replies', None)
|
||||
if nested:
|
||||
for n in nested:
|
||||
n.nested_level = item.nested_level + 1
|
||||
stack[0:0] = nested
|
||||
retval.append(item)
|
||||
return retval
|
||||
|
||||
@@ -120,7 +130,7 @@ class SubmissionContent(BaseContent):
|
||||
list for repeat access.
|
||||
"""
|
||||
|
||||
def __init__(self, submission, loader, indent_size=2, max_indent_level=4):
|
||||
def __init__(self, submission, loader, indent_size=2, max_indent_level=8):
|
||||
|
||||
self.indent_size = indent_size
|
||||
self.max_indent_level = max_indent_level
|
||||
@@ -133,7 +143,7 @@ class SubmissionContent(BaseContent):
|
||||
self._comment_data = [self.strip_praw_comment(c) for c in comments]
|
||||
|
||||
@classmethod
|
||||
def from_url(cls, reddit, url, loader, indent_size=2, max_indent_level=4):
|
||||
def from_url(cls, reddit, url, loader, indent_size=2, max_indent_level=8):
|
||||
|
||||
try:
|
||||
with loader():
|
||||
@@ -210,7 +220,7 @@ class SubmissionContent(BaseContent):
|
||||
|
||||
elif data['type'] == 'MoreComments':
|
||||
with self._loader():
|
||||
comments = data['object'].comments(update=False)
|
||||
comments = data['object'].comments(update=True)
|
||||
comments = self.flatten_comments(comments,
|
||||
root_level=data['level'])
|
||||
comment_data = [self.strip_praw_comment(c) for c in comments]
|
||||
|
||||
Reference in New Issue
Block a user