Fix Windows compatibility - toot - Unnamed repository; edit this file 'description' to name the repository.
(DIR) Log
(DIR) Files
(DIR) Refs
(DIR) LICENSE
---
(DIR) commit 007d5539fa50568a6c4f2cf8bfcabebf12cd0a11
(DIR) parent 90976235358a52745331fd6b0d3546af8bf94996
(HTM) Author: Ivan Habunek <ivan@habunek.com>
Date: Sat, 9 Sep 2017 09:54:13 +0200
Fix Windows compatibility
Don't load curses until required. Since it's not available on windows,
importing the module early broke the whole app.
issue #18
Diffstat:
toot/app.py | 8 +++++++-
toot/commands.py | 2 +-
toot/console.py | 2 +-
3 files changed, 9 insertions(+), 3 deletions(-)
---
(DIR) diff --git a/toot/app.py b/toot/app.py
@@ -2,13 +2,19 @@
from __future__ import unicode_literals
from __future__ import print_function
-import curses
import webbrowser
from textwrap import wrap
+from toot import ConsoleError
from toot.utils import format_content
+# Attempt to load curses, which is not available on windows
+try:
+ import curses
+except ImportError as e:
+ raise ConsoleError("Curses is not available on this platform")
+
class Color:
@staticmethod
(DIR) diff --git a/toot/commands.py b/toot/commands.py
@@ -16,7 +16,6 @@ from textwrap import TextWrapper, wrap
from toot import api, config, DEFAULT_INSTANCE, User, App, ConsoleError
from toot.output import print_out
-from toot.app import TimelineApp
def register_app(instance):
@@ -177,6 +176,7 @@ def timeline(app, user, args):
def curses(app, user, args):
+ from toot.app import TimelineApp
generator = api.timeline_generator(app, user)
TimelineApp(generator).run()
(DIR) diff --git a/toot/console.py b/toot/console.py
@@ -127,7 +127,7 @@ READ_COMMANDS = [
),
Command(
name="curses",
- description="An experimental timeline app.",
+ description="An experimental timeline app (doesn't work on Windows)",
arguments=[],
require_auth=True,
),