Coding style.
- Break out termstr, fill3, sorted_collection and lscolors into seperate packages and modules.
This commit is contained in:
parent
8746f578da
commit
2335dec922
18 changed files with 92 additions and 89 deletions
|
|
@ -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 = """
|
||||
|
|
|
|||
|
|
@ -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():
|
||||
|
|
|
|||
|
|
@ -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"
|
||||
|
|
|
|||
|
|
@ -7,8 +7,8 @@ import os
|
|||
import sys
|
||||
import pickle
|
||||
|
||||
import eris.fill3 as fill3
|
||||
import eris.tools as tools
|
||||
import fill3
|
||||
|
||||
|
||||
USAGE = """Usage:
|
||||
|
|
|
|||
|
|
@ -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:
|
||||
|
|
|
|||
|
|
@ -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):
|
||||
3
setup.py
3
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",
|
||||
|
|
|
|||
0
termstr/__init__.py
Normal file
0
termstr/__init__.py
Normal file
|
|
@ -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:
|
||||
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
|
||||
import unittest
|
||||
|
||||
import eris.fill3 as fill3
|
||||
import fill3
|
||||
|
||||
|
||||
class WidgetTests(unittest.TestCase):
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@ import subprocess
|
|||
import tempfile
|
||||
import unittest
|
||||
|
||||
import eris.lscolors as lscolors
|
||||
import lscolors
|
||||
|
||||
|
||||
class TempDirTestCase(unittest.TestCase):
|
||||
|
|
|
|||
|
|
@ -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), "<TermStr: 'foo'>")
|
||||
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__":
|
||||
|
|
|
|||
|
|
@ -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"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue