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)