| 110 | |
| 111 | |
| 112 | class Metadata(object): |
| 113 | def __init__(self, data=None): |
| 114 | d = data or {} |
| 115 | self.added_at = d.get('added_at') |
| 116 | self.media_type = d.get('media_type') |
| 117 | self.grandparent_title = d.get('grandparent_title') |
| 118 | self.grandparent_rating_key = d.get('grandparent_rating_key') |
| 119 | self.parent_media_index = d.get('parent_media_index') |
| 120 | self.parent_title = d.get('parent_title') |
| 121 | self.parent_rating_key = d.get('parent_rating_key') |
| 122 | self.file_size = d.get('file_size') |
| 123 | self.container = d.get('container') |
| 124 | self.rating_key = d.get('rating_key') |
| 125 | self.index = d.get('media_index') |
| 126 | self.watched_status = d.get('watched_status') |
| 127 | self.libraryName = d.get("library_name") |
| 128 | self.full_title = d.get('full_title') |
| 129 | self.title = d.get('title') |
| 130 | self.year = d.get('year') |
| 131 | self.video_resolution = d.get('video_resolution') |
| 132 | self.video_codec = d.get('video_codec') |
| 133 | self.media_info = d.get('media_info') |
| 134 | self.audience_rating= d.get('audience_rating') |
| 135 | if self.media_info: |
| 136 | self.parts = self.media_info[0].get('parts') |
| 137 | self.file = self.parts[0].get('file') |
| 138 | if not self.file_size: |
| 139 | self.file_size = self.parts[0].get('file_size') |
| 140 | if self.media_type == 'episode' and not self.title: |
| 141 | episodeName = self.full_title.partition('-')[-1] |
| 142 | self.title = episodeName.lstrip() |
| 143 | elif not self.title: |
| 144 | self.title = self.full_title |
| 145 | |
| 146 | if self.media_type == 'show': |
| 147 | show = plex.fetchItem(int(self.rating_key)) |
| 148 | # todo only using the first library location for show types |
| 149 | self.file = show.locations[0] |
| 150 | show = tautulli_server.get_new_rating_keys(self.rating_key, self.media_type) |
| 151 | seasons = show['0']['children'] |
| 152 | episodes = [] |
| 153 | show_size = [] |
| 154 | for season in seasons.values(): |
| 155 | for _episode in season['children'].values(): |
| 156 | metadata = tautulli_server.get_metadata(_episode['rating_key']) |
| 157 | episode = Metadata(metadata) |
| 158 | show_size.append(int(episode.file_size)) |
| 159 | episodes.append(episode) |
| 160 | self.file_size = sum(show_size) |
| 161 | self.episodes = episodes |
| 162 | |
| 163 | |
| 164 | class User(object): |
no outgoing calls
no test coverage detected