[+] Load user sample

This commit is contained in:
Hykilpikonna
2021-11-23 11:25:21 -05:00
parent 04a2c0aea9
commit 461f83918c
+25 -1
View File
@@ -5,6 +5,7 @@ from datetime import datetime, time
from typing import NamedTuple from typing import NamedTuple
from utils import * from utils import *
from dataclasses import dataclass
class UserPopularity(NamedTuple): class UserPopularity(NamedTuple):
@@ -83,6 +84,12 @@ def get_user_popularity_ranking(user: str, user_dir: str = './data/twitter/user/
return -1 return -1
@dataclass()
class Sample:
most_popular: list[UserPopularity]
random: list[UserPopularity]
def select_user_sample(user_dir: str = './data/twitter/user/') -> None: def select_user_sample(user_dir: str = './data/twitter/user/') -> None:
""" """
Select our sample of 500 most popular users and 500 random users who meet the criteria. The Select our sample of 500 most popular users and 500 random users who meet the criteria. The
@@ -113,7 +120,24 @@ def select_user_sample(user_dir: str = './data/twitter/user/') -> None:
# Save # Save
write(f'{user_dir}/processed/sample.json', write(f'{user_dir}/processed/sample.json',
json_stringify({'most_popular': most_popular, 'random': sample})) json_stringify(Sample(most_popular, sample)))
def load_user_sample(user_dir: str = './data/twitter/user/') -> Sample:
"""
Load the selected sample
:param user_dir: Download directory for users
:return: None
"""
user_dir = normalize_directory(user_dir)
j = json.loads(read(f'{user_dir}/processed/sample.json'))
return Sample([UserPopularity(*u) for u in j['most_popular']],
[UserPopularity(*u) for u in j['random']])
class Posting(NamedTuple): class Posting(NamedTuple):
""" """