diff --git a/build.bat b/build.bat index 821ed6c..89343d1 100755 --- a/build.bat +++ b/build.bat @@ -5,12 +5,12 @@ mkdir output mkdir output\bin python -m pip install -r requirements.txt || goto :exit python -m pip install Nuitka || goto :exit -python -m nuitka --jobs=%NUMBER_OF_PROCESSORS% --output-dir=output --follow-imports --onefile --output-filename=vnrecode vnrecode || goto :exit +python -m nuitka --jobs=%NUMBER_OF_PROCESSORS% --output-dir=output --follow-imports --onefile --output-filename=vnrecode vnrecode\__main__.py || goto :exit xcopy vnrecode\vnrecode.toml output\bin /Y move /Y output\vnrecode.exe output\bin -python -m nuitka --jobs=%NUMBER_OF_PROCESSORS% --output-dir=output --follow-imports --onefile --output-filename=unrenapk unrenapk || goto :exit +python -m nuitka --jobs=%NUMBER_OF_PROCESSORS% --output-dir=output --follow-imports --onefile --output-filename=unrenapk unrenapk\__main__.py || goto :exit move /Y output\unrenapk.exe output\bin -python -m nuitka --jobs=%NUMBER_OF_PROCESSORS% --output-dir=output --follow-imports --onefile --output-filename=vnds2renpy vnds2renpy || goto :exit +python -m nuitka --jobs=%NUMBER_OF_PROCESSORS% --output-dir=output --follow-imports --onefile --output-filename=vnds2renpy vnds2renpy/__main__.py || goto :exit move /Y output\vnds2renpy.exe output\bin echo "Done! You can get binaries into output\bin directory" diff --git a/build.sh b/build.sh index ffbd2b4..a7cf3b3 100755 --- a/build.sh +++ b/build.sh @@ -14,11 +14,11 @@ case "$(uname -s)" in Linux*) jobs="--jobs=$(nproc)";; Darwin*) jobs="--jobs=$(sysctl -n hw.ncpu)";; esac -python3 -m nuitka "${jobs}" --output-dir=output --onefile --follow-imports --output-filename=vnrecode vnrecode +python3 -m nuitka "${jobs}" --output-dir=output --onefile --follow-imports --output-filename=vnrecode vnrecode/__main__.py cp vnrecode/vnrecode.toml output/bin mv output/vnrecode output/bin -python3 -m nuitka "${jobs}" --output-dir=output --onefile --follow-imports --output-filename=unrenapk unrenapk +python3 -m nuitka "${jobs}" --output-dir=output --onefile --follow-imports --output-filename=unrenapk unrenapk/__main__.py mv output/unrenapk output/bin -python3 -m nuitka "${jobs}" --output-dir=output --onefile --follow-imports --output-filename=vnds2renpy vnds2renpy +python3 -m nuitka "${jobs}" --output-dir=output --onefile --follow-imports --output-filename=vnds2renpy vnds2renpy/__main__.py mv output/vnds2renpy output/bin echo "Done! You can get binaries into output/bin directory" \ No newline at end of file diff --git a/unrenapk/__main__.py b/unrenapk/__main__.py index c33b4bc..6e79193 100755 --- a/unrenapk/__main__.py +++ b/unrenapk/__main__.py @@ -1,6 +1,6 @@ #!/usr/bin/env python3 -from unrenapk import application +from . import application if __name__ == '__main__': application.launch() diff --git a/unrenapk/actions.py b/unrenapk/actions.py index a55f576..489eee9 100755 --- a/unrenapk/actions.py +++ b/unrenapk/actions.py @@ -3,7 +3,7 @@ from PIL import Image import shutil import os -from unrenapk.printer import Printer +from .printer import Printer class Extract: diff --git a/unrenapk/application.py b/unrenapk/application.py index 1c3df6b..b66d6ba 100644 --- a/unrenapk/application.py +++ b/unrenapk/application.py @@ -4,8 +4,8 @@ import argparse import sys import os -from unrenapk.printer import Printer -from unrenapk.actions import Actions +from .printer import Printer +from .actions import Actions def args_init(): diff --git a/vnrecode/__main__.py b/vnrecode/__main__.py index e44ac79..fe45306 100644 --- a/vnrecode/__main__.py +++ b/vnrecode/__main__.py @@ -1,9 +1,9 @@ #!/usr/bin/env python3 -from vnrecode.application import Application -from vnrecode.compress import Compress -from vnrecode.printer import Printer -from vnrecode.params import Params -from vnrecode.utils import Utils +from .application import Application +from .compress import Compress +from .printer import Printer +from .params import Params +from .utils import Utils def init(): diff --git a/vnrecode/application.py b/vnrecode/application.py index b8bbc57..216157e 100755 --- a/vnrecode/application.py +++ b/vnrecode/application.py @@ -5,10 +5,10 @@ from pathlib import Path import shutil import os -from vnrecode.compress import Compress -from vnrecode.printer import Printer -from vnrecode.params import Params -from vnrecode.utils import Utils +from .compress import Compress +from .printer import Printer +from .params import Params +from .utils import Utils class Application: diff --git a/vnrecode/compress.py b/vnrecode/compress.py index 680da22..b1c2567 100644 --- a/vnrecode/compress.py +++ b/vnrecode/compress.py @@ -3,9 +3,9 @@ from pathlib import Path from PIL import Image import pillow_avif -from vnrecode.printer import Printer -from vnrecode.params import Params -from vnrecode.utils import Utils +from .printer import Printer +from .params import Params +from .utils import Utils class File: diff --git a/vnrecode/printer.py b/vnrecode/printer.py index 9207ba7..19650aa 100644 --- a/vnrecode/printer.py +++ b/vnrecode/printer.py @@ -3,6 +3,7 @@ from pathlib import Path import colorama import sys import os +import re class Printer: """ @@ -19,6 +20,16 @@ class Printer: self.bar = IncrementalBar('Compressing', max=file_count, suffix='[%(index)d/%(max)d] (%(percent).1f%%)') self.bar.update() + @staticmethod + def clean_str(string: str) -> str: + """ + Method fills end of string with spaces to remove progress bar garbage from console + :param string: String to "clean" + :return: "Clean" string + """ + ansi_escape = re.compile(r'\x1B(?:[@-Z\\-_]|\[[0-?]*[ -/]*[@-~])') + return string + " " * (os.get_terminal_size().columns - len(ansi_escape.sub('', string))) + @staticmethod def win_ascii_esc(): """ @@ -43,7 +54,7 @@ class Printer: :param string: String to print :return: None """ - self.bar_print(f"\x1b[2K\r\033[100m- {string}\033[49m") + self.bar_print(self.clean_str(f"\r\033[100m- {string}\033[49m")) def warning(self, string: str): """ @@ -51,7 +62,7 @@ class Printer: :param string: String to print :return: None """ - self.bar_print(f"\x1b[2K\r\033[93m!\033[0m {string}\033[49m") + self.bar_print(self.clean_str(f"\r\033[93m!\033[0m {string}\033[49m")) def error(self, string: str): """ @@ -59,7 +70,7 @@ class Printer: :param string: String to print :return: None """ - self.bar_print(f"\x1b[2K\r\033[31m\u2715\033[0m {string}\033[49m") + self.bar_print(self.clean_str(f"\r\033[31m\u2715\033[0m {string}\033[49m")) def files(self, source_path: Path, output_path: Path, comment: str): """ @@ -70,8 +81,8 @@ class Printer: :param comment: Comment about recode quality setting :return: None """ - self.bar_print(f"\x1b[2K\r\033[0;32m\u2713\033[0m \033[0;37m{source_path.stem}\033[0m{source_path.suffix}\033[0;37m -> " - f"{source_path.stem}\033[0m{output_path.suffix}\033[0;37m ({comment})\033[0m") + self.bar_print(self.clean_str(f"\r\033[0;32m\u2713\033[0m \033[0;37m{source_path.stem}\033[0m{source_path.suffix}\033[0;37m -> " + f"{source_path.stem}\033[0m{output_path.suffix}\033[0;37m ({comment})\033[0m")) def unknown_file(self, filename: str): """ @@ -79,4 +90,4 @@ class Printer: :param filename: Name of unknown file :return: """ - self.bar_print(f"\x1b[2K\r\u2713 \033[0;33m{filename}\033[0m (File will be force compressed via ffmpeg)") + self.bar_print(self.clean_str(f"\r\u2713 \033[0;33m{filename}\033[0m (File will be force compressed via ffmpeg)"))