#! /usr/bin/python3 import os, sys, subprocess, json, click, time, re, tempfile, math from datetime import datetime, timedelta from ffx.file_properties import FileProperties from ffx.ffx_app import FfxApp from ffx.ffx_controller import FfxController from ffx.show_controller import ShowController from ffx.tmdb_controller import TmdbController from ffx.database import databaseContext from ffx.track_descriptor import TrackDescriptor from ffx.track_type import TrackType from ffx.video_encoder import VideoEncoder from ffx.track_disposition import TrackDisposition from ffx.process import executeProcess from ffx.test.helper import createMediaFile from ffx.test.scenario import Scenario VERSION='0.1.0' # 0.1.1 # Bugfixes, TMBD identify shows # 0.1.2 # Bugfixes # 0.1.3 # Subtitle file imports @click.group() @click.pass_context def ffx(ctx): """FFX""" ctx.obj = {} ctx.obj['database'] = databaseContext(databasePath=None) # Define a subcommand @ffx.command() def version(): click.echo(VERSION) # Another subcommand @ffx.command() def help(): click.echo(f"ffx tests {VERSION}\n") click.echo(f"Usage: ffx_test ...") # @ffx.command() # def show(): # for i in Scenario().list(): # click.echo(i) # Another subcommand @ffx.command() def run(): """Run ffx test sequences""" for scenarioIndex in Scenario().list(): scenario = Scenario().getClassReference(scenarioIndex)() click.echo(f"Running scenario {scenarioIndex}") scenario.run() if __name__ == '__main__': ffx()