Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code | Sign in
(398)

Unified Diff: plaso/parsers/sqlite_plugins/twitter_ios.py

Issue 316460043: [plaso] Added database schema matching to sqlite plugins #1093 (Closed)
Patch Set: Changes after review Created 6 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Please Sign in to add in-line comments.
Jump to:
View side-by-side diff with in-line comments
Download patch
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.

Powered by Google App Engine
RSS Feeds Recent Issues | This issue
This is Rietveld f62528b