class LoginTorrentSearcherSchema(TorrentSearcherSchema): username = fields.String(required=True, ui_schema={"ui:title": "Username"}) password = fields.String(required=True, ui_schema={ "ui:widget": "password", "ui:title": "Password" })
class ListingSchema(Schema): name = fields.String(required=True) display_name = fields.String(default="", ui_schema={"ui:title": "Name"}) levels = fields.Nested(ListingLevelSchema, many=True, default=list) histories = fields.List( RelatedPluginField(plugin_type=HistoryPlugin), many=True, default=list ) rebuild_automatically = fields.Boolean(default=True)
class DelugeBittorrentClientSchema(Schema): url = fields.URL(required=True, require_tld=False, ui_schema={"ui:title": "URL"}) username = fields.String( required=True, default="stream", ui_schema={"ui:title": "Username"} ) password = fields.String(required=True, ui_schema={"ui:title": "Password"}) label = fields.String(ui_schema={"ui:title": "Deluge Label"}) class Meta: ui_schema = {"ui:order": ["url", "username", "password", "label"]}
class TheTVDBMetadataSchema(MetadataSchema): search_resolve = fields.Boolean() search_language = fields.String( enum=["en", "da"], enum_names=[ "English", "Danish" ]) # choices, should also try to change language to local names episodic = fields.Boolean() # Resolve to episodes
class FrontpageConfigSourceSchema(Schema): docChain = fields.Nested(FrontpageConfigDocChainSchema, many=True, required=True) contentType = fields.String( enum=settings.TRIDENTSTREAM_CONTENT_TYPES, enum_names=settings.TRIDENTSTREAM_CONTENT_TYPES_NAMES, default="", ) template = fields.String( enum=settings.TRIDENTSTREAM_TEMPLATES, enum_names=settings.TRIDENTSTREAM_TEMPLATES_NAMES, default="cover", required=True, ) query = fields.Nested(FrontpageConfigSourceQuerySchema, many=True) enabled = fields.Boolean()
class ListingLevelSchema(Schema): depth = fields.Integer(required=True) listing_depth = fields.Integer(required=True) metadata_handlers = fields.List( RelatedPluginField(plugin_type=MetadataHandlerPlugin), many=True, default=list ) indexer = RelatedPluginField(plugin_type=IndexerPlugin, required=False) content_type = fields.String( enum=settings.TRIDENTSTREAM_CONTENT_TYPES, enum_names=settings.TRIDENTSTREAM_CONTENT_TYPES_NAMES, default="", ) tags = fields.List( RelatedPluginField(plugin_type=TagPlugin), many=True, default=list ) background_recheck = fields.Boolean(default=False) default_ordering = fields.String(default="")
class FrontpageConfigDocChainSchema(Schema): type = fields.String(required=True) id = fields.String(required=False)
class FrontpageConfigSourceQuerySchema(Schema): key = fields.String(required=True) value = fields.String(required=True)
class SectionInputSchema(Schema): path = fields.String(default="") preference = fields.Integer(default=10) input = RelatedPluginField(plugin_type=InputPlugin, required=True)
class LevelDBDatabaseSchema(Schema): path = fields.String()
class Magnet2TorrentMagnetResolverSchema(Schema): url = fields.String(required=False, ui_schema={"ui:title": "External Magnet2Torrent URL"}) use_external_server = fields.Boolean(default=False, title="Use External Server")
class BaseSchema(Schema): display_name = fields.String( default="", description="Display Name", ui_schema={"ui:title": "Name"} ) player_service = RelatedPluginField(plugin_type=ServicePlugin, traits=["player"])
class IMDBMetadataSchema(MetadataSchema): search_resolve = fields.String( enum=["tv", "movie"], enum_names=["TV", "Movie"] ) # choices: tv, movies
class PathSchema(Schema): path = fields.String(required=True) virtual_root = fields.String(default="")
class TagSchema(Schema): handler = fields.String(required=True) tag_name = fields.String(required=True)
class FrontpageConfigSchema(Schema): title = fields.String(required=True) sources = fields.Nested(FrontpageConfigSourceSchema, many=True, required=True) enabled = fields.Boolean()
class RemoteFilesystemInputSchema(Schema): url = fields.String() token = fields.String() priority = fields.Integer(default=5)
class WhooshIndexerSchema(Schema): path = fields.String()
class ShelfDatabaseSchema(Schema): path = fields.String()
class RemoteSearcherSearcherSchema(Schema): url = fields.String() token = fields.String() searcher_name = fields.String() priority = fields.Integer(default=10)