当前位置: 首页>>代码示例>>Python>>正文


Python Status.parse方法代码示例

本文整理汇总了Python中status.Status.parse方法的典型用法代码示例。如果您正苦于以下问题:Python Status.parse方法的具体用法?Python Status.parse怎么用?Python Status.parse使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在status.Status的用法示例。


在下文中一共展示了Status.parse方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: on_data

# 需要导入模块: from status import Status [as 别名]
# 或者: from status.Status import parse [as 别名]
    def on_data(self, data):
        try:
            raw_data = data
            data = json.loads(data)

            auth = tweepy.OAuthHandler(settings.CONSUMER_KEY, settings.CONSUMER_SECRET)
            auth.set_access_token(settings.ACCESS_TOKEN, settings.ACCESS_SECRET)
            ta = tweepy.API(auth)
            if "event" in data:
                if data["event"] == "favorite":
                    update_list = [
                        u"きらっ☆(ゝω・)v",
                        u"綺羅星",
                        u"あっ、流れ星",
                        u"favoriteいただきましたー",
                        u"tweetする者にとってfavoriteは寿命!",
                        u"こんなものに星をつけるなんて、訳がわからないよ",
                        u"favは命より重い・・・!",
                    ] 
                    ta.update_status(random.choice(update_list))
                elif data["event"] == "list_member_added":
                    ta.update_status(u"%sに颯爽登場!" % data["target_object"]["full_name"])
                elif data["event"] == "follow":
                    ta.create_friendship(screen_name = data["source"]["screen_name"])

            elif "retweeted_status" in data:
                # RTの場合
                pass  

            elif "in_reply_to_status_id" in data:
                status = Status.parse(self.api, data)

                # リピート機能
                if status.user.screen_name != "tohae_call":
                    redis = Redis()
                    if redis.get(status.text):
                        ta.update_status(status.text)
                        redis.delete(status.text)
                    else:
                        redis.set(status.text,1)
                        redis.expire(status.text,60 * 3)

                # テキストがmentionかそれに相当するものであった場合
                if status.is_reply():
                    patterns = pattern.REPLIES + pattern.PATTERNS + pattern.OTHER
                else:
                    patterns = pattern.PATTERNS

                for p in patterns:
                    ap = p(status)
                    if ap.match():
                        print ap.__class__.__name__
                        update = ap.update()
                        break
                else:
                    update = False

                # update文字が空でなく、相手がNGユーザーでない場合
                if self.is_update(update, status.user.screen_name):
                                  
                    # リプライするパターンであれば、@とin_reply_to_status_idをつける
                    if ap.is_reply():
                        update = "@%s %s" % ( status.user.screen_name , update)
                        ta.update_status(update,status.id)
                    else:
                        ta.update_status(update)
            
            # cron
            for p in cron_pattern.CRON:
                ap = p()
                if ap.match():
                    ta.update_status(ap.update())

        except Exception, e:
            print e
开发者ID:GunioRobot,项目名称:tohae_call,代码行数:77,代码来源:userstream.py


注:本文中的status.Status.parse方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。