def run(self): filemode = 'r+w' if self.file_exists else 'w' with open(ap(self.filename), filemode) as f: try: metadata_dict = json.load(f) if self.file_exists else {} except ValueError: metadata_dict = {} while not self.stoprequest.isSet(): try: json_chunk = self.qi.get(True, 0.5) except Empty: continue metadata_dict.update(json_chunk) self.qi.task_done() dump_json(metadata_dict, f)
def __init__(self, subdomain='slowed', user_id=None): self.subdomain = subdomain self._enforce_directories() self.session = self.s = rq.Session() self.s.headers.update({ 'User-Agent': '''Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_3) AppleWebKit/537.75.14 (KHTML, like Gecko) Version/7.0.3 Safari/7046A194A''' }) self.session.cookies.set('vs', self.access_token, domain='vsco.co') if self.subdomain == 'grid': self.user_id = self.vsco_grid_site_id else: self.user_id = self._grab_user_id_of_owner() \ if not user_id else user_id self.metadata_filename = '{}.json'.format(self.subdomain) self.metadata_filepath = ap(osp.join('meta', self.metadata_filename)) self._metadata_exists = lambda: osp.isfile(self.metadata_filepath)