-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathdb.py
More file actions
35 lines (33 loc) · 1.03 KB
/
Copy pathdb.py
File metadata and controls
35 lines (33 loc) · 1.03 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
class User:
def __init__(self, screen_name):
self.screen_name = screen_name
# TODO: self.is_trusted = False
class Mention:
def __init__(self):
self.users = set()
self.urls = set()
self.tweets = set()
def __str__(self):
result = '(users: ' + ' '.join(self.users) + ')'
result += ' (urls: ' + ' '.join(self.urls) + ')'
result += ' (tweets: ' + ' '.join(self.tweets) + ')'
return result
def as_dict(self):
result = {}
result['users'] = sorted(self.users)
result['urls'] = sorted(self.urls)
result['tweets'] = sorted(self.tweets)
return result
class Tweet:
def __init__(self, text, time, author, mention):
self.text = text
self.time = time
self.author = author
self.mention = mention
def __str__(self):
return 'author: {}\ntime: {}\nmention: {}\ntext: {}\n'.format(
self.author, self.time, self.mention, self.text
)
def as_dict(self):
return { 'text':self.text, 'time':self.time, 'author':self.author
, 'mention':self.mention.as_dict() }