From c0309a1e5247a020eb94ea691dc994dbd57dbd74 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=2E=20Fernando=20S=C3=A1nchez?= Date: Sat, 19 Nov 2016 20:34:41 +0100 Subject: [PATCH] Fixed python2 compatibility issues (print!) --- bitter/VERSION | 2 +- bitter/cli.py | 18 ++++++++++++------ bitter/crawlers.py | 4 ++-- bitter/utils.py | 2 +- 4 files changed, 16 insertions(+), 10 deletions(-) diff --git a/bitter/VERSION b/bitter/VERSION index b616048..d2b13eb 100644 --- a/bitter/VERSION +++ b/bitter/VERSION @@ -1 +1 @@ -0.6.2 +0.6.4 diff --git a/bitter/cli.py b/bitter/cli.py index 86d83cf..aee0ff1 100644 --- a/bitter/cli.py +++ b/bitter/cli.py @@ -1,3 +1,5 @@ +from __future__ import print_function + import click import json import os @@ -362,20 +364,24 @@ def get_stream(ctx, locations, track, file): file.close() @stream.command('read') -@click.option('-f', '--file', help='File to read the stream of tweets from') +@click.option('-f', '--file', help='File to read the stream of tweets from', required=True) +@click.option('-t', '--tail', help='Keep reading from the file, like tail', type=bool, default=False) @click.pass_context -def read_stream(ctx, file): - for tweet in utils.read_file(file, tail=True): - print('{timestamp_ms}- @{screen_name}: {text}'.format(timestamp_ms=tweet['timestamp_ms'], screen_name=tweet['user']['screen_name'], text=tweet['text'])) +def read_stream(ctx, file, tail): + for tweet in utils.read_file(file, tail=tail): + try: + print(u'{timestamp_ms}- @{screen_name}: {text}'.format(timestamp_ms=tweet['timestamp_ms'], screen_name=tweet['user']['screen_name'], text=tweet['text'])) + except (KeyError, TypeError): + print('Raw tweet: {}'.format(tweet)) @stream.command('tags') -@click.option('-f', '--file', help='File to read the stream of tweets from') +@click.option('-f', '--file', help='File to read the stream of tweets from', required=True) @click.argument('limit', required=False, default=None, type=int) @click.pass_context def tags_stream(ctx, file, limit): c = utils.get_hashtags(utils.read_file(file)) for count, tag in c.most_common(limit): - print('{} - {}'.format(count, tag)) + print(u'{} - {}'.format(count, tag)) if __name__ == '__main__': diff --git a/bitter/crawlers.py b/bitter/crawlers.py index 0cdf200..41b2dcd 100644 --- a/bitter/crawlers.py +++ b/bitter/crawlers.py @@ -74,7 +74,7 @@ class RestWorker(TwitterWorker): api_class = Twitter def __init__(self, *args, **kwargs): - super().__init__(*args, **kwargs) + super(RestWorker, self).__init__(*args, **kwargs) self._limits = None @property @@ -210,7 +210,7 @@ class StreamWorker(TwitterWorker): api_class = TwitterStream def __init__(self, *args, **kwargs): - super().__init__(*args, **kwargs) + super(StreamWorker, self).__init__(*args, **kwargs) class StreamQueue(QueueMixin): worker_class = StreamWorker diff --git a/bitter/utils.py b/bitter/utils.py index 60bd74d..407a5c9 100644 --- a/bitter/utils.py +++ b/bitter/utils.py @@ -104,7 +104,7 @@ def read_file(filename, tail=False): if tail: time.sleep(1) else: - return line + return def get_users(wq, ulist, by_name=False, queue=None, max_users=100):