def to_dict(self): """Dump movie to a dictionary :return: Movie dictionary :rtype: :class:`~python:dict` """ result = self.to_identifier() result.update({ 'watched': 1 if self.is_watched else 0, 'collected': 1 if self.is_collected else 0, 'plays': self.plays if self.plays is not None else 0, 'in_watchlist': self.in_watchlist if self.in_watchlist is not None else 0, 'progress': self.progress, 'last_watched_at': to_iso8601_datetime(self.last_watched_at), 'collected_at': to_iso8601_datetime(self.collected_at), 'paused_at': to_iso8601_datetime(self.paused_at) }) if self.rating: result['rating'] = self.rating.value result['rated_at'] = to_iso8601_datetime(self.rating.timestamp) # Extended Info if self.released: result['released'] = to_iso8601_date(self.released) if self.updated_at: result['updated_at'] = to_iso8601_datetime(self.updated_at) if self.overview: result['overview'] = self.overview if self.tagline: result['tagline'] = self.tagline if self.runtime: result['runtime'] = self.runtime if self.certification: result['certification'] = self.certification if self.homepage: result['homepage'] = self.homepage if self.trailer: result['trailer'] = self.trailer if self.language: result['language'] = self.language if self.available_translations: result['available_translations'] = self.available_translations if self.genres: result['genres'] = self.genres return result