Fixed flatten_comments behavior when loading additional comments.

This commit is contained in:
Michael Lazar
2015-12-06 22:03:03 -08:00
parent 8fd8dc549e
commit dc56d2524e
3 changed files with 761 additions and 22 deletions

View File

@@ -43,22 +43,37 @@ class Content(object):
retval = [] retval = []
while stack: while stack:
item = stack.pop(0) item = stack.pop(0)
if isinstance(item, praw.objects.MoreComments):
if item.count == 0: # MoreComments item count should never be zero, but if it is then
# MoreComments item count should never be zero, but if it # discard the MoreComment object. Need to look into this further.
# is then discard the MoreComment object. Need to look into if isinstance(item, praw.objects.MoreComments) and item.count == 0:
# this further. continue
continue
else: # https://github.com/praw-dev/praw/issues/391
if item._replies is None: # Attach children replies to parents. Children will have the
# Attach children MoreComment replies to parents # same parent_id, but with a suffix attached.
# https://github.com/praw-dev/praw/issues/391 # E.g.
item._replies = [stack.pop(0)] # parent_comment.id = c0tprcm
nested = getattr(item, 'replies', None) # comment.parent_id = t1_c0tprcm
if nested: if item.parent_id:
for n in nested: level = None
n.nested_level = item.nested_level + 1 # Search through previous comments for a possible parent
stack[0:0] = nested for parent in retval[::-1]:
if level and parent.nested_level >= level:
# Stop if we reach a sibling or a child, we know that
# nothing before this point is a candidate for parent.
break
level = parent.nested_level
if item.parent_id.endswith(parent.id):
item.nested_level = parent.nested_level + 1
# Otherwise, grab all of the attached replies and add them back to
# the list of comments to parse
if hasattr(item, 'replies'):
for n in item.replies:
n.nested_level = item.nested_level + 1
stack[0:0] = item.replies
retval.append(item) retval.append(item)
return retval return retval
@@ -293,12 +308,13 @@ class SubmissionContent(Content):
count += d.get('count', 1) count += d.get('count', 1)
cache.append(d) cache.append(d)
comment = {} comment = {
comment['type'] = 'HiddenComment' 'type': 'HiddenComment',
comment['cache'] = cache 'cache': cache,
comment['count'] = count 'count': count,
comment['level'] = data['level'] 'level': data['level'],
comment['body'] = 'Hidden' 'body': 'Hidden'}
self._comment_data[index:index + len(cache)] = [comment] self._comment_data[index:index + len(cache)] = [comment]
elif data['type'] == 'HiddenComment': elif data['type'] == 'HiddenComment':

View File

