Index: plaso/parsers/sqlite_plugins/twitter_ios.py |
diff --git a/plaso/parsers/sqlite_plugins/twitter_ios.py b/plaso/parsers/sqlite_plugins/twitter_ios.py |
index 2c27f795991184e30659bf06d2829345beb8fd45..bcc80c2851762564caf49074bbb3a06ca9194079 100644 |
--- a/plaso/parsers/sqlite_plugins/twitter_ios.py |
+++ b/plaso/parsers/sqlite_plugins/twitter_ios.py |
@@ -92,6 +92,86 @@ class TwitterIOSPlugin(interface.SQLitePlugin): |
u'Lists', u'MyRetweets', u'StatusesShadow', u'UsersShadow', |
u'ListsShadow', u'Statuses', u'Users']) |
+ SCHEMAS = [{ |
+ u'Lists': ( |
+ u'CREATE TABLE Lists ( \'id\' INTEGER PRIMARY KEY, \'name\' TEXT, ' |
+ u'\'slug\' TEXT, \'desc\' TEXT, \'private\' INTEGER, ' |
+ u'\'subscriberCount\' INTEGER, \'memberCount\' INTEGER, \'userId\' ' |
+ u'INTEGER, \'updatedAt\' REAL )'), |
+ u'ListsShadow': ( |
+ u'CREATE TABLE ListsShadow ( \'id\' INTEGER PRIMARY KEY, \'name\' ' |
+ u'TEXT, \'slug\' TEXT, \'desc\' TEXT, \'private\' INTEGER, ' |
+ u'\'subscriberCount\' INTEGER, \'memberCount\' INTEGER, \'userId\' ' |
+ u'INTEGER, \'updatedAt\' REAL )'), |
+ u'MyRetweets': ( |
+ u'CREATE TABLE MyRetweets ( \'statusId\' INTEGER PRIMARY KEY, ' |
+ u'\'myRetweetId\' INTEGER )'), |
+ u'Statuses': ( |
+ u'CREATE TABLE Statuses ( \'id\' INTEGER PRIMARY KEY, \'text\' TEXT, ' |
+ u'\'date\' REAL, \'userId\' INTEGER, \'inReplyToStatusId\' INTEGER, ' |
+ u'\'retweetedStatusId\' INTEGER, \'geotag\' BLOB, \'entities\' BLOB, ' |
+ u'\'card\' BLOB, \'cardUsers\' BLOB, \'primaryCardType\' INTEGER, ' |
+ u'\'cardVersion\' INTEGER, \'retweetCount\' INTEGER, ' |
+ u'\'favoriteCount\' INTEGER, \'favorited\' INTEGER, \'updatedAt\' ' |
+ u'REAL, \'extraScribeItem\' BLOB, \'withheldScope\' TEXT, ' |
+ u'\'withheldInCountries\' TEXT, \'inReplyToUsername\' TEXT, ' |
+ u'\'possiblySensitive\' INTEGER, \'isPossiblySensitiveAppealable\' ' |
+ u'INTEGER, \'isLifelineAlert\' INTEGER, \'isTruncated\' INTEGER, ' |
+ u'\'previewLength\' INTEGER, \'fullTextLength\' INTEGER, \'lang\' ' |
+ u'TEXT, \'supplmentalLanguage\' TEXT, \'includeInProfileTimeline\' ' |
+ u'INTEGER, \'quotedStatusId\' INTEGER, \'source\' TEXT )'), |
+ u'StatusesShadow': ( |
+ u'CREATE TABLE StatusesShadow ( \'id\' INTEGER PRIMARY KEY, \'text\' ' |
+ u'TEXT, \'date\' REAL, \'userId\' INTEGER, \'inReplyToStatusId\' ' |
+ u'INTEGER, \'retweetedStatusId\' INTEGER, \'geotag\' BLOB, ' |
+ u'\'entities\' BLOB, \'card\' BLOB, \'cardUsers\' BLOB, ' |
+ u'\'primaryCardType\' INTEGER, \'cardVersion\' INTEGER, ' |
+ u'\'retweetCount\' INTEGER, \'favoriteCount\' INTEGER, \'favorited\' ' |
+ u'INTEGER, \'updatedAt\' REAL, \'extraScribeItem\' BLOB, ' |
+ u'\'withheldScope\' TEXT, \'withheldInCountries\' TEXT, ' |
+ u'\'inReplyToUsername\' TEXT, \'possiblySensitive\' INTEGER, ' |
+ u'\'isPossiblySensitiveAppealable\' INTEGER, \'isLifelineAlert\' ' |
+ u'INTEGER, \'isTruncated\' INTEGER, \'previewLength\' INTEGER, ' |
+ u'\'fullTextLength\' INTEGER, \'lang\' TEXT, ' |
+ u'\'supplementalLanguage\' TEXT, \'includeInProfileTimeline\' ' |
+ u'INTEGER, \'quotedStatusId\' INTEGER, \'source\' TEXT )'), |
+ u'Users': ( |
+ u'CREATE TABLE Users ( \'id\' INTEGER PRIMARY KEY, \'screenName\' ' |
+ u'TEXT COLLATE NOCASE, \'profileImageUrl\' TEXT, ' |
+ u'\'profileBannerUrl\' TEXT, \'profileLinkColorHexTriplet\' INTEGER, ' |
+ u'\'name\' TEXT, \'location\' TEXT, \'structuredLocation\' BLOB, ' |
+ u'\'description\' TEXT, \'url\' TEXT, \'urlEntities\' BLOB, ' |
+ u'\'bioEntities\' BLOB, \'protected\' INTEGER, \'verified\' INTEGER, ' |
+ u'\'following\' INTEGER, \'deviceFollowing\' INTEGER, ' |
+ u'\'advertiserAccountType\' INTEGER, \'statusesCount\' INTEGER, ' |
+ u'\'mediaCount\' INTEGER, \'favoritesCount\' INTEGER, ' |
+ u'\'followingCount\' INTEGER, \'followersCount\' INTEGER, ' |
+ u'\'followersCountFast\' INTEGER, \'followersCountNormal\' INTEGER, ' |
+ u'\'couldBeStale\' INTEGER, \'isLifelineInstitution\' INTEGER, ' |
+ u'\'hasCollections\' INTEGER, \'updatedAt\' REAL, \'createdDate\' ' |
+ u'REAL, \'isTranslator\' INTEGER, \'hasExtendedProfileFields\' ' |
+ u'INTEGER, \'extendedProfileFields\' BLOB, \'pinnedTweetId\' ' |
+ u'INTEGER, \'businessProfileState\' INTEGER, \'analyticsType\' ' |
+ u'INTEGER )'), |
+ u'UsersShadow': ( |
+ u'CREATE TABLE UsersShadow ( \'id\' INTEGER PRIMARY KEY, ' |
+ u'\'screenName\' TEXT COLLATE NOCASE, \'profileImageUrl\' TEXT, ' |
+ u'\'profileBannerUrl\' TEXT, \'profileLinkColorHexTriplet\' INTEGER, ' |
+ u'\'name\' TEXT, \'location\' TEXT, \'structuredLocation\' BLOB, ' |
+ u'\'description\' TEXT, \'url\' TEXT, \'urlEntities\' BLOB, ' |
+ u'\'bioEntities\' BLOB, \'protected\' INTEGER, \'verified\' INTEGER, ' |
+ u'\'following\' INTEGER, \'deviceFollowing\' INTEGER, ' |
+ u'\'advertiserAccountType\' INTEGER, \'statusesCount\' INTEGER, ' |
+ u'\'mediaCount\' INTEGER, \'favoritesCount\' INTEGER, ' |
+ u'\'followingCount\' INTEGER, \'followersCount\' INTEGER, ' |
+ u'\'followersCountFast\' INTEGER, \'followersCountNormal\' INTEGER, ' |
+ u'\'couldBeStale\' INTEGER, \'isLifelineInstitution\' INTEGER, ' |
+ u'\'hasCollections\' INTEGER, \'updatedAt\' REAL, \'createdDate\' ' |
+ u'REAL, \'isTranslator\' INTEGER, \'hasExtendedProfileFields\' ' |
+ u'INTEGER, \'extendedProfileFields\' BLOB, \'pinnedTweetId\' ' |
+ u'INTEGER, \'businessProfileState\' INTEGER, \'analyticsType\' ' |
+ u'INTEGER )')}] |
+ |
def ParseContactRow(self, parser_mediator, row, query=None, **unused_kwargs): |
"""Parses a contact row from the database. |