Пример #1
0
 def setup_class(self, monkeypatch):
     self.acc_id = "dummy-twitter"
     self.core = Core(load_accounts=False)
     self.account = Account.new("twitter", "dummy")
     self.account.columns = [Column(self.account.id_, ColumnType.TIMELINE)]
     self.account2 = Account.new("twitter", "qux")
     self.account2.columns = [Column(self.account2.id_, ColumnType.TIMELINE)]
     self.all_accounts = [self.account, self.account2]
     monkeypatch.setattr(self.core.accman, "get", lambda x: self.account)
Пример #2
0
def init(max_tries = 5, wait_time = 60, reinit_allowed = False):
    global _core

    if (_core != None) and not reinit_allowed:
        raise InitAlreadyDoneError
    tries = 0
    while True:
        try:
            _core = Core()
            break
        except ServiceOverCapacity:
            tries += 1
            sys.stderr.write('Tried to init _core it {0} times\n'.format(tries))
            sys.stderr.flush()
            if tries >= max_tries:
                raise
            time.sleep(wait_time)
Пример #3
0
    def __init__(self):
        parser = OptionParser()
        parser.add_option('-d',
                          '--debug',
                          dest='debug',
                          action='store_true',
                          help='show debug info in shell during execution',
                          default=False)

        (options, args) = parser.parse_args()

        if options.debug:
            logging.basicConfig(level=logging.DEBUG)
        else:
            logging.basicConfig(level=logging.INFO)

        self.core = Core()
        self.followers = []
        self.following = []
        self.last_dm = None
        self.log = logging.getLogger('Server')
        self.start_login()
Пример #4
0
import sys

from libturpial.api.core import Core

message = sys.argv[1]
if not message or message == '':
    sys.exit(-1)

ACCOUNT = 'turpialve-twitter'
BROADCAST = ['satanas82', 'guerrerocarlos']

c = Core()
c.login(ACCOUNT)
c.auth(ACCOUNT)

for acc in BROADCAST:
    c.send_direct(ACCOUNT, acc, message)
Пример #5
0
#!/usr/bin/env python
# -*- coding: utf-8 -*-

import os
import argparse
import sqlite3

from libturpial.api.models.account import Account
from libturpial.api.core import Core
from libturpial.common import get_username_from


MAX_STATUS_LENGTH = 140

core = Core()
accounts = core.list_accounts()

def build_account_id(username):
    return '{username}-twitter'.format(username=username)

def register_account(username):
    account = build_account_id(username)
    if account in accounts:
        print 'Your account is already registered. Nothing to do'
    else:
        new_access = Account.new('twitter')
        url = new_access.request_oauth_access()
        print "Please go to the following URL, log-in and allow access for libturpial. Then write the PIN in here."
        print url
        cod = raw_input('PIN:')
        new_access.authorize_oauth_access(cod)
Пример #6
0
    def __init__(self):
        parser = OptionParser()
        parser.add_option('-d',
                          '--debug',
                          dest='debug',
                          action='store_true',
                          help='show debug info in shell during execution',
                          default=False)
        parser.add_option('--setup',
                          dest='setup',
                          action='store_true',
                          help='execute the setup wizard',
                          default=False)
        parser.add_option('--add-account',
                          dest='add_account',
                          default=False,
                          action='store_true',
                          help='add a microblogging account to database')
        parser.add_option('--del-account',
                          dest='delete_account',
                          action='store_true',
                          help='delete a microblogging account from \
            database',
                          default=False)
        parser.add_option('--list-accounts',
                          dest='list_accounts',
                          action='store_true',
                          help='list all microblogging accounts',
                          default=False)

        parser.add_option('--add-feed',
                          dest='add_feed',
                          action='store_true',
                          help='add feed to database',
                          default=False)
        parser.add_option('--del-feed',
                          dest='delete_feed',
                          action='store_true',
                          help='delete feed from database',
                          default=False)
        parser.add_option('--list-feeds',
                          dest='list_feeds',
                          action='store_true',
                          help='list all registered feeds',
                          default=False)

        parser.add_option('--associate',
                          dest='associate_feed',
                          action='store_true',
                          help='associate feed with account',
                          default=False)
        parser.add_option('--deassociate',
                          dest='deassociate_feed',
                          action='store_true',
                          help='deassociate feed from account',
                          default=False)

        parser.add_option(
            '--change-prefix',
            dest='change_prefix',
            action='store_true',
            default=False,
            help='change the publish prefix for certain feed/account')

        parser.add_option('--show-info',
                          dest='show_info',
                          action='store_true',
                          help='show information about feeds and accounts',
                          default=False)

        parser.add_option('--test',
                          dest='test',
                          action='store_true',
                          help='poll feeds without posting or saving in db',
                          default=False)

        parser.add_option('--empty-records',
                          dest='empty_records',
                          action='store_true',
                          default=False,
                          help='delete posts and update records from database')

        (options, args) = parser.parse_args()

        if options.debug:
            logging.basicConfig(level=logging.DEBUG)
        else:
            logging.basicConfig(level=logging.INFO)

        self.log = logging.getLogger('TwitRSS')
        self.db = DBEngine()
        Feed.db = self.db
        Account.db = self.db
        AccountFeed.db = self.db
        Post.db = self.db
        self.core = Core()
        Account.core = self.core

        if options.setup:
            self.setup()
            self.quit()

        if options.add_account:
            self.add_account()
            self.quit()

        if options.delete_account:
            self.delete_account()
            self.quit()

        if options.add_feed:
            self.add_feed()
            self.quit()

        if options.delete_feed:
            self.delete_feed()
            self.quit()

        if options.associate_feed:
            self.associate_feed()
            self.quit()

        if options.deassociate_feed:
            self.deassociate_feed()
            self.quit()

        if options.show_info:
            self.show_info()
            self.quit()

        if options.empty_records:
            self.empty_records()
            self.quit()

        self.test = options.test

        self.log.info("Starting service")
        self.queue = Queue.Queue()
        Post.queue = self.queue
        self.start()