diff --git a/mirva/__init__.py b/mirva/__init__.py index 062697a..5611764 100644 --- a/mirva/__init__.py +++ b/mirva/__init__.py @@ -1,4 +1,6 @@ -__version__ = "20231013.0" +import os + +__version__ = "20231014.0" def get_version(): @@ -8,4 +10,25 @@ def get_version(): def main(): from mirva.mirva import Mirva - Mirva() + album = Mirva() + album.init() + album.run() + + +def recursive_main(): + from mirva.mirva import Mirva + + folders = ["."] + for dp, dn, fn in os.walk("."): + dn[:] = [d for d in dn if d[0] != "."] + folders.extend([os.path.join(dp,d) for d in sorted(dn, reverse=True)]) + folders.reverse() + curwd = os.getcwd() + for f in folders: + print("Running in folder: {}".format(f)) + album = Mirva() + album.options.folder = f + album.init() + album.run() + os.chdir(curwd) + diff --git a/mirva/mirva.py b/mirva/mirva.py index d7945ea..f8a3ebb 100755 --- a/mirva/mirva.py +++ b/mirva/mirva.py @@ -42,9 +42,10 @@ class Mirva: "help": "Transition to next image with keyboard: smooth or auto", }, } - - ## Init ## self.get_options() + + def init(self): + ## Init ## os.chdir(self.options.folder) if os.path.basename(os.getcwd()) == self.resource_dir: os.chdir("..") @@ -52,6 +53,7 @@ class Mirva: self.file_list = self.get_files() self.folder_list = self.get_folders() + def run(self): if self.run_commands["config"]: self.write_resources() updated = self.create_config() diff --git a/setup.py b/setup.py index b400523..6af5e04 100644 --- a/setup.py +++ b/setup.py @@ -9,6 +9,7 @@ setup( entry_points={ "console_scripts": [ "mirva=mirva:main", + "mirva-recursive=mirva:recursive_main", ], }, install_requires=["tqdm"],