示例#1
0
        def build_parameters(self, args, kwargs):
            if '/direct_messages/events/new.json' in self.path:
                args = ()
                kwargs = {}

            self.session.params = {}
            for idx, arg in enumerate(args):
                if arg is None:
                    continue
                try:
                    self.session.params[
                        self.allowed_param[idx]] = convert_to_utf8_str(arg)
                except IndexError:
                    raise TweepError('Too many parameters supplied!')

            for k, arg in kwargs.items():
                if arg is None:
                    continue
                if k in self.session.params:
                    raise TweepError(
                        'Multiple values for parameter %s supplied!' % k)

                self.session.params[k] = convert_to_utf8_str(arg)

            log.debug("PARAMS: %r", self.session.params)
示例#2
0
文件: binder.py 项目: badar/ssql
        def build_parameters(self, args, kargs):
            self.parameters = {}
            for idx, arg in enumerate(args):

                try:
                    self.parameters[self.allowed_param[idx]] = convert_to_utf8_str(arg)
                except IndexError:
                    raise TweepError("Too many parameters supplied!")

            for k, arg in kargs.items():
                if arg is None:
                    continue
                if k in self.parameters:
                    raise TweepError("Multiple values for parameter %s supplied!" % k)

                self.parameters[k] = convert_to_utf8_str(arg)
示例#3
0
        def build_parameters(self, args, kwargs):
            self.session.params = {}
            for idx, arg in enumerate(args):
                if arg is None:
                    continue
                try:
                    self.session.params[self.allowed_param[idx]] = convert_to_utf8_str(arg)
                except IndexError:
                    raise TweepError('Too many parameters supplied!')

            for k, arg in kwargs.items():
                if arg is None:
                    continue
                if k in self.session.params:
                    raise TweepError('Multiple values for parameter %s supplied!' % k)

                self.session.params[k] = convert_to_utf8_str(arg)
def acquire(request):

    auth = tweepy_auth(credentials)
    api = tweepy_api(auth)

    start = request['start_date']
    end = request['end_date']
    if 'start_index' not in request:
        start_index = 0
    else:
        start_index = int(request['start_index'])

    if 'queries' not in request:
        queries = default_queries()
    else:
        queries = request['queries']

    if 'since_id' not in request:
        since_id = None
    else:
        since_id = request['since_id']

    one_day = datetime.timedelta(days=1)
    try:
        for since_date in date_partition(string_to_date(start),
                                         string_to_date(end)):
            since = date_to_string(since_date)
            until = date_to_string(since_date + one_day)
            request['start_date'] = since
            for query_index in range(start_index, len(queries)):
                start_index = 0
                request['start_index'] = query_index
                query = convert_to_utf8_str(queries[query_index])
                basename = "tweet_%s_%s" % (query_index, since)
                serializer = TweetSerializer(basename)
                try:
                    print "track_index=%d, q=\"%s\", since=%s, until=%s, since_id=%s" % \
                        (query_index, query, since, until, since_id)
                    count = 0
                    for tweet in tweepy_query(api, query, since, until,
                                              since_id):
                        serializer.write(tweet)
                        request['since_id'] = tweet._json['id']
                        count += 1
                    since_id = None
                    print "  %s results" % count
                except:
                    with open("request.json", "w") as request_out:
                        json.dump(request, request_out)
                    raise
                finally:
                    # allows for cleanup on interrupt
                    if serializer:
                        serializer.close()
                request.pop('since_id', None)
            request.pop('start_index', None)
    except KeyboardInterrupt:
        print "Interrupt caught, exiting:..."
示例#5
0
        def build_parameters(self, args, kwargs):
            self.session.params = {}
            for idx, arg in enumerate(args):
                if arg is None:
                    continue
                try:
                    self.session.params[self.allowed_param[idx]] = convert_to_utf8_str(arg)
                except IndexError:
                    raise TweepError('Too many parameters supplied!')

            for k, arg in kwargs.items():
                if arg is None:
                    continue
                if k in self.session.params:
                    raise TweepError('Multiple values for parameter %s supplied!' % k)

                self.session.params[k] = convert_to_utf8_str(arg)

            log.info("PARAMS: %r", self.session.params)
示例#6
0
        def build_parameters(self, args, kargs):
            self.parameters = {}
            for idx, arg in enumerate(args):

                try:
                    self.parameters[self.allowed_param[idx]] = convert_to_utf8_str(arg)
                except IndexError:
                    raise TweepError('Too many parameters supplied!')

            for k, arg in kargs.items():
                if arg is None:
                    continue
                if k in self.parameters:
                    raise TweepError('Multiple values for parameter %s supplied!' % k)

                self.parameters[k] = convert_to_utf8_str(arg)

            # Set 'user' paramter to the authenticated user's name
            # if no 'user' parameter value provided
            if(self.api.auth and 'user' not in self.parameters):
                self.parameters['user'] = self.api.auth.get_username()
示例#7
0
        def build_parameters(self, args, kargs):
            self.parameters = {}
            for idx, arg in enumerate(args):
                if arg is None:
                    continue

                try:
                    self.parameters[self.allowed_param[idx]] = convert_to_utf8_str(arg)
                except IndexError:
                    raise TweepError('Too many parameters supplied!')

            for k, arg in kargs.items():
                if arg is None:
                    continue
                if k in deprecated_params:
                    warnings.warn('The use of parameter %s is deprecated' % k, DeprecationWarning)
                    if deprecated_params[k] is None:
                        continue
                    k = deprecated_params[k]
                if k in self.parameters:
                    raise TweepError('Multiple values for parameter %s supplied!' % k)

                self.parameters[k] = convert_to_utf8_str(arg)
示例#8
0
        def build_parameters(self, args, kargs):
            self.parameters = {}
            for idx, arg in enumerate(args):
                if arg is None:
                    continue

                try:
                    self.parameters[self.allowed_param[idx]] = convert_to_utf8_str(arg)
                except IndexError:
                    raise TweepError("Too many parameters supplied!")

            for k, arg in kargs.items():
                if arg is None:
                    continue
                if k in deprecated_params:
                    warnings.warn("The use of parameter %s is deprecated" % k, DeprecationWarning)
                    if deprecated_params[k] is None:
                        continue
                    k = deprecated_params[k]
                if k in self.parameters:
                    raise TweepError("Multiple values for parameter %s supplied!" % k)

                self.parameters[k] = convert_to_utf8_str(arg)
示例#9
0
def bulk_load(listkey, tweets):
    with open('/home/marcua/data/tweets/%s' % (listkey), 'w') as tmpfile:
        print "file %s" % (tmpfile.name)
        for jsontweet in tweets:
            tweet = Status.parse(api, json.loads(jsontweet))
            tmpfile.write(convert_to_utf8_str(tweet.text) + "\n")
示例#10
0
def bulk_load(listkey, tweets):
    with open("/home/marcua/data/tweets/%s" % (listkey), "w") as tmpfile:
        print "file %s" % (tmpfile.name)
        for jsontweet in tweets:
            tweet = Status.parse(api, json.loads(jsontweet))
            tmpfile.write(convert_to_utf8_str(tweet.text) + "\n")
示例#11
0
def gen_tuple(jsontweet):
    tweet = Status.parse(api, json.loads(jsontweet))
    retweeted = (getattr(tweet, 'retweeted_status', None) != None)
    return (tweet.author.id, tweet.created_at, convert_to_utf8_str(tweet.text), retweeted)