@@ -113,13 +113,31 @@ def _loadData(self, data):
113113 self .title = data .attrib .get ('title' )
114114 self .username = data .attrib .get ('username' )
115115 self .uuid = data .attrib .get ('uuid' )
116+ subscription = data .find ('subscription' )
117+
118+ self .subscriptionActive = utils .cast (bool , subscription .attrib .get ('active' ))
119+ self .subscriptionStatus = subscription .attrib .get ('status' )
120+ self .subscriptionPlan = subscription .attrib .get ('plan' )
121+
122+ self .subscriptionFeatures = []
123+ for feature in subscription .iter ('feature' ):
124+ self .subscriptionFeatures .append (feature .attrib .get ('id' ))
125+
126+ roles = data .find ('roles' )
127+ self .roles = []
128+ if roles :
129+ for role in roles .iter ('role' ):
130+ self .roles .append (role .attrib ('id' ))
131+
132+ entitlements = data .find ('entitlements' )
133+ self .entitlements = []
134+ for entitlement in entitlements .iter ('entitlement' ):
135+ self .entitlements .append (entitlement .attrib .get ('id' ))
136+
116137 # TODO: Fetch missing MyPlexAccount attributes
117- self .subscriptionActive = None # renamed on server
118- self .subscriptionStatus = None # renamed on server
119- self .subscriptionPlan = None # renmaed on server
120- self .subscriptionFeatures = None # renamed on server
121- self .roles = None
122- self .entitlements = None
138+ self .profile_settings = None
139+ self .services = None
140+ self .joined_at = None
123141
124142 def device (self , name ):
125143 """ Returns the :class:`~plexapi.myplex.MyPlexDevice` that matches the name specified.
0 commit comments