upsies.trackers
API for trackers
TrackerBase provides a uniform interface for all trackers. Its subclasses have two main
purposes:
Specify jobs that generate metadata, e.g. torrent creation,
mediainfooutput, IMDb ID, etc.Provide coroutine methods, e.g. for uploading the generated metadata.
Modules
ANT API |
|
Abstract base classes for trackers |
|
BHD API |
|
CBR API |
|
Dummy tracker for testing and debugging |
|
FLD API |
|
MTV API |
|
NBL API |
|
PTP API |
|
RFX API |
|
SC API |
Functions
- upsies.trackers.tracker(name, **kwargs)[source]
Create
TrackerBaseinstance- Parameters:
name (str) – Name of the tracker. A subclass of
TrackerBasewith the samenamemust exist in one of this package’s submodules.kwargs – All keyword arguments are passed to the subclass specified by name
- Raises:
ValueError – if no matching subclass can be found
- Returns:
TrackerBaseinstance
- upsies.trackers.tracker_classes()[source]
Return list of
TrackerBasesubclasses
Classes
- class upsies.trackers.TrackersConfig(*, ant: AntTrackerConfig = AntTrackerConfig(exclude=ListOfRegex((Regex('\\.(?i:sfv|md5)$'), Regex('/(?:\\.fuse_hidden\\d+|\\.Trash/.*|\\.Trash-\\d+/.*|\\.DS_Store|\\.Trashes/.*|desktop\\.ini|Thumbs\\.db|@eaDir/.*|.*@SynoEAStream|.*@SynoResource|.*\\.miniso|.*dvdid\\.xml|.*\\.nzb|.*\\.par2|.*\\.srr|.*\\.srs|.*\\.torrent)$'), Regex('(?i:^(?!.*/(BDMV|VIDEO_TS)/).*\\.(png|jpg|jpeg)$)'), Regex('\\.(?i:nfo)$'), Regex('(?i:/[!_0-]?sample/|[^/][\\.\\-_ ]sample\\.mkv|/sample[\\!\\-_].+\\.mkv|[\\.\\-_!]?sample-[a-zA-Z0-9]+\\.mkv|/[!#$%&*+\\-\\.]?sample\\.mkv)'))), add_to='', copy_to='', base_url='https://anthelion.me', apikey=SecretStr(''), announce_url=SecretStr(''), anonymous=Bool('no'), confirm=Bool('no')), bhd: BhdTrackerConfig = BhdTrackerConfig(exclude=ListOfRegex((Regex('\\.(?i:sfv|md5)$'), Regex('(?i:/extras/|/.+[\\. ]extras[\\. ]|/.+[\\. ]extra[\\. ]?\\d+[\\.])'), Regex('/(?:\\.fuse_hidden\\d+|\\.Trash/.*|\\.Trash-\\d+/.*|\\.DS_Store|\\.Trashes/.*|desktop\\.ini|Thumbs\\.db|@eaDir/.*|.*@SynoEAStream|.*@SynoResource|.*\\.miniso|.*dvdid\\.xml|.*\\.nzb|.*\\.par2|.*\\.srr|.*\\.srs|.*\\.torrent)$'), Regex('(?i:^(?!.*/(BDMV|VIDEO_TS)/).*\\.(png|jpg|jpeg)$)'), Regex('\\.(?i:nfo)$'), Regex('(?i:/[!_0-]?sample/|[^/][\\.\\-_ ]sample\\.mkv|/sample[\\!\\-_].+\\.mkv|[\\.\\-_!]?sample-[a-zA-Z0-9]+\\.mkv|/[!#$%&*+\\-\\.]?sample\\.mkv)'), Regex('\\.(?i:srt|idx|sub)$'))), add_to='', copy_to='', upload_url='https://beyond-hd.me/api/upload', announce_url='https://tracker.beyond-hd.me:2053/announce', announce_passkey=SecretStr(''), apikey=SecretStr(''), anonymous=Bool('no'), draft=Bool('no'), image_host=ListOfImagehost((Imagehost('imgbox', options=('imgbb', 'imgbox', 'pixhost', 'ptpimg')),)), screenshots_count=Integer(4, min=3, max=10), confirm=Bool('no')), cbr: CbrTrackerConfig = CbrTrackerConfig(exclude=ListOfRegex((Regex('\\.(?i:sfv|md5)$'), Regex('(?i:/extras/|/.+[\\. ]extras[\\. ]|/.+[\\. ]extra[\\. ]?\\d+[\\.])'), Regex('/(?:\\.fuse_hidden\\d+|\\.Trash/.*|\\.Trash-\\d+/.*|\\.DS_Store|\\.Trashes/.*|desktop\\.ini|Thumbs\\.db|@eaDir/.*|.*@SynoEAStream|.*@SynoResource|.*\\.miniso|.*dvdid\\.xml|.*\\.nzb|.*\\.par2|.*\\.srr|.*\\.srs|.*\\.torrent)$'), Regex('(?i:^(?!.*/(BDMV|VIDEO_TS)/).*\\.(png|jpg|jpeg)$)'), Regex('\\.(?i:nfo)$'), Regex('(?i:/[!_0-]?sample/|[^/][\\.\\-_ ]sample\\.mkv|/sample[\\!\\-_].+\\.mkv|[\\.\\-_!]?sample-[a-zA-Z0-9]+\\.mkv|/[!#$%&*+\\-\\.]?sample\\.mkv)'))), add_to='', copy_to='', base_url='https://capybarabr.com', announce_url=SecretStr(''), apikey=SecretStr(''), anonymous=Bool('no'), image_host=ListOfImagehost((Imagehost('imgbox', options=('freeimage', 'imgbb', 'imgbox', 'pixhost', 'ptpimg', 'ra')), Imagehost('freeimage', options=('freeimage', 'imgbb', 'imgbox', 'pixhost', 'ptpimg', 'ra')))), screenshots_count=Integer(4, min=3, max=10), confirm=Bool('no')), fld: FldTrackerConfig = FldTrackerConfig(exclude=ListOfRegex((Regex('\\.(?i:sfv|md5)$'), Regex('(?i:/extras/|/.+[\\. ]extras[\\. ]|/.+[\\. ]extra[\\. ]?\\d+[\\.])'), Regex('/(?:\\.fuse_hidden\\d+|\\.Trash/.*|\\.Trash-\\d+/.*|\\.DS_Store|\\.Trashes/.*|desktop\\.ini|Thumbs\\.db|@eaDir/.*|.*@SynoEAStream|.*@SynoResource|.*\\.miniso|.*dvdid\\.xml|.*\\.nzb|.*\\.par2|.*\\.srr|.*\\.srs|.*\\.torrent)$'), Regex('(?i:^(?!.*/(BDMV|VIDEO_TS)/).*\\.(png|jpg|jpeg)$)'), Regex('\\.(?i:nfo)$'), Regex('(?i:/[!_0-]?sample/|[^/][\\.\\-_ ]sample\\.mkv|/sample[\\!\\-_].+\\.mkv|[\\.\\-_!]?sample-[a-zA-Z0-9]+\\.mkv|/[!#$%&*+\\-\\.]?sample\\.mkv)'))), add_to='', copy_to='', upload_url='https://flood.st/api/torrents/upload', announce_url='https://flood.st/announce', announce_key=SecretStr(''), apikey=SecretStr(''), anonymous=Bool('no'), image_host=ListOfImagehost((Imagehost('imgbox', options=('freeimage', 'imgbb', 'imgbox', 'ptpimg')),)), screenshots_count=Integer(4, min=3, max=10), confirm=Bool('no')), mtv: MtvTrackerConfig = MtvTrackerConfig(exclude=ListOfRegex((Regex('\\.(?i:sfv|md5)$'), Regex('(?i:/extras/|/.+[\\. ]extras[\\. ]|/.+[\\. ]extra[\\. ]?\\d+[\\.])'), Regex('/(?:\\.fuse_hidden\\d+|\\.Trash/.*|\\.Trash-\\d+/.*|\\.DS_Store|\\.Trashes/.*|desktop\\.ini|Thumbs\\.db|@eaDir/.*|.*@SynoEAStream|.*@SynoResource|.*\\.miniso|.*dvdid\\.xml|.*\\.nzb|.*\\.par2|.*\\.srr|.*\\.srs|.*\\.torrent)$'), Regex('(?i:^(?!.*/(BDMV|VIDEO_TS)/).*\\.(png|jpg|jpeg)$)'), Regex('\\.(?i:nfo)$'), Regex('(?i:/[!_0-]?sample/|[^/][\\.\\-_ ]sample\\.mkv|/sample[\\!\\-_].+\\.mkv|[\\.\\-_!]?sample-[a-zA-Z0-9]+\\.mkv|/[!#$%&*+\\-\\.]?sample\\.mkv)'), Regex('\\.(?i:srt|idx|sub)$'))), add_to='', copy_to='', base_url='https://www.morethantv.me', username='', password=SecretStr(''), cookies_filepath='', announce_url=SecretStr(''), image_host=ListOfImagehost((Imagehost('imgbox', options=('imgbb', 'imgbox', 'ptpimg')),)), screenshots_count=Integer(4, min=3, max=10), anonymous=Bool('no'), confirm=Bool('no')), nbl: NblTrackerConfig = NblTrackerConfig(exclude=ListOfRegex((Regex('/(?:\\.fuse_hidden\\d+|\\.Trash/.*|\\.Trash-\\d+/.*|\\.DS_Store|\\.Trashes/.*|desktop\\.ini|Thumbs\\.db|@eaDir/.*|.*@SynoEAStream|.*@SynoResource|.*\\.miniso|.*dvdid\\.xml|.*\\.nzb|.*\\.par2|.*\\.srr|.*\\.srs|.*\\.torrent)$'),)), add_to='', copy_to='', upload_url='https://nebulance.io/upload.php', apikey=SecretStr(''), announce_url=SecretStr(''), anonymous=Bool('no'), confirm=Bool('no')), ptp: PtpTrackerConfig = PtpTrackerConfig(exclude=ListOfRegex((Regex('\\.(?i:sfv|md5)$'), Regex('/(?:\\.fuse_hidden\\d+|\\.Trash/.*|\\.Trash-\\d+/.*|\\.DS_Store|\\.Trashes/.*|desktop\\.ini|Thumbs\\.db|@eaDir/.*|.*@SynoEAStream|.*@SynoResource|.*\\.miniso|.*dvdid\\.xml|.*\\.nzb|.*\\.par2|.*\\.srr|.*\\.srs|.*\\.torrent)$'), Regex('(?i:^(?!.*/(BDMV|VIDEO_TS)/).*\\.(png|jpg|jpeg)$)'), Regex('\\.(?i:nfo)$'), Regex('(?i:/[!_0-]?sample/|[^/][\\.\\-_ ]sample\\.mkv|/sample[\\!\\-_].+\\.mkv|[\\.\\-_!]?sample-[a-zA-Z0-9]+\\.mkv|/[!#$%&*+\\-\\.]?sample\\.mkv)'))), add_to='', copy_to='', base_url='https://passthepopcorn.me', username='', password=SecretStr(''), cookies_filepath='', announce_url=SecretStr(''), image_host=ListOfImagehost((Imagehost('ptpimg', options=('freeimage', 'imgbb', 'pixhost', 'ptpimg', 'ra')), Imagehost('freeimage', options=('freeimage', 'imgbb', 'pixhost', 'ptpimg', 'ra')))), screenshots_from_movie=Integer(3, min=3, max=10), screenshots_from_episode=Integer(2, min=2, max=10), confirm=Bool('no')), rfx: RfxTrackerConfig = RfxTrackerConfig(exclude=ListOfRegex((Regex('/(?:\\.fuse_hidden\\d+|\\.Trash/.*|\\.Trash-\\d+/.*|\\.DS_Store|\\.Trashes/.*|desktop\\.ini|Thumbs\\.db|@eaDir/.*|.*@SynoEAStream|.*@SynoResource|.*\\.miniso|.*dvdid\\.xml|.*\\.nzb|.*\\.par2|.*\\.srr|.*\\.srs|.*\\.torrent)$'),)), add_to='', copy_to='', upload_url='https://reelflix.cc/api/torrents/upload', announce_url='https://reelflix.cc/announce', announce_passkey=SecretStr(''), apikey=SecretStr(''), anonymous=Bool('no'), image_host=ListOfImagehost((Imagehost('imgbox', options=('freeimage', 'imgbb', 'imgbox', 'pixhost', 'ptpimg', 'ra', 'rfximg')), Imagehost('freeimage', options=('freeimage', 'imgbb', 'imgbox', 'pixhost', 'ptpimg', 'ra', 'rfximg')))), screenshots_count=Integer(3, min=3, max=10), confirm=Bool('no')), sc: ScTrackerConfig = ScTrackerConfig(exclude=ListOfRegex((Regex('\\.(?i:sfv|md5)$'), Regex('(?i:/extras/|/.+[\\. ]extras[\\. ]|/.+[\\. ]extra[\\. ]?\\d+[\\.])'), Regex('/(?:\\.fuse_hidden\\d+|\\.Trash/.*|\\.Trash-\\d+/.*|\\.DS_Store|\\.Trashes/.*|desktop\\.ini|Thumbs\\.db|@eaDir/.*|.*@SynoEAStream|.*@SynoResource|.*\\.miniso|.*dvdid\\.xml|.*\\.nzb|.*\\.par2|.*\\.srr|.*\\.srs|.*\\.torrent)$'), Regex('(?i:^(?!.*/(BDMV|VIDEO_TS)/).*\\.(png|jpg|jpeg)$)'), Regex('\\.(?i:nfo)$'), Regex('(?i:/[!_0-]?sample/|[^/][\\.\\-_ ]sample\\.mkv|/sample[\\!\\-_].+\\.mkv|[\\.\\-_!]?sample-[a-zA-Z0-9]+\\.mkv|/[!#$%&*+\\-\\.]?sample\\.mkv)'))), add_to='', copy_to='', base_url='https://secret-cinema.pw/', username='', password=SecretStr(''), cookies_filepath='', announce_url=SecretStr(''), image_host=ListOfImagehost((Imagehost('imgbox', options=('freeimage', 'imgbb', 'imgbox', 'pixhost', 'ptpimg', 'ra')), Imagehost('freeimage', options=('freeimage', 'imgbb', 'imgbox', 'pixhost', 'ptpimg', 'ra')))), screenshots_count=Integer(3, min=3, max=10), confirm=Bool('no')))
Bases:
_TrackersConfig- defaults = TrackersConfigDefaults(ant=AntTrackerConfigDefaults(exclude=ListOfRegex((Regex('\\.(?i:sfv|md5)$'), Regex('/(?:\\.fuse_hidden\\d+|\\.Trash/.*|\\.Trash-\\d+/.*|\\.DS_Store|\\.Trashes/.*|desktop\\.ini|Thumbs\\.db|@eaDir/.*|.*@SynoEAStream|.*@SynoResource|.*\\.miniso|.*dvdid\\.xml|.*\\.nzb|.*\\.par2|.*\\.srr|.*\\.srs|.*\\.torrent)$'), Regex('(?i:^(?!.*/(BDMV|VIDEO_TS)/).*\\.(png|jpg|jpeg)$)'), Regex('\\.(?i:nfo)$'), Regex('(?i:/[!_0-]?sample/|[^/][\\.\\-_ ]sample\\.mkv|/sample[\\!\\-_].+\\.mkv|[\\.\\-_!]?sample-[a-zA-Z0-9]+\\.mkv|/[!#$%&*+\\-\\.]?sample\\.mkv)'))), add_to='', copy_to='', base_url='https://anthelion.me', apikey=SecretStr(''), announce_url=SecretStr(''), anonymous=Bool('no'), confirm=Bool('no')), bhd=BhdTrackerConfigDefaults(exclude=ListOfRegex((Regex('\\.(?i:sfv|md5)$'), Regex('(?i:/extras/|/.+[\\. ]extras[\\. ]|/.+[\\. ]extra[\\. ]?\\d+[\\.])'), Regex('/(?:\\.fuse_hidden\\d+|\\.Trash/.*|\\.Trash-\\d+/.*|\\.DS_Store|\\.Trashes/.*|desktop\\.ini|Thumbs\\.db|@eaDir/.*|.*@SynoEAStream|.*@SynoResource|.*\\.miniso|.*dvdid\\.xml|.*\\.nzb|.*\\.par2|.*\\.srr|.*\\.srs|.*\\.torrent)$'), Regex('(?i:^(?!.*/(BDMV|VIDEO_TS)/).*\\.(png|jpg|jpeg)$)'), Regex('\\.(?i:nfo)$'), Regex('(?i:/[!_0-]?sample/|[^/][\\.\\-_ ]sample\\.mkv|/sample[\\!\\-_].+\\.mkv|[\\.\\-_!]?sample-[a-zA-Z0-9]+\\.mkv|/[!#$%&*+\\-\\.]?sample\\.mkv)'), Regex('\\.(?i:srt|idx|sub)$'))), add_to='', copy_to='', upload_url='https://beyond-hd.me/api/upload', announce_url='https://tracker.beyond-hd.me:2053/announce', announce_passkey=SecretStr(''), apikey=SecretStr(''), anonymous=Bool('no'), draft=Bool('no'), image_host=ListOfImagehost((Imagehost('imgbox', options=('imgbb', 'imgbox', 'pixhost', 'ptpimg')),)), screenshots_count=Integer(4, min=3, max=10), confirm=Bool('no')), cbr=CbrTrackerConfigDefaults(exclude=ListOfRegex((Regex('\\.(?i:sfv|md5)$'), Regex('(?i:/extras/|/.+[\\. ]extras[\\. ]|/.+[\\. ]extra[\\. ]?\\d+[\\.])'), Regex('/(?:\\.fuse_hidden\\d+|\\.Trash/.*|\\.Trash-\\d+/.*|\\.DS_Store|\\.Trashes/.*|desktop\\.ini|Thumbs\\.db|@eaDir/.*|.*@SynoEAStream|.*@SynoResource|.*\\.miniso|.*dvdid\\.xml|.*\\.nzb|.*\\.par2|.*\\.srr|.*\\.srs|.*\\.torrent)$'), Regex('(?i:^(?!.*/(BDMV|VIDEO_TS)/).*\\.(png|jpg|jpeg)$)'), Regex('\\.(?i:nfo)$'), Regex('(?i:/[!_0-]?sample/|[^/][\\.\\-_ ]sample\\.mkv|/sample[\\!\\-_].+\\.mkv|[\\.\\-_!]?sample-[a-zA-Z0-9]+\\.mkv|/[!#$%&*+\\-\\.]?sample\\.mkv)'))), add_to='', copy_to='', base_url='https://capybarabr.com', announce_url=SecretStr(''), apikey=SecretStr(''), anonymous=Bool('no'), image_host=ListOfImagehost((Imagehost('imgbox', options=('freeimage', 'imgbb', 'imgbox', 'pixhost', 'ptpimg', 'ra')), Imagehost('freeimage', options=('freeimage', 'imgbb', 'imgbox', 'pixhost', 'ptpimg', 'ra')))), screenshots_count=Integer(4, min=3, max=10), confirm=Bool('no')), fld=FldTrackerConfigDefaults(exclude=ListOfRegex((Regex('\\.(?i:sfv|md5)$'), Regex('(?i:/extras/|/.+[\\. ]extras[\\. ]|/.+[\\. ]extra[\\. ]?\\d+[\\.])'), Regex('/(?:\\.fuse_hidden\\d+|\\.Trash/.*|\\.Trash-\\d+/.*|\\.DS_Store|\\.Trashes/.*|desktop\\.ini|Thumbs\\.db|@eaDir/.*|.*@SynoEAStream|.*@SynoResource|.*\\.miniso|.*dvdid\\.xml|.*\\.nzb|.*\\.par2|.*\\.srr|.*\\.srs|.*\\.torrent)$'), Regex('(?i:^(?!.*/(BDMV|VIDEO_TS)/).*\\.(png|jpg|jpeg)$)'), Regex('\\.(?i:nfo)$'), Regex('(?i:/[!_0-]?sample/|[^/][\\.\\-_ ]sample\\.mkv|/sample[\\!\\-_].+\\.mkv|[\\.\\-_!]?sample-[a-zA-Z0-9]+\\.mkv|/[!#$%&*+\\-\\.]?sample\\.mkv)'))), add_to='', copy_to='', upload_url='https://flood.st/api/torrents/upload', announce_url='https://flood.st/announce', announce_key=SecretStr(''), apikey=SecretStr(''), anonymous=Bool('no'), image_host=ListOfImagehost((Imagehost('imgbox', options=('freeimage', 'imgbb', 'imgbox', 'ptpimg')),)), screenshots_count=Integer(4, min=3, max=10), confirm=Bool('no')), mtv=MtvTrackerConfigDefaults(exclude=ListOfRegex((Regex('\\.(?i:sfv|md5)$'), Regex('(?i:/extras/|/.+[\\. ]extras[\\. ]|/.+[\\. ]extra[\\. ]?\\d+[\\.])'), Regex('/(?:\\.fuse_hidden\\d+|\\.Trash/.*|\\.Trash-\\d+/.*|\\.DS_Store|\\.Trashes/.*|desktop\\.ini|Thumbs\\.db|@eaDir/.*|.*@SynoEAStream|.*@SynoResource|.*\\.miniso|.*dvdid\\.xml|.*\\.nzb|.*\\.par2|.*\\.srr|.*\\.srs|.*\\.torrent)$'), Regex('(?i:^(?!.*/(BDMV|VIDEO_TS)/).*\\.(png|jpg|jpeg)$)'), Regex('\\.(?i:nfo)$'), Regex('(?i:/[!_0-]?sample/|[^/][\\.\\-_ ]sample\\.mkv|/sample[\\!\\-_].+\\.mkv|[\\.\\-_!]?sample-[a-zA-Z0-9]+\\.mkv|/[!#$%&*+\\-\\.]?sample\\.mkv)'), Regex('\\.(?i:srt|idx|sub)$'))), add_to='', copy_to='', base_url='https://www.morethantv.me', username='', password=SecretStr(''), cookies_filepath='', announce_url=SecretStr(''), image_host=ListOfImagehost((Imagehost('imgbox', options=('imgbb', 'imgbox', 'ptpimg')),)), screenshots_count=Integer(4, min=3, max=10), anonymous=Bool('no'), confirm=Bool('no')), nbl=NblTrackerConfigDefaults(exclude=ListOfRegex((Regex('/(?:\\.fuse_hidden\\d+|\\.Trash/.*|\\.Trash-\\d+/.*|\\.DS_Store|\\.Trashes/.*|desktop\\.ini|Thumbs\\.db|@eaDir/.*|.*@SynoEAStream|.*@SynoResource|.*\\.miniso|.*dvdid\\.xml|.*\\.nzb|.*\\.par2|.*\\.srr|.*\\.srs|.*\\.torrent)$'),)), add_to='', copy_to='', upload_url='https://nebulance.io/upload.php', apikey=SecretStr(''), announce_url=SecretStr(''), anonymous=Bool('no'), confirm=Bool('no')), ptp=PtpTrackerConfigDefaults(exclude=ListOfRegex((Regex('\\.(?i:sfv|md5)$'), Regex('/(?:\\.fuse_hidden\\d+|\\.Trash/.*|\\.Trash-\\d+/.*|\\.DS_Store|\\.Trashes/.*|desktop\\.ini|Thumbs\\.db|@eaDir/.*|.*@SynoEAStream|.*@SynoResource|.*\\.miniso|.*dvdid\\.xml|.*\\.nzb|.*\\.par2|.*\\.srr|.*\\.srs|.*\\.torrent)$'), Regex('(?i:^(?!.*/(BDMV|VIDEO_TS)/).*\\.(png|jpg|jpeg)$)'), Regex('\\.(?i:nfo)$'), Regex('(?i:/[!_0-]?sample/|[^/][\\.\\-_ ]sample\\.mkv|/sample[\\!\\-_].+\\.mkv|[\\.\\-_!]?sample-[a-zA-Z0-9]+\\.mkv|/[!#$%&*+\\-\\.]?sample\\.mkv)'))), add_to='', copy_to='', base_url='https://passthepopcorn.me', username='', password=SecretStr(''), cookies_filepath='', announce_url=SecretStr(''), image_host=ListOfImagehost((Imagehost('ptpimg', options=('freeimage', 'imgbb', 'pixhost', 'ptpimg', 'ra')), Imagehost('freeimage', options=('freeimage', 'imgbb', 'pixhost', 'ptpimg', 'ra')))), screenshots_from_movie=Integer(3, min=3, max=10), screenshots_from_episode=Integer(2, min=2, max=10), confirm=Bool('no')), rfx=RfxTrackerConfigDefaults(exclude=ListOfRegex((Regex('/(?:\\.fuse_hidden\\d+|\\.Trash/.*|\\.Trash-\\d+/.*|\\.DS_Store|\\.Trashes/.*|desktop\\.ini|Thumbs\\.db|@eaDir/.*|.*@SynoEAStream|.*@SynoResource|.*\\.miniso|.*dvdid\\.xml|.*\\.nzb|.*\\.par2|.*\\.srr|.*\\.srs|.*\\.torrent)$'),)), add_to='', copy_to='', upload_url='https://reelflix.cc/api/torrents/upload', announce_url='https://reelflix.cc/announce', announce_passkey=SecretStr(''), apikey=SecretStr(''), anonymous=Bool('no'), image_host=ListOfImagehost((Imagehost('imgbox', options=('freeimage', 'imgbb', 'imgbox', 'pixhost', 'ptpimg', 'ra', 'rfximg')), Imagehost('freeimage', options=('freeimage', 'imgbb', 'imgbox', 'pixhost', 'ptpimg', 'ra', 'rfximg')))), screenshots_count=Integer(3, min=3, max=10), confirm=Bool('no')), sc=ScTrackerConfigDefaults(exclude=ListOfRegex((Regex('\\.(?i:sfv|md5)$'), Regex('(?i:/extras/|/.+[\\. ]extras[\\. ]|/.+[\\. ]extra[\\. ]?\\d+[\\.])'), Regex('/(?:\\.fuse_hidden\\d+|\\.Trash/.*|\\.Trash-\\d+/.*|\\.DS_Store|\\.Trashes/.*|desktop\\.ini|Thumbs\\.db|@eaDir/.*|.*@SynoEAStream|.*@SynoResource|.*\\.miniso|.*dvdid\\.xml|.*\\.nzb|.*\\.par2|.*\\.srr|.*\\.srs|.*\\.torrent)$'), Regex('(?i:^(?!.*/(BDMV|VIDEO_TS)/).*\\.(png|jpg|jpeg)$)'), Regex('\\.(?i:nfo)$'), Regex('(?i:/[!_0-]?sample/|[^/][\\.\\-_ ]sample\\.mkv|/sample[\\!\\-_].+\\.mkv|[\\.\\-_!]?sample-[a-zA-Z0-9]+\\.mkv|/[!#$%&*+\\-\\.]?sample\\.mkv)'))), add_to='', copy_to='', base_url='https://secret-cinema.pw/', username='', password=SecretStr(''), cookies_filepath='', announce_url=SecretStr(''), image_host=ListOfImagehost((Imagehost('imgbox', options=('freeimage', 'imgbb', 'imgbox', 'pixhost', 'ptpimg', 'ra')), Imagehost('freeimage', options=('freeimage', 'imgbb', 'imgbox', 'pixhost', 'ptpimg', 'ra')))), screenshots_count=Integer(3, min=3, max=10), confirm=Bool('no')))
Class property that holds an instance of this class with default values
See
_CreateDefaults.
- model_config = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'validate_assignment': True, 'validate_default': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].