本文整理汇总了Python中reddit.Reddit.get_all_comments方法的典型用法代码示例。如果您正苦于以下问题:Python Reddit.get_all_comments方法的具体用法?Python Reddit.get_all_comments怎么用?Python Reddit.get_all_comments使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类reddit.Reddit
的用法示例。
在下文中一共展示了Reddit.get_all_comments方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: __init__
# 需要导入模块: from reddit import Reddit [as 别名]
# 或者: from reddit.Reddit import get_all_comments [as 别名]
#.........这里部分代码省略.........
def setMaintainer(self, username):
self._maintainer = username
def setOutput(self, outputMode):
self._output = outputMode
def login(self, username, password):
self._reddit.login(username, password)
def postPalindrome(self):
comments = list(self._fetchComments())
for comment in comments:
palindrome = self._anagram.pickRandomPalindrome(comment.body)
if palindrome != None:
print palindrome
else:
print "Nope:", comment.body[:70].replace("\n", "")
def makeFunny(self):
comments = list(self._fetchComments())
attempts = []
anagrams = []
maxAttempts = 20
i = 0
while len(attempts) < 10 and i < maxAttempts:
i += 1
comment = random.choice(comments)
anagrams = self._attempt(comment.body)
anagrams = sorted(anagrams, key=lambda x: -len(x[1]))
if len(anagrams) > 0:
attempts.append( (comment,anagrams) )
if len(attempts) == 0:
return
attempts = sorted(attempts, key=lambda x: -len(x[1][0][1]))
(comment, anagrams) = attempts[0]
anagrams = filter(lambda x: len(x[1]) > 3, anagrams)
reply = self._replace(comment.body, anagrams)
self._sendFunny(comment, reply)
def _sendFunny(self, comment, reply):
if self._output & AnagramBot.OUT_STDOUT:
self._printReply(comment, reply)
if self._output & AnagramBot.OUT_MAINTAINER:
self._debugPM(comment.permalink + "\n\n" + reply)
if self._output & AnagramBot.OUT_DEBUG_REPLY:
self._moderatedReply(comment, reply)
if self._output & AnagramBot.OUT_REPLY:
comment.reply( reply )
def _debugPM(self, message):
if self._maintainer == None:
raise ValueError("No maintainer is set! Use setMaintainer(str).")
self._reddit.compose_message(self._maintainer, "AnagramBot debug",
message)
def _printReply(self, comment, reply):
print comment.body
print "==================="
print reply
def _moderatedReply(self, comment, reply):
self._printReply(comment,reply)
print comment.permalink
response = raw_input("Send this [YES/NO]? ")
if response.strip() == "YES":
print "Sending reply..."
comment.reply(reply)
else:
print "Aborted."
def _replace(self, text, anagrams):
for anagram in anagrams:
pattern = "([^A-Za-z'0-9])" + anagram[0] + "([^A-Za-z'0-9])"
replace = "\\1" + anagram[1] + "\\2"
text = re.sub(pattern, replace, text)
return text
def _attempt(self, text):
result = []
noMatches = True
for match in re.findall("[A-Za-z'0-9]+", text):
for anagram in self._anagram.solveRandomAnagram(match, 5):
if anagram != None and anagram != match.upper():
anagram = _matchCase(match, anagram)
result.append( (match, anagram) )
return result
def _fetchComments(self):
return self._reddit.get_all_comments()