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


Python Database.insert_link方法代码示例

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


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

示例1: LinkGetter

# 需要导入模块: from db import Database [as 别名]
# 或者: from db.Database import insert_link [as 别名]
class LinkGetter(object):

    def __init__(self):
        self.db = Database()
        print "Listening to %s" % ADDRESS
        socketIO = SocketIO(ADDRESS, 443, secure=True)
        socketIO.on('message', self.on_message)
        socketIO.wait()



    def do_the_thing(self, key, message):
        groups = re.finditer(LINKY, message)
        for g in groups:
            try:
                response = requests.get(g.group(0))
                if response.status_code == 200:
                    print "Found a link! %s" % message
                    self.db.insert_link(key, message, g.group(0))
            except:
                print "Bad link"
    def on_message(self, *args):
        try:
            data = args[0]
            message = data['chat']['value']['message']
            key = data['chat']['key']
            print message
            self.do_the_thing(key, message)
        except:
            print "never crash because crashing would be bad"
开发者ID:abelsonlive,项目名称:meatspace-links,代码行数:32,代码来源:listener.py

示例2: LinkGetter

# 需要导入模块: from db import Database [as 别名]
# 或者: from db.Database import insert_link [as 别名]
class LinkGetter(object):

    def __init__(self):
        self.db = Database()
        print "Listening to %s" % ADDRESS

    def listen(self):
        socketIO = SocketIO(ADDRESS, 443, secure=True)
        socketIO.on('message', self.on_message)
        socketIO.wait()


    def is_link_to_music(self, url, response, message):
        netloc = urlparse(url).netloc.lower()
        #Sound cloud links
        if netloc == 'soundcloud.com':
            return True
        #Youtube links in the music category
        if netloc == 'youtube.com':
            soup = BeautifulSoup(response.content)
            category = soup.find('p', {'id' : 'eow-category'}).text.lower()
            return category == 'music'
        return 'musicbot' in message




    def do_the_thing(self, key, message):
        if self.db.link_exists(key):
            return
        groups = re.finditer(LINKY, message)
        for g in groups:
            try:
                response = requests.get(g.group(0))
                if response.status_code == 200:
                    print "Found a link! %s" % message
                    url = g.group(0)
                    is_music = self.is_link_to_music(url, response, message)
                    self.db.insert_link(key, message, url, is_music)
            except Exception as e:
                print e
                print "Bad link"
    def on_message(self, *args):
        try:
            data = args[0]
            message = data['chat']['value']['message']
            key = data['chat']['key']
            self.do_the_thing(key, message)
        except Exception as e:
            print e
            print "never crash because crashing would be bad"
开发者ID:rozap,项目名称:meatspace-links,代码行数:53,代码来源:listener.py


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