コード例 #1
0
def send_image():
    image = Images.query.filter_by(is_sent=0).first()

    if image == None:
        parameters = {"format": "xml", "results_per_page": "100"}
        result = requests.get('http://thecatapi.com/api/images/get',
                              params=parameters)
        tree = html.document_fromstring(result.text)

        clarifai_api = ClarifaiApi()

        for val in tree.xpath('//images'):
            for elem in val:
                try:
                    result = clarifai_api.tag_image_urls(
                        elem.xpath('url')[0].text)
                    total_results = result['results'][0]['result']['tag'][
                        'classes']
                    if 'cat' in total_results or 'kitten' in total_results:
                        db.session.add(
                            Images(
                                elem.xpath('url')[0].text,
                                elem.xpath('id')[0].text,
                                elem.xpath('source_url')[0].text, 0))
                        db.session.commit()
                except:
                    pass

        image = Images.query.filter_by(is_sent=0).first()

    users = Users.query.filter_by(active=1).all()

    for elem in users:
        client = TwilioRestClient(os.environ.get('TWILIO_ACCOUNT_SID'),
                                  os.environ.get('TWILIO_AUTH_TOKEN'))
        message = client.messages.create(to=elem.number,
                                         from_="+19733214779",
                                         media_url=[image.url])

    image.is_sent = 1
    db.session.commit()
コード例 #2
0
ファイル: imgur.py プロジェクト: jayrav13/cat-tax
def send_message():
    image = Images.query.filter_by(is_sent=0).first()

    if image == None:
        imgur_client = ImgurClient(os.environ.get('IMGUR_CLIENT_ID'),
                                   os.environ.get('IMGUR_CLIENT_SECRET'))
        clarifai_api = ClarifaiApi()

        images = imgur_client.subreddit_gallery(subreddit='aww', page=0)

        for image in images:
            if image.is_album == False and ('jpeg' in image.type):
                try:
                    result = clarifai_api.tag_image_urls(image.link)
                    total_result = result['results'][0]['result']['tag'][
                        'classes']
                    if len(
                            set(total_result).intersection([
                                'dog', 'puppy', 'cat', 'kitten', 'bird'
                            ])) > 0:
                        db.session.add(Images(image.link))
                        db.session.commit()
                except:
                    pass

        image = Images.query.filter_by(is_sent=0).first()

    users = Users.query.filter_by(active=1).all()

    for user in users:
        try:
            client = TwilioRestClient(os.environ.get('TWILIO_ACCOUNT_SID'),
                                      os.environ.get('TWILIO_AUTH_TOKEN'))
            message = client.messages.create(to=user.number,
                                             from_="+19733214779",
                                             media_url=[image.link])
        except:
            pass

    image.is_sent = 1
    db.session.commit()
コード例 #3
0
def add_images(title, url, description, userid):
    images = Images(title, url, description, datetime.datetime.now(), userid)
    db.session.add(images)
    db.session.commit()