diff --git a/CHANGELOG.md b/CHANGELOG.md index 8c5998d..06c9c27 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,7 @@ ## Next version +- Rename project from "cheuph" to "bowl" - Clean up code ## 0.1.0 (2019-04-12) diff --git a/cheuph/__init__.py b/bowl/__init__.py similarity index 100% rename from cheuph/__init__.py rename to bowl/__init__.py diff --git a/cheuph/attributed_lines.py b/bowl/attributed_lines.py similarity index 100% rename from cheuph/attributed_lines.py rename to bowl/attributed_lines.py diff --git a/cheuph/attributed_lines_widget.py b/bowl/attributed_lines_widget.py similarity index 100% rename from cheuph/attributed_lines_widget.py rename to bowl/attributed_lines_widget.py diff --git a/cheuph/attributed_text_widget.py b/bowl/attributed_text_widget.py similarity index 100% rename from cheuph/attributed_text_widget.py rename to bowl/attributed_text_widget.py diff --git a/cheuph/config.py b/bowl/config.py similarity index 100% rename from cheuph/config.py rename to bowl/config.py diff --git a/cheuph/cursor_rendering.py b/bowl/cursor_rendering.py similarity index 100% rename from cheuph/cursor_rendering.py rename to bowl/cursor_rendering.py diff --git a/cheuph/cursor_tree_widget.py b/bowl/cursor_tree_widget.py similarity index 100% rename from cheuph/cursor_tree_widget.py rename to bowl/cursor_tree_widget.py diff --git a/cheuph/element.py b/bowl/element.py similarity index 100% rename from cheuph/element.py rename to bowl/element.py diff --git a/cheuph/element_supply.py b/bowl/element_supply.py similarity index 100% rename from cheuph/element_supply.py rename to bowl/element_supply.py diff --git a/cheuph/euphoria/__init__.py b/bowl/euphoria/__init__.py similarity index 100% rename from cheuph/euphoria/__init__.py rename to bowl/euphoria/__init__.py diff --git a/cheuph/euphoria/edit_widgets.py b/bowl/euphoria/edit_widgets.py similarity index 100% rename from cheuph/euphoria/edit_widgets.py rename to bowl/euphoria/edit_widgets.py diff --git a/cheuph/euphoria/euph_config.py b/bowl/euphoria/euph_config.py similarity index 100% rename from cheuph/euphoria/euph_config.py rename to bowl/euphoria/euph_config.py diff --git a/cheuph/euphoria/euph_renderer.py b/bowl/euphoria/euph_renderer.py similarity index 100% rename from cheuph/euphoria/euph_renderer.py rename to bowl/euphoria/euph_renderer.py diff --git a/cheuph/euphoria/launch_application.py b/bowl/euphoria/launch_application.py similarity index 94% rename from cheuph/euphoria/launch_application.py rename to bowl/euphoria/launch_application.py index a8228b6..d996f0e 100644 --- a/cheuph/euphoria/launch_application.py +++ b/bowl/euphoria/launch_application.py @@ -12,12 +12,12 @@ from .euph_config import EuphConfig, EuphLoader __all__ = ["DEFAULT_CONFIG_PATHS", "launch"] DEFAULT_CONFIG_PATHS = [ - "~/.config/cheuph/cheuph.yaml", - "~/.cheuph/cheuph.yaml", - "~/.cheuph.yaml", + "~/.config/bowl/bowl.yaml", + "~/.bowl/bowl.yaml", + "~/.bowl.yaml", ] -GITHUB_URL = "https://github.com/Garmelon/cheuph" +GITHUB_URL = "https://github.com/Garmelon/bowl" def parse_arguments() -> argparse.Namespace: parser = argparse.ArgumentParser( diff --git a/cheuph/euphoria/room_widget.py b/bowl/euphoria/room_widget.py similarity index 100% rename from cheuph/euphoria/room_widget.py rename to bowl/euphoria/room_widget.py diff --git a/cheuph/euphoria/single_room_application.py b/bowl/euphoria/single_room_application.py similarity index 100% rename from cheuph/euphoria/single_room_application.py rename to bowl/euphoria/single_room_application.py diff --git a/cheuph/exceptions.py b/bowl/exceptions.py similarity index 100% rename from cheuph/exceptions.py rename to bowl/exceptions.py diff --git a/cheuph/markup.py b/bowl/markup.py similarity index 100% rename from cheuph/markup.py rename to bowl/markup.py diff --git a/cheuph/rendered_element_cache.py b/bowl/rendered_element_cache.py similarity index 100% rename from cheuph/rendered_element_cache.py rename to bowl/rendered_element_cache.py diff --git a/cheuph/utils.py b/bowl/utils.py similarity index 100% rename from cheuph/utils.py rename to bowl/utils.py diff --git a/setup.py b/setup.py index 19e242d..159496a 100644 --- a/setup.py +++ b/setup.py @@ -1,15 +1,15 @@ from setuptools import setup setup( - name="cheuph", + name="bowl", version="0.0.1", packages=[ - "cheuph", - "cheuph.euphoria", + "bowl", + "bowl.euphoria", ], entry_points={ "console_scripts": [ - "cheuph = cheuph.euphoria:launch_single_room_application", + "bowl = bowl.euphoria:launch_single_room_application", ], }, install_requires=[ diff --git a/test.py b/test.py deleted file mode 100644 index 7c5efcd..0000000 --- a/test.py +++ /dev/null @@ -1,80 +0,0 @@ -import curses -import subprocess -import tempfile -from typing import Any, List, Optional - -from cheuph.element import Element, Id, RenderedElement -from cheuph.element_supply import MemoryElementSupply -from cheuph.markup import AttributedText -from cheuph.tree_display import TreeDisplay - - -class TestElement(Element): - DEPTHSTR = "| " - - def __init__(self, - id: Id, - parent_id: Optional[Id], - text: List[str], - ) -> None: - - super().__init__(id, parent_id) - self.text = text - - def render(self, - width: int, - depth: int, - highlighted: bool = False, - folded: bool = False, - ) -> RenderedElement: - - depth_text = self.DEPTHSTR * depth - lines = [f"{depth_text}{line}" for line in self.text] - attributed_lines = [AttributedText(line) for line in lines] - return RenderedElement(self, attributed_lines) - -def main(stdscr: Any) -> None: - messages = MemoryElementSupply() - messages.add(TestElement("a", None, ["test element a"])) - messages.add(TestElement("b", "a", ["test element b","child of a"])) - messages.add(TestElement("c", None, ["test element c"])) - - display = TreeDisplay(messages, 80, 15) - display.anchor_id = "a" - display.anchor_offset = 5 - - display.rerender() - display.render_display_lines() - - print("-"*80) - for line in display.display_lines: - print(str(line)) - print("-"*80) - -# while True: -# key = stdscr.getkey() -# -# if key in {"\x1b", "q"}: -# return -# -# elif key == "e": -# with tempfile.TemporaryDirectory() as tmpdirname: -# tmpfilename = tmpdirname + "/" + "tempfile" -# #stdscr.addstr(f"{curses.COLOR_PAIRS!r}\n") -# stdscr.addstr(f"{tmpdirname!r} | {tmpfilename!r}\n") -# -# stdscr.getkey() -# -# curses.endwin() -# subprocess.run(["nvim", tmpfilename]) -# stdscr.refresh() -# -# stdscr.getkey() -# -# with open(tmpfilename) as f: -# for line in f: -# stdscr.addstr(line) - - -#curses.wrapper(main) -main(None) diff --git a/test/test_element_rendering.py b/test/test_element_rendering.py index 32c07fb..2a9e0b3 100644 --- a/test/test_element_rendering.py +++ b/test/test_element_rendering.py @@ -1,14 +1,14 @@ import unittest -import cheuph +from bowl import CursorTreeRenderer __all__ = ["TestCursorTreeRenderer"] class TestCursorTreeRenderer(unittest.TestCase): def test_static_offset(self): - gao = cheuph.CursorTreeRenderer.get_absolute_offset - gro = cheuph.CursorTreeRenderer.get_relative_offset + gao = CursorTreeRenderer.get_absolute_offset + gro = CursorTreeRenderer.get_relative_offset self.assertEqual(0, gao(0.0, 6)) self.assertEqual(1, gao(0.2, 6)) diff --git a/test/test_markup.py b/test/test_markup.py index 67328b9..6dc251f 100644 --- a/test/test_markup.py +++ b/test/test_markup.py @@ -1,6 +1,6 @@ import unittest -from cheuph import AT +from bowl import AT __all__ = ["TestAttributedText"] diff --git a/test/test_rendered_element_cache.py b/test/test_rendered_element_cache.py index 9c062b1..c6da75f 100644 --- a/test/test_rendered_element_cache.py +++ b/test/test_rendered_element_cache.py @@ -1,6 +1,6 @@ import unittest -from cheuph import Element, RenderedElementCache +from bowl import Element, RenderedElementCache __all__ = ["TestRenderedElementCache"] diff --git a/test_scripts/.gitignore b/test_scripts/.gitignore deleted file mode 100644 index b1687c3..0000000 --- a/test_scripts/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -cheuph -yaboli diff --git a/test_scripts/display_attr_lines_wiget.py b/test_scripts/display_attr_lines_wiget.py deleted file mode 100644 index 70d1dd0..0000000 --- a/test_scripts/display_attr_lines_wiget.py +++ /dev/null @@ -1,60 +0,0 @@ -import urwid -import urwid.curses_display - -import cheuph -from cheuph import AT, AttributedLines, AttributedLinesWidget - - -class TestWidget(urwid.WidgetWrap): - def __init__(self): - long_line = AT("super", style="red") - long_line += AT(" long", style="cyan") - long_line += AT(" line", style="magenta") - lines = [ - ({}, AT("abc", style="green")), - ({"style": "blue"}, AT("Hello world")), - ({}, AT(" ").join([long_line] * 10)), - ] - self.lines = AttributedLinesWidget(AttributedLines(lines)) - super().__init__(self.lines) - - def selectable(self): - return True - - def keypress(self, size, key): - if key == "left": - self.lines.horizontal_offset -= 1 - elif key == "right": - self.lines.horizontal_offset += 1 - elif key == "home": - self.lines.horizontal_offset = 0 - elif key == "up": - self.lines.upper_offset += 1 - elif key == "down": - self.lines.upper_offset -= 1 - - def mouse_event(self, size, event, button, col, row, focus): - if event == "mouse press": - if button == 4: - self.lines.upper_offset += 1 - if button == 5: - self.lines.upper_offset -= 1 - -def main(): - screen = urwid.curses_display.Screen() - palette = [ - ("red", "light red", ""), - ("yellow", "yellow", ""), - ("green", "light green", ""), - ("blue", "light blue", ""), - ("magenta", "light magenta", ""), - ("cyan", "light cyan", ""), - ] - loop = urwid.MainLoop( - TestWidget(), - screen=screen, - palette=palette, - ) - loop.run() - -main() diff --git a/test_scripts/display_attr_text_widget.py b/test_scripts/display_attr_text_widget.py deleted file mode 100644 index 0357dab..0000000 --- a/test_scripts/display_attr_text_widget.py +++ /dev/null @@ -1,20 +0,0 @@ -import urwid -import urwid.curses_display - -import cheuph -from cheuph import AT, AttributedTextWidget - - -class TestWidget(urwid.WidgetWrap): - def __init__(self): - text = AT("Hello world!\nThis is some text.\nThird line.") - self.text = AttributedTextWidget(text) - self.filler = urwid.Filler(self.text) - super().__init__(self.filler) - -def main(): - screen = urwid.curses_display.Screen() - loop = urwid.MainLoop(TestWidget(), screen=screen) - loop.run() - -main() diff --git a/test_scripts/display_pressed_keys.py b/test_scripts/display_pressed_keys.py deleted file mode 100644 index f07da43..0000000 --- a/test_scripts/display_pressed_keys.py +++ /dev/null @@ -1,31 +0,0 @@ -import urwid -import urwid.curses_display - -class TestWidget(urwid.WidgetWrap): - KEY_LIMIT = 10 - - def __init__(self): - self.last_keys = [] - self.text = urwid.Text("No key pressed yet", align=urwid.CENTER) - self.filler = urwid.Filler(self.text) - super().__init__(self.filler) - - def selectable(self): - return True - - def keypress(self, size, key): - self.last_keys.append(repr(key)) - self.last_keys = self.last_keys[-self.KEY_LIMIT:] - self.text.set_text("\n".join(self.last_keys)) - - def mouse_event(self, size, event, button, col, row, focus): - self.last_keys.append(f"{event!r} {button!r} ({row}, {col})") - self.last_keys = self.last_keys[-self.KEY_LIMIT:] - self.text.set_text("\n".join(self.last_keys)) - -def main(): - screen = urwid.curses_display.Screen() - loop = urwid.MainLoop(TestWidget(), screen=screen) - loop.run() - -main() diff --git a/test_scripts/display_room_layout.py b/test_scripts/display_room_layout.py deleted file mode 100644 index ac9f33e..0000000 --- a/test_scripts/display_room_layout.py +++ /dev/null @@ -1,30 +0,0 @@ -import urwid -import urwid.curses_display - -import cheuph -from cheuph import AT, AttributedTextWidget -from cheuph.euphoria.room_widget import RoomLayout - - -def main(): - widget = RoomLayout( - AttributedTextWidget(AT("&test"), align=urwid.CENTER), - urwid.SolidFill("n"), - urwid.SolidFill("t"), - AttributedTextWidget(AT("edit\ning")), - nick_list_width = 15, - border_attrs = {"style": "dim"}, - ) - widget.set_edit_visible(True) - palette = [ - ("dim", "dark gray,bold", ""), - ] - screen = urwid.curses_display.Screen() - loop = urwid.MainLoop( - widget, - palette=palette, - #screen=screen, - ) - loop.run() - -main() diff --git a/test_scripts/test_cursor_tree_widget.py b/test_scripts/test_cursor_tree_widget.py deleted file mode 100644 index 14949eb..0000000 --- a/test_scripts/test_cursor_tree_widget.py +++ /dev/null @@ -1,35 +0,0 @@ -import datetime - -import urwid -import urwid.curses_display - -import cheuph -from cheuph import (AT, BasicCursorRenderer, CursorTreeRenderer, - CursorTreeWidget, InMemorySupply, Message) - - -def add(supply, level, text, amount=4): - t = datetime.datetime(2019, 5, 7, 13, 25, 6) - if level < 0: return - for i in range(amount): - new_text = f"{text}->{i}" - supply.add(Message(new_text, text or None, t, str(i), new_text)) - add(supply, level - 1, new_text, amount=amount) - -def main(): - s = InMemorySupply() - r = BasicCursorRenderer() - t = CursorTreeRenderer(s, r) - - add(s, 4, "") - - #screen = urwid.curses_display.Screen() - event_loop = urwid.AsyncioEventLoop() - loop = urwid.MainLoop( - cheuph.CursorTreeWidget(t), - #screen=screen, - event_loop=event_loop, - ) - loop.run() - -main() diff --git a/test_scripts/test_launch_single_room_widget.py b/test_scripts/test_launch_single_room_widget.py deleted file mode 100644 index aac63c4..0000000 --- a/test_scripts/test_launch_single_room_widget.py +++ /dev/null @@ -1,21 +0,0 @@ -import asyncio -import logging -from typing import List, Optional - -import urwid - -from cheuph.euphoria.single_room_application import SingleRoomApplication - -logging.disable() - -def main(): - loop = asyncio.get_event_loop() - main_loop = urwid.MainLoop( - SingleRoomApplication(), - event_loop=urwid.AsyncioEventLoop(loop=loop), - ) - - main_loop.run() - -if __name__ == "__main__": - main()