async def process(self, object_dict):
<EOL>try:<EOL><INDENT>if type(object_dict) == str:<EOL><INDENT>existing = EmbyObject.known_objects.get(object_dict)<EOL>if existing:<EOL><INDENT>return existing<EOL><DEDENT>obj = EmbyObject({"<STR_LIT>":object_dict}, self.connector, save=False)<EOL>object_dict = (await obj.update()).object_dict<EOL><DEDENT><DEDENT>except:<EOL><INDENT>return None<EOL><DEDENT>if not object_dict or isinstance(object_dict, EmbyObject):<EOL><INDENT>return object_dict<EOL><DEDENT>if type(object_dict)       == dict andset(object_dict.keys()) == {'<STR_LIT>', '<STR_LIT>'}:<EOL><INDENT>object_dict = object_dict['<STR_LIT>']<EOL><DEDENT>if type(object_dict) == list:<EOL><INDENT>items = []<EOL>for item in object_dict:<EOL><INDENT>item = await self.process(item)<EOL>if item:<EOL><INDENT>items.append(item)<EOL><DEDENT><DEDENT>return items<EOL><DEDENT>if '<STR_LIT>' not in object_dict and '<STR_LIT>' not in object_dict:<EOL><INDENT>return object_dict<EOL><DEDENT>itemId   = object_dict.get('<STR_LIT>', object_dict.get('<STR_LIT>'))<EOL>existing = EmbyObject.known_objects.get(itemId)<EOL>if existing:<EOL><INDENT>existing.object_dict.update(object_dict)<EOL>return existing<EOL><DEDENT>import embypy.objects.folders<EOL>import embypy.objects.videos<EOL>import embypy.objects.misc<EOL>if '<STR_LIT>' in object_dict:<EOL><INDENT>if object_dict['<STR_LIT>'] == '<STR_LIT>':<EOL><INDENT>return embypy.objects.misc.Audio(object_dict, self.connector)<EOL><DEDENT>if object_dict['<STR_LIT>'] == '<STR_LIT>':<EOL><INDENT>return embypy.objects.misc.Person(object_dict, self.connector)<EOL><DEDENT>if object_dict['<STR_LIT>'] == '<STR_LIT>':<EOL><INDENT>return embypy.objects.videos.Video(object_dict, self.connector)<EOL><DEDENT>if object_dict['<STR_LIT>'] == '<STR_LIT>':<EOL><INDENT>return embypy.objects.videos.Movie(object_dict, self.connector)<EOL><DEDENT>if object_dict['<STR_LIT>'] == '<STR_LIT>':<EOL><INDENT>return embypy.objects.videos.Trailer(object_dict, self.connector)<EOL><DEDENT>if object_dict['<STR_LIT>'] == '<STR_LIT>':<EOL><INDENT>return embypy.objects.videos.AdultVideo(object_dict, self.connector)<EOL><DEDENT>if object_dict['<STR_LIT>'] == '<STR_LIT>':<EOL><INDENT>return embypy.objects.videos.MusicVideo(object_dict, self.connector)<EOL><DEDENT>if object_dict['<STR_LIT>'] == '<STR_LIT>':<EOL><INDENT>return embypy.objects.videos.Episode(object_dict, self.connector)<EOL><DEDENT>if object_dict['<STR_LIT>'] == '<STR_LIT>':<EOL><INDENT>return embypy.objects.folders.Folder(object_dict, self.connector)<EOL><DEDENT>if object_dict['<STR_LIT>'] == '<STR_LIT>':<EOL><INDENT>return embypy.objects.folders.Playlist(object_dict, self.connector)<EOL><DEDENT>if object_dict['<STR_LIT>'] == '<STR_LIT>':<EOL><INDENT>return embypy.objects.folders.BoxSet(object_dict, self.connector)<EOL><DEDENT>if object_dict['<STR_LIT>'] == '<STR_LIT>':<EOL><INDENT>return embypy.objects.folders.MusicAlbum(object_dict, self.connector)<EOL><DEDENT>if object_dict['<STR_LIT>'] == '<STR_LIT>':<EOL><INDENT>return embypy.objects.folders.MusicArtist(object_dict, self.connector)<EOL><DEDENT>if object_dict['<STR_LIT>'] == '<STR_LIT>':<EOL><INDENT>return embypy.objects.folders.Season(object_dict, self.connector)<EOL><DEDENT>if object_dict['<STR_LIT>'] == '<STR_LIT>':<EOL><INDENT>return embypy.objects.folders.Series(object_dict, self.connector)<EOL><DEDENT>if object_dict['<STR_LIT>'] == '<STR_LIT>':<EOL><INDENT>return embypy.objects.misc.Game(object_dict, self.connector)<EOL><DEDENT>if object_dict['<STR_LIT>'] == '<STR_LIT>':<EOL><INDENT>return embypy.objects.folders.GameSystem(object_dict, self.connector)<EOL><DEDENT>if object_dict['<STR_LIT>'] == '<STR_LIT>':<EOL><INDENT>return embypy.objects.misc.Photo(object_dict, self.connector)<EOL><DEDENT>if object_dict['<STR_LIT>'] == '<STR_LIT>':<EOL><INDENT>return embypy.objects.misc.Book(object_dict, self.connector)<EOL><DEDENT>if object_dict['<STR_LIT>'] == '<STR_LIT>':<EOL><INDENT>return embypy.objects.misc.Image(object_dict, self.connector)<EOL><DEDENT><DEDENT>elif '<STR_LIT>' in object_dict:<EOL><INDENT>return embypy.objects.misc.Device(object_dict, self.connector)<EOL><DEDENT>elif '<STR_LIT>' in object_dict:<EOL><INDENT>return embypy.objects.misc.User(object_dict, self.connector)<EOL><DEDENT>return EmbyObject(object_dict, self.connector)<EOL>
[for internal use] convert json/dict into python object

        |coro|

        Parameters
        ----------
        object_dict : dict
          json representation of object from emby

        Notes
        -----
        if a string is given, it is assumed to be an id, obj is returned.
        if a list is given, this method is called for each item in list.

        Returns
        -------
        EmbyObject
          the object that is represented by the json dict
        list
          if input is a list, list is returned