diff --git a/eris/__main__.py b/eris/__main__.py index 4b4251b..600bbf1 100755 --- a/eris/__main__.py +++ b/eris/__main__.py @@ -36,13 +36,13 @@ import pygments.styles import pyinotify import eris -import eris.fill3 as fill3 -import eris.sorted_collection as sorted_collection -import eris.terminal as terminal -import eris.termstr as termstr import eris.tools as tools import eris.worker as worker import eris.paged_list as paged_list +import fill3 +import sorted_collection +import termstr.termstr as termstr +import termstr.terminal as terminal USAGE = """ diff --git a/eris/pydoc_color.py b/eris/pydoc_color.py index cefa066..601f32c 100755 --- a/eris/pydoc_color.py +++ b/eris/pydoc_color.py @@ -4,13 +4,13 @@ import pydoc import sys -import eris.termstr +import termstr.termstr as termstr class TermDoc(pydoc.TextDoc): def bold(self, text): - return str(eris.termstr.TermStr(text).bold()) + return str(termstr.TermStr(text).bold()) def main(): diff --git a/eris/tools.py b/eris/tools.py index 5d249ca..5dc2237 100755 --- a/eris/tools.py +++ b/eris/tools.py @@ -29,9 +29,9 @@ import pygments.styles import toml import eris -import eris.fill3 as fill3 -import eris.lscolors as lscolors -import eris.termstr as termstr +import fill3 +import lscolors +import termstr.termstr as termstr PYTHON_VERSION = "3.9" diff --git a/eris/webserver.py b/eris/webserver.py index 3b58303..43de0a4 100755 --- a/eris/webserver.py +++ b/eris/webserver.py @@ -7,8 +7,8 @@ import os import sys import pickle -import eris.fill3 as fill3 import eris.tools as tools +import fill3 USAGE = """Usage: diff --git a/eris/worker.py b/eris/worker.py index ae5840b..9ccc74f 100755 --- a/eris/worker.py +++ b/eris/worker.py @@ -6,9 +6,9 @@ import contextlib import os import signal -import eris.fill3 as fill3 import eris.tools as tools import eris.paged_list +import fill3 class Worker: diff --git a/eris/fill3.py b/fill3.py similarity index 99% rename from eris/fill3.py rename to fill3.py index 713c18b..5774e8e 100755 --- a/eris/fill3.py +++ b/fill3.py @@ -9,8 +9,8 @@ import os import signal import sys -import eris.terminal as terminal -import eris.termstr as termstr +import termstr.terminal as terminal +import termstr.termstr as termstr def appearance_is_valid(appearance): diff --git a/eris/lscolors.py b/lscolors.py similarity index 100% rename from eris/lscolors.py rename to lscolors.py diff --git a/setup.py b/setup.py index e275c1b..e76f99e 100755 --- a/setup.py +++ b/setup.py @@ -14,7 +14,8 @@ setup(name="eris", url="https://github.com/ahamilton/eris", author="Andrew Hamilton", license="Artistic 2.0", - packages=["eris"], + packages=["eris", "termstr"], + py_modules=["fill3", "lscolors", "sorted_collection"], package_data={"eris": ["LS_COLORS.sh", "tools.toml"]}, entry_points={"console_scripts": ["eris=eris.__main__:entry_point", diff --git a/eris/sorted_collection.py b/sorted_collection.py similarity index 100% rename from eris/sorted_collection.py rename to sorted_collection.py diff --git a/eris/ColorMap.py b/termstr/ColorMap.py similarity index 100% rename from eris/ColorMap.py rename to termstr/ColorMap.py diff --git a/termstr/__init__.py b/termstr/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/eris/terminal.py b/termstr/terminal.py similarity index 100% rename from eris/terminal.py rename to termstr/terminal.py diff --git a/eris/termstr.py b/termstr/termstr.py similarity index 98% rename from eris/termstr.py rename to termstr/termstr.py index ba0d3d9..0ee9b13 100644 --- a/eris/termstr.py +++ b/termstr/termstr.py @@ -10,16 +10,16 @@ import weakref import pygments.formatters.terminal256 import cwcwidth -import eris.ColorMap -import eris.terminal as terminal +import termstr.ColorMap +import termstr.terminal as terminal -xterm_colormap = eris.ColorMap.XTermColorMap() +xterm_colormap = termstr.ColorMap.XTermColorMap() @functools.lru_cache() def xterm_color_to_rgb(color_index): - return eris.ColorMap._rgb(xterm_colormap.colors[color_index]) + return termstr.ColorMap._rgb(xterm_colormap.colors[color_index]) class Color: diff --git a/tests/__main___test.py b/tests/__main___test.py index fda96c1..ecc80fe 100755 --- a/tests/__main___test.py +++ b/tests/__main___test.py @@ -12,8 +12,8 @@ import unittest os.environ["TERM"] = "xterm-256color" import golden -import eris.fill3 as fill3 import eris.__main__ as __main__ +import fill3 _DIMENSIONS = (100, 60) diff --git a/tests/fill3_test.py b/tests/fill3_test.py index ca2a60c..daf5120 100755 --- a/tests/fill3_test.py +++ b/tests/fill3_test.py @@ -4,7 +4,7 @@ import unittest -import eris.fill3 as fill3 +import fill3 class WidgetTests(unittest.TestCase): diff --git a/tests/lscolors_test.py b/tests/lscolors_test.py index 9615dc0..52c8801 100755 --- a/tests/lscolors_test.py +++ b/tests/lscolors_test.py @@ -10,7 +10,7 @@ import subprocess import tempfile import unittest -import eris.lscolors as lscolors +import lscolors class TempDirTestCase(unittest.TestCase): diff --git a/tests/termstr_test.py b/tests/termstr_test.py index 9c2880b..b7d9bd6 100755 --- a/tests/termstr_test.py +++ b/tests/termstr_test.py @@ -7,15 +7,15 @@ import unittest os.environ["TERM"] = "xterm-256color" -import eris.terminal -from eris.termstr import TermStr, CharStyle -import eris.termstr as termstr +import termstr.terminal as terminal +from termstr.termstr import TermStr, CharStyle +import termstr.termstr as termstr class CharStyleTests(unittest.TestCase): def setUp(self): - self.style = CharStyle() + self.style = termstr.CharStyle() def test_default_char_style(self): self.assertEqual(self.style.fg_color, termstr.Color.white) @@ -24,7 +24,7 @@ class CharStyleTests(unittest.TestCase): self.assertEqual(self.style.is_underlined, False) def test_pickle_char_style(self): - style = CharStyle() + style = termstr.CharStyle() loaded_style = pickle.loads(pickle.dumps(style)) self.assertEqual(style, loaded_style) self.assertTrue(style is loaded_style) @@ -41,15 +41,15 @@ class CharStyleTests(unittest.TestCase): class TermStrTests(unittest.TestCase): def test_termstr(self): - foo = TermStr("foo") - foobar = TermStr("foobar") - bold_style = CharStyle(3, 5, is_bold=True) - foo_bold = TermStr("foo", bold_style) + foo = termstr.TermStr("foo") + foobar = termstr.TermStr("foobar") + bold_style = termstr.CharStyle(3, 5, is_bold=True) + foo_bold = termstr.TermStr("foo", bold_style) self.assertEqual(repr(foo_bold), "") self.assertEqual(foo + "bar", TermStr("foobar")) - self.assertEqual(foo + TermStr("bar"), - TermStr("foobar")) - self.assertEqual("bar" + foo, TermStr("barfoo")) + self.assertEqual(foo + termstr.TermStr("bar"), + termstr.TermStr("foobar")) + self.assertEqual("bar" + foo, termstr.TermStr("barfoo")) self.assertFalse(foo == foo_bold) self.assertFalse(foo_bold == foo) self.assertFalse("foo" == foo_bold) @@ -58,96 +58,98 @@ class TermStrTests(unittest.TestCase): self.assertTrue(foo != foo_bold) self.assertFalse(foo_bold == "foo") self.assertTrue(foo_bold != "food") - self.assertEqual(foobar[:2], TermStr("fo")) - self.assertEqual(foobar[2:], TermStr("obar")) - self.assertEqual(foobar[::2], TermStr("foa")) - self.assertEqual(foobar[3], TermStr("b")) - self.assertEqual(foo_bold[1], TermStr("o", bold_style)) + self.assertEqual(foobar[:2], termstr.TermStr("fo")) + self.assertEqual(foobar[2:], termstr.TermStr("obar")) + self.assertEqual(foobar[::2], termstr.TermStr("foa")) + self.assertEqual(foobar[3], termstr.TermStr("b")) + self.assertEqual(foo_bold[1], termstr.TermStr("o", bold_style)) self.assertTrue(foo.startswith("fo")) self.assertTrue(foo.endswith("oo")) self.assertEqual(foo.index("o"), 1) self.assertTrue("fo" in foo) self.assertEqual(foo.find("oo"), 1) - self.assertEqual(TermStr("fo") * 2, TermStr("fofo")) - self.assertEqual(2 * TermStr("fo"), TermStr("fofo")) - self.assertEqual(foobar.split("b"), [TermStr("foo"), - TermStr("ar")]) - self.assertEqual(foo.join(["C", "D"]), TermStr("CfooD")) - self.assertEqual(foo.join(["C", TermStr("D")]), - TermStr("CfooD")) - self.assertEqual(foo.join([]), TermStr("")) - self.assertEqual(foo.join(["C"]), TermStr("C")) - bar = TermStr("bar", bold_style) + self.assertEqual(termstr.TermStr("fo") * 2, termstr.TermStr("fofo")) + self.assertEqual(2 * termstr.TermStr("fo"), termstr.TermStr("fofo")) + self.assertEqual(foobar.split("b"), [termstr.TermStr("foo"), + termstr.TermStr("ar")]) + self.assertEqual(foo.join(["C", "D"]), termstr.TermStr("CfooD")) + self.assertEqual(foo.join(["C", termstr.TermStr("D")]), + termstr.TermStr("CfooD")) + self.assertEqual(foo.join([]), termstr.TermStr("")) + self.assertEqual(foo.join(["C"]), termstr.TermStr("C")) + bar = termstr.TermStr("bar", bold_style) self.assertEqual((foo + "\n" + bar).splitlines(), [foo, bar]) self.assertEqual((foo + "\r\n" + bar).splitlines(), [foo, bar]) self.assertEqual((foo + "\n" + bar).splitlines(keepends=True), - [TermStr("foo\n"), bar]) + [termstr.TermStr("foo\n"), bar]) self.assertEqual((foo + "\r\n" + bar).splitlines(keepends=True), - [TermStr("foo\r\n"), bar]) - self.assertEqual(foo.ljust(5), foo + TermStr(" ")) - self.assertEqual(foo.rjust(5), TermStr(" ") + foo) - self.assertEqual(TermStr("FOO").lower(), foo) - self.assertEqual(TermStr("FOO", bold_style).lower(), foo_bold) - self.assertEqual(TermStr("FOO").swapcase(), foo) - self.assertEqual(TermStr("FOO", bold_style).swapcase(), foo_bold) - phrase = TermStr("foo bar") - self.assertEqual(phrase.title(), TermStr("Foo Bar")) - self.assertEqual(phrase.capitalize(), TermStr("Foo bar")) - self.assertEqual(foo.upper(), TermStr("FOO")) + [termstr.TermStr("foo\r\n"), bar]) + self.assertEqual(foo.ljust(5), foo + termstr.TermStr(" ")) + self.assertEqual(foo.rjust(5), termstr.TermStr(" ") + foo) + self.assertEqual(termstr.TermStr("FOO").lower(), foo) + self.assertEqual(termstr.TermStr("FOO", bold_style).lower(), foo_bold) + self.assertEqual(termstr.TermStr("FOO").swapcase(), foo) + self.assertEqual(termstr.TermStr("FOO", bold_style).swapcase(), foo_bold) + phrase = termstr.TermStr("foo bar") + self.assertEqual(phrase.title(), termstr.TermStr("Foo Bar")) + self.assertEqual(phrase.capitalize(), termstr.TermStr("Foo bar")) + self.assertEqual(foo.upper(), termstr.TermStr("FOO")) self.assertEqual(foo_bold.center(0), foo_bold) self.assertEqual(foo_bold.center(7), - TermStr(" ") + foo_bold + TermStr(" ")) + termstr.TermStr(" ") + foo_bold + termstr.TermStr(" ")) self.assertEqual(foo_bold.ljust(0), foo_bold) - self.assertEqual(foo_bold.ljust(5), foo_bold + TermStr(" ")) + self.assertEqual(foo_bold.ljust(5), foo_bold + termstr.TermStr(" ")) self.assertEqual(foo_bold.rjust(0), foo_bold) - self.assertEqual(foo_bold.rjust(5), TermStr(" ") + foo_bold) - baz = TermStr("b👋z") + self.assertEqual(foo_bold.rjust(5), termstr.TermStr(" ") + foo_bold) + baz = termstr.TermStr("b👋z") self.assertEqual(len(baz), 4) - self.assertEqual(baz[3:], TermStr("z")) - self.assertEqual(baz[:2], TermStr("b ")) - self.assertEqual(baz[2:], TermStr(" z")) + self.assertEqual(baz[3:], termstr.TermStr("z")) + self.assertEqual(baz[:2], termstr.TermStr("b ")) + self.assertEqual(baz[2:], termstr.TermStr(" z")) def test_from_term(self): def test_round_trip(term_str): - self.assertEqual(TermStr.from_term(str(term_str)), term_str) + self.assertEqual(termstr.TermStr.from_term(str(term_str)), term_str) - test_round_trip(TermStr("foo")) - test_round_trip(TermStr("foo").bold()) - test_round_trip(TermStr("foo").underline()) - test_round_trip(TermStr("foo").italic()) + test_round_trip(termstr.TermStr("foo")) + test_round_trip(termstr.TermStr("foo").bold()) + test_round_trip(termstr.TermStr("foo").underline()) + test_round_trip(termstr.TermStr("foo").italic()) test_round_trip(termstr.TermStr("foo").fg_color(termstr.Color.red)) test_round_trip(termstr.TermStr("foo").fg_color(termstr.Color.red).\ bg_color(termstr.Color.green)) test_round_trip(termstr.TermStr("foo").fg_color(1)) test_round_trip(termstr.TermStr("foo").bg_color(10)) - self.assertEqual(TermStr.from_term("foo"), termstr.TermStr("foo")) - self.assertEqual(TermStr.from_term(eris.terminal.ESC + "[33mfoo"), + self.assertEqual( + termstr.TermStr.from_term("foo"), termstr.TermStr("foo")) + self.assertEqual(termstr.TermStr.from_term(terminal.ESC + "[33mfoo"), termstr.TermStr("foo").fg_color(3)) - self.assertEqual(TermStr.from_term(eris.terminal.ESC + "[45mfoo"), + self.assertEqual(termstr.TermStr.from_term(terminal.ESC + "[45mfoo"), termstr.TermStr("foo").bg_color(5)) - self.assertEqual(TermStr.from_term(eris.terminal.ESC + "[45mfoo" + - eris.terminal.ESC + "[mbar"), + self.assertEqual(termstr.TermStr.from_term(terminal.ESC + "[45mfoo" + + terminal.ESC + "[mbar"), termstr.TermStr("foo").bg_color(5) + termstr.TermStr("bar")) - self.assertEqual(TermStr.from_term(eris.terminal.ESC + "[45mfoo" + - eris.terminal.ESC + "[0mbar"), + self.assertEqual(termstr.TermStr.from_term(terminal.ESC + "[45mfoo" + + terminal.ESC + "[0mbar"), termstr.TermStr("foo").bg_color(5) + termstr.TermStr("bar")) - self.assertEqual(TermStr.from_term(eris.terminal.ESC + "[1;3mfoo"), + self.assertEqual(termstr.TermStr.from_term(terminal.ESC + "[1;3mfoo"), termstr.TermStr("foo").bold().italic()) - self.assertEqual(TermStr.from_term(eris.terminal.ESC + "[01mfoo"), + self.assertEqual(termstr.TermStr.from_term(terminal.ESC + "[01mfoo"), termstr.TermStr("foo").bold()) - self.assertEqual(TermStr.from_term(eris.terminal.ESC + "[Kfoo"), + self.assertEqual(termstr.TermStr.from_term(terminal.ESC + "[Kfoo"), termstr.TermStr("foo")) - self.assertEqual(TermStr.from_term(eris.terminal.ESC + "[95mfoo"), + self.assertEqual(termstr.TermStr.from_term(terminal.ESC + "[95mfoo"), termstr.TermStr("foo").fg_color(13)) - self.assertEqual(TermStr.from_term(eris.terminal.ESC + "[105mfoo"), + self.assertEqual(termstr.TermStr.from_term(terminal.ESC + "[105mfoo"), termstr.TermStr("foo").bg_color(13)) - self.assertEqual(TermStr.from_term(eris.terminal.ESC + "(B" + - eris.terminal.ESC + "[mfoo"), - termstr.TermStr("foo")) - self.assertEqual(TermStr.from_term(eris.terminal.ESC + "39;49;00mfoo"), + self.assertEqual(termstr.TermStr.from_term(terminal.ESC + "(B" + + terminal.ESC + "[mfoo"), termstr.TermStr("foo")) + self.assertEqual( + termstr.TermStr.from_term(terminal.ESC + "39;49;00mfoo"), + termstr.TermStr("foo")) if __name__ == "__main__": diff --git a/tests/tools_test.py b/tests/tools_test.py index 6712528..2c9c8fd 100755 --- a/tests/tools_test.py +++ b/tests/tools_test.py @@ -10,8 +10,8 @@ import unittest.mock os.environ["TERM"] = "xterm-256color" import golden -import eris.fill3 as fill3 import eris.tools as tools +import fill3 os.environ["TZ"] = "GMT"