def __init__(self, today): #获取所有直通车软件 self.id_data = SOFT_CODE.items() self.today = today self.yesterday = self.today - datetime.timedelta(days=1) self.id_name = '' self.order_dict = ZtcOrder.get_store_order(self.id_data, CURRENT_DIR, self.today)
def get_first_page_order(id): for day in range(1, 2): url = getUrl(id, str(day)) content = getWebPage(url).split('\n') order_dict = ZtcOrder.eval_ztc_order(content[1]) order_list = order_dict['data'] return order_list
def get_first_page_order(id): for day in range(1,2): url = getUrl(id, str(day)) content = getWebPage(url).split('\n') order_dict = ZtcOrder.eval_ztc_order(content[1]) order_list = order_dict['data'] return order_list
def get_store_order(self, date): """将文件中的已collect 到的order 导出 并增加唯一key""" self.order_dict = ZtcOrder.get_store_order(self.id_data, CURRENT_DIR, date) for id_name in self.order_dict: order_dict_key = self.order_dict[id_name] self.order_dict[id_name] = order_dict_key.values()
def write_order(self): file_name = ZtcOrder.get_file_name(CURRENT_DIR, self.today) file_obj = file(file_name, 'w') for key in self.order_dict: soft_order_dict = self.order_dict[key] for order in soft_order_dict.values(): outer = str(key)+','+order['nick']+','+order['version']+','+order['deadline']+','+order['payTime']+'\n' file_obj.write(outer) file_obj.close()
def make_report(self): """生成报表""" exact_num_dict = ZtcOrder.get_exact_num_dict() for id_info in self.id_data: self.id_name = id_info[0] id = id_info[1] report = self.count_order(self.id_name) report['add_num'] = sum(report.values()) report['id_name'] = self.id_name total_num = ZtcOrder.get_total_num(id) for key in NUM_TYPE: report[key] = total_num[key] exact_num = exact_num_dict[self.id_name] for i in range(len(EXACT_TYPE)): report[EXACT_TYPE[i]] = exact_num[i] self.result.append(report)
def get_order(self): for id_info in self.id_data: self.id_name = id_info[0] id = id_info[1] print 'id_name: ',self.id_name store_order = self.order_dict[self.id_name] order_list = self.get_order_by_soft(id, str(self.today)) print 'order_list len: ',len(order_list) for order in order_list: key = ZtcOrder.hash_ztc_order(order) if not store_order.has_key(key): store_order[key] = order
def get_order_by_soft(self, id, today): """ order:{'nick': '\xe4\xb9\x89**\xe5\x9f\x8e', 'version': '\xe9\x95\xbf\xe5\xb0\xbe\xe7\x89\x88', 'deadline': '3\xe4\xb8\xaa\xe6\x9c\x88', 'isB2CSeller': '0', 'rateSum': '2_4', 'rateNum': '', 'payTime': '2013-03-05 15:16:58', 'isTryoutSubed': 0, 'isPlanSubed': '0'} """ order_list = [] for page in range(1,16): flag = False url = self.getUrl(id, str(page)) content = self.getWebPage(url).split('\n') page_dict = ZtcOrder.eval_ztc_order(content[1]) page_list = page_dict['data'] for order in page_list: if order['payTime'].find(today) != -1: order_nick = order['nick'] if order_nick.find('<font title="') != -1: order_nick = order_nick.split('"') order['nick'] = order_nick[1] order_list.append(order) flag = True if not flag and order['payTime'].find(str(self.yesterday)) != -1: break return order_list