|
6 | 6 | from plexapi import log, settings, utils |
7 | 7 | from plexapi.base import PlexObject |
8 | 8 | from plexapi.exceptions import BadRequest |
| 9 | +from plexapi.utils import deprecated |
9 | 10 |
|
10 | 11 |
|
11 | 12 | @utils.registerPlexObject |
@@ -1058,31 +1059,50 @@ def _loadData(self, data): |
1058 | 1059 | self.hasAttribution = data.attrib.get('hasAttribution') |
1059 | 1060 | self.hasPrefs = data.attrib.get('hasPrefs') |
1060 | 1061 | self.identifier = data.attrib.get('identifier') |
| 1062 | + self.name = data.attrib.get('name') |
1061 | 1063 | self.primary = data.attrib.get('primary') |
1062 | 1064 | self.shortIdentifier = self.identifier.rsplit('.', 1)[1] |
| 1065 | + |
1063 | 1066 | if 'mediaType' in self._initpath: |
1064 | | - self.name = data.attrib.get('name') |
1065 | | - self.languageCode = [] |
1066 | | - for code in data: |
1067 | | - self.languageCode += [code.attrib.get('code')] |
| 1067 | + self.languageCodes = self.listAttrs(data, 'code', etag='Language') |
| 1068 | + self.mediaTypes = [] |
1068 | 1069 | else: |
1069 | | - self.mediaTypes = [AgentMediaType(server=self._server, data=d) for d in data] |
| 1070 | + self.languageCodes = [] |
| 1071 | + self.mediaTypes = self.findItems(data, cls=AgentMediaType) |
1070 | 1072 |
|
1071 | | - def _settings(self): |
| 1073 | + @property |
| 1074 | + @deprecated('use "languageCodes" instead') |
| 1075 | + def languageCode(self): |
| 1076 | + return self.languageCodes |
| 1077 | + |
| 1078 | + def settings(self): |
1072 | 1079 | key = '/:/plugins/%s/prefs' % self.identifier |
1073 | 1080 | data = self._server.query(key) |
1074 | 1081 | return self.findItems(data, cls=settings.Setting) |
1075 | 1082 |
|
| 1083 | + @deprecated('use "settings" instead') |
| 1084 | + def _settings(self): |
| 1085 | + return self.settings() |
| 1086 | + |
1076 | 1087 |
|
1077 | 1088 | class AgentMediaType(Agent): |
| 1089 | + """ Represents a single Agent MediaType. |
| 1090 | +
|
| 1091 | + Attributes: |
| 1092 | + TAG (str): 'MediaType' |
| 1093 | + """ |
| 1094 | + TAG = 'MediaType' |
1078 | 1095 |
|
1079 | 1096 | def __repr__(self): |
1080 | 1097 | uid = self._clean(self.firstAttr('name')) |
1081 | 1098 | return '<%s>' % ':'.join([p for p in [self.__class__.__name__, uid] if p]) |
1082 | 1099 |
|
1083 | 1100 | def _loadData(self, data): |
| 1101 | + self.languageCodes = self.listAttrs(data, 'code', etag='Language') |
1084 | 1102 | self.mediaType = utils.cast(int, data.attrib.get('mediaType')) |
1085 | 1103 | self.name = data.attrib.get('name') |
1086 | | - self.languageCode = [] |
1087 | | - for code in data: |
1088 | | - self.languageCode += [code.attrib.get('code')] |
| 1104 | + |
| 1105 | + @property |
| 1106 | + @deprecated('use "languageCodes" instead') |
| 1107 | + def languageCode(self): |
| 1108 | + return self.languageCodes |
0 commit comments