Collector¶
This module is used for collecting information from Kodi
External Functions¶
- kodiRename.collector.getMovieInfo(config: ConfigSpec) List[MovieInfo][source]¶
Collect all Movies from Kodi and parse into Movie Information
- Parameters:
config – Configuration object
- Returns:
List of Movie Information collected from Kodi JSONRPC
- kodiRename.collector.getTvInfo(config: ConfigSpec) List[TVInfo][source]¶
Collect all Episodes and TV Shows from Kodi and parse into TV Information
- Parameters:
config – Configuration object
- Returns:
List of TV Information collected from Kodi JSONRPC
- kodiRename.collector.serializeMovieInfo(pickleIO: BinaryIO, movieInfo: List[MovieInfo]) None[source]¶
Write Movie Information to File
- Parameters:
pickleIO – Writeable Binary I/O object
movieInfo – List of Movie Information
movie_info = [] with open("output", "wb") as file: kodiRename.collector.serializeMovieInfo(pickleIo=file, movieInfo=movie_info)
- kodiRename.collector.deserializeMovieInfo(pickleIO: BinaryIO) List[MovieInfo][source]¶
Get Movie Information from File
- Parameters:
pickleIO – Readable Binary I/O object
- Returns:
Movie Information
with open("output", "rb") as file: movie_info = kodiRename.collector.deserializeMovieInfo(pickleIo=file)
- kodiRename.collector.serializeTVInfo(pickleIO: BinaryIO, tvInfo: List[TVInfo]) None[source]¶
Write Movie Information to File
- Parameters:
pickleIO – Writable Binary I/O object
movieInfo – List of TV Information
tv_info = [] with open("output", "wb") as file: kodiRename.collector.serializeTVInfo(pickleIo=file, movieInfo=tv_info)
Internal Functions¶
- kodiRename.collector.collector.getMovieData(config: ConfigSpec, start: int = 0, end: int = -1) List[dict][source]¶
Get Movie Information from Kodi JSONRPC
- Parameters:
config – Configuration object
start – Start ID to fetch
end – End ID to fetch
- Returns:
Dictionary List from Raw Data from JSONRPC
- kodiRename.collector.collector.getTvData(config: ConfigSpec, start: int = 0, end: int = -1) List[dict][source]¶
Get TV Information from Kodi JSONRPC
- Parameters:
config – Configuration object
start – Start ID to fetch
end – End ID to fetch
- Returns:
Dictionary List from Raw Data from JSONRPC
- kodiRename.collector.collector.getEpisodeData(config: ConfigSpec, start: int = 0, end: int = -1) List[dict][source]¶
Get Episode Information from Kodi JSONRPC
- Parameters:
config – Configuration object
start – Start ID to fetch
end – End ID to fetch
- Returns:
Dictionary List from Raw Data from JSONRPC
- kodiRename.collector.collector.parseMovieInfo(config: ConfigSpec, data: dict, appendRaw: bool = False) MovieInfo[source]¶
Parse data from Kodi JSONRPC into movie information
- Parameters:
config – Configuration object
data – Data from Kodi JSONRPC
appendRaw – Store data param in output if True
- Returns:
Movie Information
- kodiRename.collector.collector.parseTvInfo(data: dict, appendRaw: bool = False) TVInfo[source]¶
Parse data from Kodi JSONRPC into TV information
- Parameters:
data – Data from Kodi JSONRPC
appendRaw – Store data param in output if True
- Returns:
TV Information
- kodiRename.collector.collector.parseEpisodeInfo(config: ConfigSpec, data: dict, appendRaw: bool = False) EpisodeInfo[source]¶
Parse data from Kodi JSONRPC into episode information
- Parameters:
config – Configuration object
data – Data from Kodi JSONRPC
appendRaw – Store data param in output if True
- Returns:
Movie Information
- kodiRename.collector.collector.parseFileInfo(path: str, base_path: str) fileInfo[source]¶
Parse path strings to File Information
- Parameters:
path – Full path to file
base_path – Base Common Path
- Returns:
File Information
- kodiRename.collector.collector.replaceDriveMapping(path: str, drive_mapping: List[driveMappingConfig]) str[source]¶
Replace paths using the available drive mappings
- Parameters:
path – Path to file
drive_mapping – List of path replacements
- Returns:
Path where path is replaced with available drive mappings
- kodiRename.collector.collector.parseVideoFormat(video_details: List[dict]) str[source]¶
Use video details from Kodi JSONRPC to get the Video Format
- Params video_details:
Video details extracted from kodi data
- Returns:
String describing item Video Format
- kodiRename.collector.collector.slugify(source_string: str, remove_string: str = '%:/,.\\[]<>*?') str[source]¶
Remove undesirable characters from string
- Parameters:
source_string – Source string to perform remove on
remove_string – String containing characters to remove from source string
- Returns:
Source string without characters in remove_string
Data Classes¶
- class kodiRename.collector.fileInfo(path: str, parentPath: str, extension: str, filename: str, basePath: str)[source]¶
File information
- basePath: str¶
Base Common Path
- extension: str¶
File extension
- filename: str¶
File filename
- parentPath: str¶
Parent directory path
- path: str¶
Full path
- class kodiRename.collector.MovieInfo(title: str, year: int, file: fileInfo, formatString: str, data: dict | None = None)[source]¶
Movie Information describing items parsed from Kodi
- data: dict | None = None¶
Optional raw data fetched from Kodi
- formatString: str¶
Video Format, derived from video
- title: str¶
Movie Title
- year: int¶
Release Year
- class kodiRename.collector.TVInfo(title: str, year: int, tvShowId: int, seasonSet: ~typing.Set[int] = <factory>, episodes: ~typing.List[~kodiRename.collector.collector.EpisodeInfo] = <factory>, data: dict | None = None)[source]¶
TV Information describing items parsed from Kodi
- data: dict | None = None¶
Optional raw data fetched from Kodi
- episodes: List[EpisodeInfo]¶
List of episodes information
- seasonSet: Set[int]¶
Set containing season numbers
- title: str¶
TV Title
- tvShowId: int¶
TV Show ID
- year: int¶
Release Year
- class kodiRename.collector.EpisodeInfo(title: str, season: int, episode: int, tvShowId: int, file: fileInfo, data: dict | None = None)[source]¶
Episode Information describing items parsed from Kodi
- data: dict | None = None¶
Optional raw data fetched from Kodi
- episode: int¶
Episode number within season
- season: int¶
Season number
- title: str¶
Episode Title
- tvShowId: int¶
TV Show ID