def _create_author_by_row(self, record_dict): author = Author() author_osn_id = self._convert_to_unicode_value(record_dict["tumblog_id"]) author.author_osn_id = author_osn_id author.name = author_osn_id author.domain = self._domain author.author_guid = compute_author_guid_by_author_name(author.name) tumblr_blog_name = self._convert_to_unicode_value(record_dict["tumblr_blog_name"]) author.author_screen_name = tumblr_blog_name author.description = self._convert_to_unicode_value(record_dict["tumblr_blog_description"]) created_time_epoch = self._convert_to_unicode_value(record_dict["created_time_epoch"]) if created_time_epoch is not None: datetime, str_datetime = convert_epoch_timestamp_to_datetime(created_time_epoch) author.created_at = str_datetime else: author.created_at = self._set_start_date() author.url = self._convert_to_unicode_value(record_dict["tumblr_blog_url"]) author.protected = get_boolean_value(record_dict["is_private"]) author.time_zone = self._convert_to_unicode_value(record_dict["timezone"]) author.language = self._convert_to_unicode_value(record_dict["language"]) is_private = record_dict["is_private"] if is_private == "TRUE": author.protected = 1 else: author.protected = 0 return author
def create_umlaut_author(self): umlaut_author = Author() umlaut_author.name = self.umlaut_author_name umlaut_author.domain = self._domain umlaut_author.author_guid = self.author_guid umlaut_author.author_full_name = self.umlaut_author_full_name umlaut_author.description = self.umlaut_author_description umlaut_author.language = self.umlaut_language umlaut_author.location = self.umlaut_location return umlaut_author
def _json_user_to_db_author_converter(self, user, domain='Instagram_author'): author = Author() author.name = user['username'] author.author_screen_name = author.name author.author_guid = compute_author_guid_by_author_name(author.name) author.domain = domain author.author_type = domain author.author_osn_id = user['id'] author.author_full_name = user['full_name'] author.description = user.setdefault('biography', None) author.url = 'https://www.instagram.com/' + author.author_screen_name author.profile_image_url = user['profile_pic_url'] return author
def updateAuthorsData(self): list_to_add = [] for dic in self._author_prop_dict: try: author = Author() author.name = dic['author'] author.domain = unicode('Microblog') author.author_osn_id = dic['author_osn_id'] author.author_guid = dic['author_guid'] author.followers_count = dic['followers_count'] author.location = dic['location'] author.favourites_count = dic['favorite'] author.description = dic['description'] author.url = dic['url'] list_to_add.append(author) except (ValueError, TypeError, KeyError) as e: logging.warn("Failed to add author: {0} - {1}".format(author.name, e)) self._db.update_authors(list_to_add)