71 lines
1.8 KiB
Python
Executable File
71 lines
1.8 KiB
Python
Executable File
#!/usr/bin/env python3
|
|
|
|
import argparse
|
|
import logging
|
|
|
|
from src.env_default import EnvDefault
|
|
from src.server import MeliesServer
|
|
|
|
|
|
def main():
|
|
logging.basicConfig(
|
|
level=logging.INFO,
|
|
format="%(asctime)s [%(levelname)s] %(message)s",
|
|
datefmt=r"%Y-%m-%d %H:%M:%S"
|
|
)
|
|
|
|
parser = argparse.ArgumentParser(
|
|
description="Starts the Melies server",
|
|
formatter_class=argparse.RawTextHelpFormatter
|
|
)
|
|
parser.add_argument(
|
|
"-p", "--port",
|
|
action=EnvDefault,
|
|
envvar="MELIES_PORT",
|
|
default=8000,
|
|
type=int,
|
|
help="Port on which the server listens"
|
|
)
|
|
parser.add_argument(
|
|
"--max-payload-size",
|
|
action=EnvDefault,
|
|
envvar="MELIES_MAX_PAYLOAD_SIZE",
|
|
default=1e6,
|
|
type=int,
|
|
help="Maximum POST payload size in bytes that the server accepts"
|
|
)
|
|
parser.add_argument(
|
|
"--to-convert-dir",
|
|
action=EnvDefault,
|
|
envvar="MELIES_TO_CONVERT_DIR",
|
|
default="to_convert",
|
|
help="Path to the directory containing medias to convert"
|
|
)
|
|
parser.add_argument(
|
|
"--converted-dir",
|
|
action=EnvDefault,
|
|
envvar="MELIES_CONVERTED_DIR",
|
|
default="converted",
|
|
help="Path to the directory containing converted medias"
|
|
)
|
|
parser.add_argument(
|
|
"--metadata-dir",
|
|
action=EnvDefault,
|
|
envvar="MELIES_METADATA_DIR",
|
|
default="metadata",
|
|
help="Path to the directory containing metadata files"
|
|
)
|
|
args = parser.parse_args()
|
|
|
|
server = MeliesServer(
|
|
args.port,
|
|
args.to_convert_dir,
|
|
args.converted_dir,
|
|
args.metadata_dir,
|
|
args.max_payload_size
|
|
)
|
|
server.start()
|
|
|
|
|
|
if __name__ == "__main__":
|
|
main() |