Example #1
0
def reply_to_submission(submission: Submission) -> bool:
    """Replies to a single submission"""
    for reply in submission.comments.list():
        if reply.author.name == args.username:
            log.info(f'Already replied to submission {submission.id}')
            return False

    if args.dry_run:
        log.info(f'Dry-run, skipping submission: {submission.shortlink}')
    else:
        replies_per_thread = cache.get(
            f'replies_per_submission:{submission.id}') or 0
        cache.set(f'replies_per_submission:{submission.id}',
                  replies_per_thread + 1)

        log.info(f'Replying to submission: {submission.shortlink}')

        submission.reply(COMMENT.format(signature=submission.id))
        submission.upvote()
        return True

    return False