93 lines
3.1 KiB
Python
93 lines
3.1 KiB
Python
|
|
"""Helper modules for the downlow mpv integration."""
|
||
|
|
from . import hydrus as _hydrus
|
||
|
|
from . import download as _download
|
||
|
|
from . import tasks as _tasks
|
||
|
|
from . import utils as _utils
|
||
|
|
|
||
|
|
try: # Optional dependency on Playwright
|
||
|
|
from . import webshot as _webshot
|
||
|
|
except Exception as exc: # pragma: no cover - surfaced when Playwright is missing
|
||
|
|
_webshot = None # type: ignore
|
||
|
|
ScreenshotError = None # type: ignore[assignment]
|
||
|
|
ScreenshotOptions = None # type: ignore[assignment]
|
||
|
|
ScreenshotResult = None # type: ignore[assignment]
|
||
|
|
capture_screenshot = None # type: ignore[assignment]
|
||
|
|
ScreenshotImportError = exc # type: ignore[assignment]
|
||
|
|
else:
|
||
|
|
ScreenshotError = _webshot.ScreenshotError
|
||
|
|
ScreenshotOptions = _webshot.ScreenshotOptions
|
||
|
|
ScreenshotResult = _webshot.ScreenshotResult
|
||
|
|
capture_screenshot = _webshot.capture_screenshot
|
||
|
|
ScreenshotImportError = None
|
||
|
|
# CBOR utilities
|
||
|
|
decode_cbor = _utils.decode_cbor
|
||
|
|
jsonify = _utils.jsonify
|
||
|
|
# General utilities
|
||
|
|
CHUNK_SIZE = _utils.CHUNK_SIZE
|
||
|
|
ensure_directory = _utils.ensure_directory
|
||
|
|
unique_path = _utils.unique_path
|
||
|
|
download_hydrus_file = _hydrus.download_hydrus_file
|
||
|
|
sanitize_metadata_value = _utils.sanitize_metadata_value
|
||
|
|
unique_preserve_order = _utils.unique_preserve_order
|
||
|
|
sha256_file = _utils.sha256_file
|
||
|
|
create_metadata_sidecar = _utils.create_metadata_sidecar
|
||
|
|
create_tags_sidecar = _utils.create_tags_sidecar
|
||
|
|
# Format utilities
|
||
|
|
format_bytes = _utils.format_bytes
|
||
|
|
format_duration = _utils.format_duration
|
||
|
|
format_timestamp = _utils.format_timestamp
|
||
|
|
format_metadata_value = _utils.format_metadata_value
|
||
|
|
# Link utilities
|
||
|
|
extract_link = _utils.extract_link
|
||
|
|
extract_link_from_args = _utils.extract_link_from_args
|
||
|
|
extract_link_from_result = _utils.extract_link_from_result
|
||
|
|
get_api_key = _utils.get_api_key
|
||
|
|
add_direct_link_to_result = _utils.add_direct_link_to_result
|
||
|
|
# URL policy utilities
|
||
|
|
resolve_url_policy = _utils.resolve_url_policy
|
||
|
|
UrlPolicy = _utils.UrlPolicy
|
||
|
|
# Download utilities
|
||
|
|
DownloadOptions = _download.DownloadOptions
|
||
|
|
DownloadError = _download.DownloadError
|
||
|
|
DownloadMediaResult = _download.DownloadMediaResult
|
||
|
|
download_media = _download.download_media
|
||
|
|
is_url_supported_by_ytdlp = _download.is_url_supported_by_ytdlp
|
||
|
|
probe_url = _download.probe_url
|
||
|
|
# Hydrus utilities
|
||
|
|
hydrus_request = _hydrus.hydrus_request
|
||
|
|
hydrus_export = _hydrus.hydrus_export
|
||
|
|
HydrusClient = _hydrus.HydrusClient
|
||
|
|
HydrusRequestError = _hydrus.HydrusRequestError
|
||
|
|
connect_ipc = _tasks.connect_ipc
|
||
|
|
ipc_sender = _tasks.ipc_sender
|
||
|
|
__all__ = [
|
||
|
|
'decode_cbor',
|
||
|
|
'jsonify',
|
||
|
|
'CHUNK_SIZE',
|
||
|
|
'ensure_directory',
|
||
|
|
'unique_path',
|
||
|
|
'download_hydrus_file',
|
||
|
|
'sanitize_metadata_value',
|
||
|
|
'unique_preserve_order',
|
||
|
|
'sha256_file',
|
||
|
|
'resolve_url_policy',
|
||
|
|
'UrlPolicy',
|
||
|
|
'ScreenshotError',
|
||
|
|
'ScreenshotOptions',
|
||
|
|
'ScreenshotResult',
|
||
|
|
'capture_screenshot',
|
||
|
|
'ScreenshotImportError',
|
||
|
|
'DownloadOptions',
|
||
|
|
'DownloadError',
|
||
|
|
'DownloadMediaResult',
|
||
|
|
'download_media',
|
||
|
|
'is_url_supported_by_ytdlp',
|
||
|
|
'probe_url',
|
||
|
|
'HydrusClient',
|
||
|
|
'HydrusRequestError',
|
||
|
|
'hydrus_request',
|
||
|
|
'hydrus_export',
|
||
|
|
'connect_ipc',
|
||
|
|
'ipc_sender',
|
||
|
|
]
|