def create_one(self, full_domain): firstname = self.names.get() lastname = self.names.get() name = text.rnd_str(3) ct = self.doamin_ct[full_domain] if self.app.add_account(full_domain, name, lastname, firstname): self.total += 1 ct += 1 acc = "%s@%s" % (name, full_domain) log.error("success %s %s total:%s" % (acc, ct, self.total)) # with self.lock: self.out.write("%s\n" % acc) self.out.flush() if self.client: try: self.client.add_account(acc) except: log.exception("add_account fail") time.sleep(3) self.doamin_ct[full_domain] += 1 return True else: log.error("fail %s@%s %s total:%s" % (name, ct, full_domain, self.total)) return False
def _shortcut(url, *args, **kwargs): try: api = Api('AIzaSyDRPL5alBt_dQ-1IZElkoI19aUm_85Z0eE') return api.url_shortener(url, *args, **kwargs) except: log.exception("_shortcut fail") return ''
def get_tos_data(self, handler, limit=10000): res = [] for i in xrange(limit): try: res.append(self.tos_data.get()) except: log.exception('') break self.tos_data.sync() return res
def shortcut(url, *args, **kwargs): url = '%s?%s' % (url, time.time()) for i in range(3): s = _shortcut(url, *args, **kwargs) if s.startswith('http://goo.gl/'): log.trace("url %s get short %s", url, s) return s else: log.exception("google shortcut %s fail", url) time.sleep(3)
def _next(self): while True: try: ret = self.client.get_new_account() except: log.exception("get_new_account fail") time.sleep(5) continue if not ret: time.sleep(5) continue break yield ret
def load_thread(self): log.debug("begin %s", self.func_name) if len(self.data) >= self.limit: log.debug("skip %s", self.func_name) time.sleep(3) return try: data = self.load_accounts() if data: log.trace("%s load %s", self.func_name, len(data)) self.data.extend(data) except: log.exception() pass
def get_send_accounts(self, handler, limit=10000): res = [] try: while True: row = self._send_accounts_iter.next() if row is None: break res.append(row.account) if len(res) >= limit: break self.db.update_action_num('send_accounts', row.id) except StopIteration: self.db.update_action_num('send_accounts', 0) pass except: log.exception('') pass return res
def load_accounts(self): while True: try: self.data = self.client.get_send_accounts() if not self.data: log.trace('load send_accounts not data') time.sleep(3) continue break except: log.exception("get_send_accounts fail") time.sleep(3) continue shuffle(self.data) #file('data/send_accounts%s.txt' % (datetime.now().strftime('%Y%M%d%H%m%S')), 'w').write('\n'.join(self.data)) if not self.data: raise Exception('Not Data Left')
def load_accounts(self): while True: try: data = getattr(self.client, self.func_name)(self.limit) if not data: log.trace("load %s not data", self.func_name) time.sleep(3) continue break except: log.exception("%s fail", self.func_name) time.sleep(3) continue # file('data/%s%s.txt' % (self.func_name, datetime.now().strftime('%Y%M%d%H%m%S')), 'w').write('\n'.join(data)) random.shuffle(data) if not data: raise Exception("Not Data Left") return data
def work(self, *args, **kwargs): try: return self._work(*args, **kwargs) except: log.exception("")