Пример #1
0
def job(**kwargs):
    api = twitterAccount(twitter_fetch)

    for account in get_accounts_list(cache['comptes']):
        pass
        #api.GetUser(screen_name=)
    twitter_job()
Пример #2
0
def test():
    username = session['id']['username']
    data = auth.get_data(username)
    # check twitter
    tapi = twitterAccount(data)
    tweets = tapi.GetUserTimeline(screen_name="Action_Insoumis",count=30)
    for t in tweets:
            print(t)
        #if t.id == 990346844218757120:
        #    print(t)
    return "ok"
Пример #3
0
def dotask(userdata, todo):
    from ditweets.controllers.twitter import twitterAccount
    from ditweets import mdb, mdbrw

    api = twitterAccount(userdata)

    import json
    from datetime import datetime
    with open('/tmp/ditweets.log', 'a') as f:

        f.write('---- start %s (%s) ----\n' %
                (datetime.now().strftime('%Y-%m-%d %H:%M:%S'),
                 userdata.get('username', 'VIDE')))
        f.write("%s\n" % json.dumps(todo))
        # RECHERCHER LE SCREENNAME DU COMPTE
        #maxId = mdb.tweets.find().sort("id",-1).limit(1)
        #maxId = maxId[0]['id'] if maxId else 0
        for id in todo['like'].keys():
            log = {
                'username': userdata['username'],
                'action': 'like',
                'tweet_id': int(id)
            }
            #if id<=maxId:
            #    continue
            try:
                sleep(random.random() / 2)
                api.CreateFavorite(status_id=int(id), include_entities=False)
                mdbrw.logs.update_one(log, {'$set': log}, upsert=True)
            except Exception as err:
                log['error'] = err.message
                f.write("Like %d : %s \n" % (int(id), err.message))

        for id in todo['rt'].keys():
            log = {
                'username': userdata['username'],
                'action': 'rt',
                'tweet_id': int(id),
                'done': True
            }
            #if id<=maxId:
            #    continue
            try:
                sleep(random.random() / 2)
                api.PostRetweet(status_id=int(id), trim_user=True)
                mdbrw.logs.update_one(log, {'$set': log}, upsert=True)
            except Exception as err:
                log['error'] = err.message
                f.write("RT %d : %s \n" % (int(id), err.message))

        f.write('---- end %s (%s) ----\n' %
                (datetime.now().strftime('%Y-%m-%d %H:%M:%S'),
                 userdata.get('username', 'VIDE')))
Пример #4
0
def action_tweet(action_id=None):
    if request.method=='GET':
        action = get_action(action_id) if action_id else {}
        return render_template('action.html',action_id=action_id,**action)
    elif request.method=='POST':
        action = {}
        if request.form.get('tweet_type')=='tweet':
            action.update({
                'tweet_content':request.form.get('tweet_content'),
                'tweet_medias':request.form.get('tweet_medias'),
            })
        else:
            action.update({
                'tweet_id':request.form.get('tweet_id'),
            })
        action.update({
            'tweet_tags': request.form.get('tweet_tags'),
            'start': request.form.get('start')
            })
        if request.form.get('diffusion_active')=='on':
            diff_actions = []
            if request.form.get('like'):
                diff_actions.append('like')
            if request.form.get('rt'):
                diff_actions.append('rt')

            action.update({
                'duration': request.form.get('duration'),
                'actions': diff_actions,
                'comptes': request.form.get('comptes'),
                'diffusion': request.form.get('diffusion')
            })


        data = auth.get_data(session['id']['username'])
        action_id = request.form.get('action_id')
        if 'tweet_id' in action.keys():
            api = twitterAccount(twitter_fetch)
            try:
                tweet = api.GetStatus(status_id = tweet_id)
                action['tweet_text'] = tweet.text
                action['user'] = tweet.user.name
                #<a href="https://twitter.com/statuses/{{ action['tweet_id'] }}">{{ action['tweet_text'] }}</a>
                action['screenname'] = tweet.user.screen_name
                action['user_image'] = tweet.user.profile_image_url
            except:
                return render_template('action.html', action_id=action_id, **action, tweet_error=True)

        if action_id:
            update_action(action_id,action)
        else:
            id = add_action(action)
        return request.form.get('start')
Пример #5
0
def tests():
    from ditweets.controllers.twitter import twitterAccount, getTwitterData, twitter_job
    from ditweets.config_private import twitter_fetch
    from ditweets.tools import get_accounts_list

    for data in auth.users_data():
        try:
            api = twitterAccount(data)
            screen_name = api.GetUserTimeline(count=1)[0].user.screen_name
            followers = api.GetUser(screen_name=screen_name).followers_count
            auth.update_data(data['username'],{'followers':followers,'screenname':screen_name})
        except:
            pass
    return "ok"
Пример #6
0
def config():
    username = session['id']['username']
    data = auth.get_data(username)
    try:
        # check twitter
        tapi = twitterAccount(data)
        lasttweet = tapi.GetUserTimeline(count=1)
        data['twitter_success'] = True
    except:
        data['twitter_success'] = False

    auth.update_data(username,{'twitter_success':data['twitter_success']})

    return render_template('config.html',**data)
Пример #7
0
def job(**kwargs):
    gsheet_twitter()
    api = twitterAccount(twitter_fetch)
    getTwitterData(api)