I had do make the following changes in order to install with Python 3.5 and run the script:
diff --git a/tli/cli.py b/tli/cli.py
index f1a3add..8e917fe 100644
--- a/tli/cli.py
+++ b/tli/cli.py
@@ -21,8 +21,8 @@
# SOFTWARE.
import click
-from util.config import readconfig
-from util.twitter import Twitter
+from .util.config import readconfig
+from .util.twitter import Twitter
def banner():
diff --git a/tli/util/config.py b/tli/util/config.py
index 4fb04b3..75778ca 100644
--- a/tli/util/config.py
+++ b/tli/util/config.py
@@ -20,11 +20,16 @@
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
# SOFTWARE.
-from ConfigParser import SafeConfigParser
+import sys
+
+if sys.version_info < (3, 5):
+ from ConfigParser import SafeConfigParser
+else:
+ from configparser import SafeConfigParser
import click
import os
-from crypto import encrypt, decrypt
+from .crypto import encrypt, decrypt
userhome = os.path.expanduser('~')
confighome = os.path.join(userhome, '.tli.conf')
And even so the script failed when trying to print the first tweet it had fetched:
[*] First time setup complete.
2016-02-23 18:00:14 [en] @b'AJENews' (b'AJE News') via 'b'SocialFlow'' | https://twitter.com/statuses/702191248539525120
"b"Obama's plan to close Guantanamo submitted to Congress https://t.co/VllEkUZ5gu https://t.co/xL3KK9uhhn""
Traceback (most recent call last):
File "/usr/bin/tli", line 9, in <module>
load_entry_point('tli==2.0', 'console_scripts', 'tli')()
File "/usr/lib/python3.5/site-packages/click/core.py", line 716, in __call__
return self.main(*args, **kwargs)
File "/usr/lib/python3.5/site-packages/click/core.py", line 696, in main
rv = self.invoke(ctx)
File "/usr/lib/python3.5/site-packages/click/core.py", line 1060, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/usr/lib/python3.5/site-packages/click/core.py", line 889, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/usr/lib/python3.5/site-packages/click/core.py", line 534, in invoke
return callback(*args, **kwargs)
File "/usr/lib/python3.5/site-packages/click/decorators.py", line 27, in new_func
return f(get_current_context().obj, *args, **kwargs)
File "/usr/lib/python3.5/site-packages/tli/cli.py", line 86, in timeline
twitter.stream.userstream()
File "/usr/lib/python3.5/site-packages/tweepy/streaming.py", line 394, in userstream
self._start(async)
File "/usr/lib/python3.5/site-packages/tweepy/streaming.py", line 361, in _start
self._run()
File "/usr/lib/python3.5/site-packages/tweepy/streaming.py", line 294, in _run
raise exception
File "/usr/lib/python3.5/site-packages/tweepy/streaming.py", line 263, in _run
self._read_loop(resp)
File "/usr/lib/python3.5/site-packages/tweepy/streaming.py", line 324, in _read_loop
self._data(next_status_obj)
File "/usr/lib/python3.5/site-packages/tweepy/streaming.py", line 297, in _data
if self.listener.on_data(data) is False:
File "/usr/lib/python3.5/site-packages/tweepy/streaming.py", line 54, in on_data
if self.on_status(status) is False:
File "/usr/lib/python3.5/site-packages/tli/util/twitter.py", line 97, in on_status
self._print_status(status)
File "/usr/lib/python3.5/site-packages/tli/util/twitter.py", line 151, in _print_status
self._print_urls(status.entities['urls'])
File "/usr/lib/python3.5/site-packages/tli/util/twitter.py", line 168, in _print_urls
urls = '\n'.join(['Url: ' + x['expanded_url'].encode('utf-8') for x in urls])
File "/usr/lib/python3.5/site-packages/tli/util/twitter.py", line 168, in <listcomp>
urls = '\n'.join(['Url: ' + x['expanded_url'].encode('utf-8') for x in urls])
TypeError: Can't convert 'bytes' object to str implicitly
Is this app Python 3 ready?
I had do make the following changes in order to install with Python 3.5 and run the script:
And even so the script failed when trying to print the first tweet it had fetched: