#!/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()