spantrack interface ok
This commit is contained in:
@@ -14,7 +14,6 @@ except PackageNotFoundError:
|
||||
pass
|
||||
|
||||
|
||||
|
||||
from .logger import logger, loglevel_map, get_logger
|
||||
from .utils import DataDict, PathLike, path
|
||||
from .app import App
|
||||
#from .logger import logger, loglevel_map, get_logger
|
||||
#from .utils import DataDict, PathLike, path
|
||||
#from .app import App
|
||||
|
||||
@@ -48,6 +48,7 @@ logging.basicConfig(
|
||||
level=logging.INFO,
|
||||
format=format_str,
|
||||
)
|
||||
logging.captureWarnings(True)
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
+61
-18
@@ -1,22 +1,65 @@
|
||||
#!/usr/bin/env python3
|
||||
# -*- coding: utf-8; tab-width: 4; -*-
|
||||
# vim: set fileencoding=utf-8 tabstop=4 shiftwidth=4 expandtab:
|
||||
# Copyright (c) 2025-2026 Renato Xavier da Silveira Rosa
|
||||
# See [LICENSE](./LICENSE) or [BSD-3-Clause-Clear](https://spdx.org/licenses/BSD-3-Clause-Clear.html)
|
||||
|
||||
from pathlib import Path
|
||||
import os
|
||||
import sys
|
||||
import logging
|
||||
logger = logging.get_logger()
|
||||
from datetime import datetime as dt
|
||||
|
||||
from dotenv import load_dotenv
|
||||
from .logger import logger
|
||||
|
||||
from spantrack import cli, run_config
|
||||
|
||||
load_dotenv()
|
||||
os.environ["NLTK_DATA"] = 'C:\\Users\\renat\\AppData\\Roaming\\nltk_data'
|
||||
os.environ["HF_TOKEN"] = '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'
|
||||
from spantrack import cli
|
||||
root = 'D:\\DATA\\EBOOKS\\_SEM_DRM\\'
|
||||
globs = [
|
||||
"Night School*.epub",
|
||||
"The Midnight*.epub",
|
||||
"Past Tense*.epub",
|
||||
"Blue Moon*.epub",
|
||||
"The Sentinel",
|
||||
"Better Off Dead",
|
||||
"No Plan B",
|
||||
]
|
||||
for glob in globs:
|
||||
f = root.glob(glob)
|
||||
if len(f) > 1:
|
||||
logger.error("Glob pattern found more than 1 file: %s", f)
|
||||
continue
|
||||
cli.main([f.resolve(), "--voice", "am_liam"])
|
||||
timefmt = os.environ.get("TIMEFMT", r"%Y-%m-%dT%H:%M:%S.%f")
|
||||
|
||||
|
||||
|
||||
def main():
|
||||
root = Path('D:\\DATA\\EBOOKS\\_SEM_DRM\\')
|
||||
globs = [
|
||||
"Night School*.epub",
|
||||
"The Midnight*.epub",
|
||||
"Past Tense*.epub",
|
||||
"Blue Moon*.epub",
|
||||
"The Sentinel*.epub",
|
||||
"Better Off Dead*.epub",
|
||||
"No Plan B*.epub",
|
||||
]
|
||||
|
||||
cmd = []
|
||||
if "--dry-run" in sys.argv:
|
||||
cmd.extend("--dry-run")
|
||||
cmd.extend(["--progress",
|
||||
"--device", run_config.Device["CUDA"], # spantrack.run_config.Device, default=Device.AUTO,
|
||||
#"--lexicon", # Path
|
||||
#"--audio-format", # AudioFormat, default=AudioFormat.MP3, spantrack.run_config._AUDIO_MEDIA_TYPES
|
||||
#"--lang", # Language, default=Language.EN_US,
|
||||
"--voice","am_liam",
|
||||
])
|
||||
result_output = []
|
||||
for glob in globs:
|
||||
file_list = [f for f in root.glob(glob)]
|
||||
if len(file_list) > 1:
|
||||
logger.error("Glob pattern found more than 1 file: %s", f)
|
||||
continue
|
||||
file = str(file_list[0])
|
||||
start = dt.now()
|
||||
logger.info(f"[{start.strftime(timefmt)}] Narrating '{file}'")
|
||||
cli.main([file] + cmd)
|
||||
finish = dt.now()
|
||||
logger.info(f"[{finish .strftime(timefmt)}] Success! '{file}'")
|
||||
|
||||
elapsed_time = finish-start
|
||||
elapsed_hours= elapsed_time.total_seconds // 3600
|
||||
elapsed_minutes = (elapsed_time.total_seconds % 3600) // 60
|
||||
elapsed_seconds = elapsed_time.total_seconds % 60
|
||||
f"Total elapsed time: {elapsed_hours}h {elapsed_minutes}min {elapsed_seconds}s"
|
||||
result_output.append()
|
||||
@@ -13,7 +13,8 @@ from pathlib import Path
|
||||
from typing import Optional, Union
|
||||
from collections.abc import MutableMapping
|
||||
|
||||
from . import logger, PathLike
|
||||
from .logger import logger
|
||||
from . import PathLike
|
||||
|
||||
|
||||
def path(fpath: str|Path = None):
|
||||
|
||||
Reference in New Issue
Block a user