diff --git a/papers/papers_cmd.py b/papers/papers_cmd.py index cd1e138..f8c24fb 100644 --- a/papers/papers_cmd.py +++ b/papers/papers_cmd.py @@ -5,7 +5,7 @@ import sys import argparse import collections -from .ui import UI +from . import uis from . import configs from . import commands from . import plugins @@ -53,7 +53,8 @@ def execute(raw_args = sys.argv): config.load() config.as_global() - ui = UI(config) + uis.init_ui(config) + ui = uis.get_ui() _update_check(config, ui) diff --git a/papers/ui.py b/papers/uis.py similarity index 88% rename from papers/ui.py rename to papers/uis.py index 9093021..b9194b6 100644 --- a/papers/ui.py +++ b/papers/uis.py @@ -3,9 +3,26 @@ from __future__ import print_function import sys from .beets_ui import _encoding, input_ - from . import color +# package-shared ui that can be accessed using : +# from uis import get_ui +# ui = get_ui() +# you must instanciate ui with a Config instance using init_ui(config) +_ui = None + + +def get_ui(): + if _ui is None: + raise ValueError('ui not instanciated yet') + return _ui + + +def init_ui(config): + global _ui + _ui = UI(config) + + class UI: """UI class. Stores configuration parameters and system information. """