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)
kodiRename.collector.deserializeTVInfo(pickleIO: BinaryIO) List[TVInfo][source]

Get Movie Information from File

Parameters:

pickleIO – Readable Binary I/O object

Returns:

List of TV Information

with open("output", "rb") as file:
    tv_info = kodiRename.collector.deserializeTVInfo(pickleIo=file)

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

file: fileInfo

Movie File Information

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

file: fileInfo

Episode File Information

season: int

Season number

title: str

Episode Title

tvShowId: int

TV Show ID