@@ -0,0 +1,683 @@
interactions:
- request:
body: null
headers:
Accept: ['*/*']
Accept-Encoding: ['gzip, deflate, compress']
User-Agent: [!!python/unicode rtv test suite PRAW/3.3.0 Python/2.7.6 Linux-3.13.0-24-generic-x86_64-with-Ubuntu-14.04-trusty]
method: !!python/unicode GET
uri: https://www.reddit.com/r/AskReddit/comments/cmwov.json?sort=top
response:
body:
string: !!binary |
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
3sirue+D9le5HIOCY1ZS//0fZ+kHEUONAwA=
headers:
access-control-allow-origin: ['*']
access-control-expose-headers: ['X-Reddit-Tracking, X-Moose']
cache-control: ['max-age=0, must-revalidate']
cf-cache-status: [EXPIRED]
cf-ray: [250df8b5ff4d288e-SJC]
connection: [keep-alive]
content-encoding: [gzip]
content-length: ['30350']
content-type: [application/json; charset=UTF-8]
date: ['Mon, 07 Dec 2015 05:53:42 GMT']
server: [cloudflare-nginx]
set-cookie: ['__cfduid=dfc22bc4dbea955b67a03ac556f5168461449467620; expires=Tue,
06-Dec-16 05:53:40 GMT; path=/; domain=.reddit.com; HttpOnly']
strict-transport-security: [max-age=15552000; includeSubDomains; preload]
vary: [Accept-Encoding]
x-content-type-options: [nosniff]
x-frame-options: [SAMEORIGIN]
x-moose: [majestic]
x-reddit-tracking: ['https://pixel.redditmedia.com/pixel/of_destiny.png?v=Sdxun9rDrJ%2FHohK424w0Ea2We%2BjPm5xwjtqAPBohib95nrxVbVp9m15frX%2BV1QuJ9FRmydTJR6A%3D']
x-ua-compatible: [IE=edge]
x-xss-protection: [1; mode=block]
status: {code: 200, message: OK}
- request:
body: r=AskReddit&where=top&children=c0trxl4%2Cc0tqht3%2Cc0tqyp8%2Cc0tr2v6%2Cc0tqeik%2Cc0tqo5b%2Cc0tq3p4%2Cc0tq94i%2Cc0tprcm%2Cc0tpx9r%2Cc0tsl4j%2Cc0tsvv3%2Cc0tppe1%2Cc0tpq4p%2Cc0tpuxd%2Cc0trcd2%2Cc0trd3t%2Cc0tre4x%2Cc0trfdz%2Cc0tqaj2%2Cc0tqup7%2Cc0tsa20%2Cc0tqkrg%2Cc0tpywb%2Cc0tsuqu%2Cc0tppfz%2Cc0tr1rs%2Cc0tunwn%2Cc0tr9b5%2Cc0tramn%2Cc0trcoy%2Cc0tpqkt%2Cc0tptqs%2Cc0trelw%2Cc0trfkh%2Cc0trhav%2Cc0trjrr%2Cc0tpnhz%2Cc0tqc6w%2Cc0tpngs%2Cc0tq2ne%2Cc0trygu%2Cc0tpy2m%2Cc0tqi7n%2Cc0ts7b6%2Cc0tpo3q%2Cc0ts8qk%2Cc0tpoqm%2Cc0tsivh%2Cc0tqqoh%2Cc0tpk7h%2Cc0tr21e%2Cc0tpsxi%2Cc0tqym3%2Cc0tqzty%2Cc0tpolw%2Cc0tr6ze%2Cc0tpu30%2Cc0tra1s%2Cc0tplz0%2Cc0tracr%2Cc0tqej7%2Cc0trakz%2Cc0tpv24%2Cc0traya%2Cc0tq6q2%2Cc0tr4jt%2Cc0trdzz%2Cc0tpmvp%2Cc0tq8fm%2Cc0trftp%2Cc0trfw9%2Cc0trfzc%2Cc0trgtb%2Cc0trhcs%2Cc0trhix%2Cc0tq9gu%2Cc0tri0y%2Cc0trjoa%2Cc0trjqz%2Cc0tqan2%2Cc0trklu%2Cc0trlpu%2Cc0tqcej%2Cc0trn90%2Cc0trndn%2Cc0tqjn9%2Cc0ts2cd%2Cc0tpmu5%2Cc0tryoj%2Cc0ts07k%2Cc0tqilt%2Cc0tqjnz%2Cc0tq0zw%2Cc0tsahy%2Cc0tqk4y%2Cc0tqmvd%2Cc0tqnbb%2Cc0tpsoh%2Cc0tslwr%2Cc0tpzpi%2Cc0tstvh%2Cc0tswq0%2Cc0tpzz7%2Cc0tt04z%2Cc0tpzzf%2Cc0tt93z%2Cc0tq0m2%2Cc0tqwiz%2Cc0tqydw%2Cc0tq1f6%2Cc0tq1og%2Cc0tquyw%2Cc0tq1y7%2Cc0tr5ji%2Cc0tqxmp%2Cc0tr700%2Cc0tq3st%2Cc0tq49c%2Cc0traed%2Cc0tq5uw%2Cc0tr5hg%2Cc0trc3j%2Cc0tpthc%2Cc0trcqq%2Cc0tq1v3%2Cc0tpvtk%2Cc0tq87k%2Cc0tq8f5%2Cc0tpruk%2Cc0tpqpi%2Cc0tpkme%2Cc0tq9d4%2Cc0tpqxz%2Cc0tpwhl%2Cc0trhcz%2Cc0trhmq%2Cc0trhqf%2Cc0tq9hu%2Cc0tqag4%2Cc0tpwoj%2Cc0tpwvx%2Cc0tqy0t%2Cc0trk12%2Cc0trl7x%2Cc0v46yr%2Cc0tpx5g%2Cc0trltr%2Cc0trmcu%2Cc0tqcxa%2Cc0ts1kq%2Cc0trr2x%2Cc0tqdsa%2Cc0tsae0%2Cc0tro8r%2Cc0trogu%2Cc0trqku%2Cc0trtap%2Cc0tqe4t%2Cc0trtgv%2Cc0ttosy%2Cc0tpxnl%2Cc0trw3z%2Cc0trx4x%2Cc0tqgmt%2Cc0trymd%2Cc0tqh2p%2Cc0trzh0%2Cc0trzs9%2Cc0trzz3%2Cc0ts047%2Cc0tpn2a%2Cc0tpseh%2Cc0ts1mt%2Cc0ts1nu%2Cc0ts4ru%2Cc0ts6dm%2Cc0tqizt%2Cc0ts6dv%2Cc0tqjle%2Cc0ts7oz%2Cc0ts9pi%2Cc0ts9z9%2Cc0tsa3i%2Cc0tqjr2%2Cc0tsbtc%2Cc0tsdar%2Cc0tsdxr%2Cc0tsgpu%2Cc0tpz3j%2Cc0tsgqw%2Cc0tsgyr%2Cc0tsie2%2Cc0tskjh%2Cc0tqo5x%2Cc0tsnnb%2Cc0tspyh%2Cc0tssi7%2Cc0tqrxx%2Cc0tsx7j%2Cc0tsxn3%2Cc0tt3de%2Cc0tt547%2Cc0tr1wv%2Cc0tq00b%2Cc0tt9sz%2Cc0ttc2t%2Cc0ttdbg%2Cc0tqweb%2Cc0tppa0%2Cc0tqwgf%2Cc0tqxfq%2Cc0tqy8u%2Cc0tpo2j%2Cc0tq1pw%2Cc0tqzlb%2Cc0tr0v4%2Cc0tr124%2Cc0tptxi%2Cc0tr494&api_type=json&link_id=t3_cmwov
headers:
Accept: ['*/*']
Accept-Encoding: ['gzip, deflate, compress']
Content-Length: ['2259']
Content-Type: [application/x-www-form-urlencoded]
Cookie: [__cfduid=dfc22bc4dbea955b67a03ac556f5168461449467620]
User-Agent: [!!python/unicode rtv test suite PRAW/3.3.0 Python/2.7.6 Linux-3.13.0-24-generic-x86_64-with-Ubuntu-14.04-trusty]
method: !!python/unicode POST
uri: https://api.reddit.com/api/morechildren/.json
response:
body:
string: !!binary |
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
headers:
cache-control: ['max-age=0, must-revalidate']
cf-ray: [250df8e945f00663-SJC]
connection: [keep-alive]
content-encoding: [gzip]
content-length: ['4723']
content-type: [application/json; charset=UTF-8]
date: ['Mon, 07 Dec 2015 05:53:49 GMT']
server: [cloudflare-nginx]
strict-transport-security: [max-age=15552000; includeSubDomains; preload]
vary: [accept-encoding]
x-content-type-options: [nosniff]
x-frame-options: [SAMEORIGIN]
x-moose: [majestic]
x-ua-compatible: [IE=edge]
x-xss-protection: [1; mode=block]
status: {code: 200, message: OK}
version: 1

View File

@@ -37,6 +37,46 @@ def test_content_wrap_text():
assert Content.wrap_text('\n\n\n\n', 70) == ['', '', '', ''] assert Content.wrap_text('\n\n\n\n', 70) == ['', '', '', '']
def test_content_flatten_comments(reddit):
# Grab a large MoreComments instance to test
url = 'https://www.reddit.com/r/AskReddit/comments/cmwov'
submission = reddit.get_submission(url, comment_sort='top')
more_comment = submission.comments[-1]
assert isinstance(more_comment, praw.objects.MoreComments)
# Double check that reddit's api hasn't changed the response structure
comments = more_comment.comments()
top_level_comments = []
for comment in comments[:-1]:
if comment.parent_id == more_comment.parent_id:
top_level_comments.append(comment.id)
else:
# Sometimes replies are returned below their parents instead of
# being automatically nested. In this case, make sure the parent_id
# of the comment matches the most recent top level comment.
assert comment.parent_id.endswith(top_level_comments[-1])
# The last item should be a MoreComments linked to the original parent
top_level_comments.append(comments[-1].id)
assert isinstance(comments[-1], praw.objects.MoreComments)
assert comments[-1].parent_id == more_comment.parent_id
flattened = Content.flatten_comments(comments, root_level=2)
# Because the comments returned by praw's comment.comments() don't have
# nested replies, the flattened size should not change.
assert len(flattened) == len(comments)
for i, comment in enumerate(flattened):
# Order should be preserved
assert comment.id == comments[i].id
# And the nested level should be added
if comment.id in top_level_comments:
assert comment.nested_level == 2
else:
assert comment.nested_level > 2
def test_content_submission_initialize(reddit, terminal): def test_content_submission_initialize(reddit, terminal):
url = 'https://www.reddit.com/r/Python/comments/2xmo63/' url = 'https://www.reddit.com/r/Python/comments/2xmo63/'