def pdf_apply(): delete = request.form.get("delete") if delete: PdfSettings.remove_user_id(g.user.id) flash(u"删除PDF的请求提交成功,系统会在接下来的一天里删除掉PDF文件!", "tip") return redirect("/pdf") else: PdfSettings.add_user_id(g.user.id) flash(u"申请已通过,请明天早上来下载数据吧!", "tip") return redirect("/pdf")
def pdf(uid): user = User.get(uid) if not user: abort(404, "No such user") if uid != g.user.id and user.get_profile_item('user_privacy') == consts.USER_PRIVACY_PRIVATE: flash(u"由于该用户设置了仅自己可见的权限,所以,我们就看不到了", "tip") return redirect(url_for("timeline")) intros = [g.user.get_thirdparty_profile(x).get("intro") for x in config.OPENID_TYPE_DICT.values()] intros = filter(None, intros) pdf_files = [] start_date = Status.get_oldest_create_time(None, user.id) now = datetime.now() d = start_date while d and d <= now: pdf_filename = get_pdf_filename(user.id, d.strftime("%Y%m")) if is_pdf_file_exists(pdf_filename): full_file_name = get_pdf_full_filename(pdf_filename) pdf_files.append([d, pdf_filename, sizeof_fmt(os.path.getsize(full_file_name))]) days = calendar.monthrange(d.year, d.month)[1] d += timedelta(days=days) d = datetime(d.year, d.month, 1) files_dict = defaultdict(list) for date, filename, filesize in pdf_files: files_dict[date.year].append([date, filename, filesize]) pdf_applyed = PdfSettings.is_user_id_exists(g.user.id) return render_template("pdf.html", **locals())
def pdf(uid): user = User.get(uid) if not user: abort(404, "No such user") if uid != g.user.id and user.get_profile_item('user_privacy') == consts.USER_PRIVACY_PRIVATE: flash(u"由于该用户设置了仅自己可见的权限,所以,我们就看不到了", "tip") return redirect("/") intros = [g.user.get_thirdparty_profile(x).get("intro") for x in config.OPENID_TYPE_DICT.values()] intros = filter(None, intros) pdf_files = [] start_date = Status.get_oldest_create_time(None, user.id) now = datetime.now() d = start_date while d and d <= now: pdf_filename = get_pdf_filename(user.id, d.strftime("%Y%m")) if is_pdf_file_exists(pdf_filename): full_file_name = get_pdf_full_filename(pdf_filename) pdf_files.append([d, pdf_filename, sizeof_fmt(os.path.getsize(full_file_name))]) days = calendar.monthrange(d.year, d.month)[1] d += timedelta(days=days) d = datetime(d.year, d.month, 1) files_dict = defaultdict(list) for date, filename, filesize in pdf_files: files_dict[date.year].append([date, filename, filesize]) pdf_applyed = PdfSettings.is_user_id_exists(g.user.id) return render_template("v2/pdf.html", **locals())
import traceback print '%s %s' % (datetime.datetime.now(), traceback.format_exc()) def generate_pdf_by_user(user_id): user = User.get(user_id) if not user: return #XXX:暂时只生成2012年的(uid从98开始的用户) #XXX:暂时只生成2012年3月份的(uid从166开始的用户) start_date = Status.get_oldest_create_time(None, user_id) #start_date = datetime.datetime(2012, 3, 1, 0, 0, 0) if not start_date: return now = datetime.datetime.now() now = datetime.datetime(now.year, now.month, now.day) - datetime.timedelta(days = calendar.monthrange(now.year, now.month)[1]) d = start_date while d <= now: generate(user_id, d) days = calendar.monthrange(d.year, d.month)[1] d += datetime.timedelta(days=days) d = datetime.datetime(d.year, d.month, 1) if __name__ == "__main__": for uid in PdfSettings.get_all_user_ids(): print '------begin generate pdf of user:', uid generate_pdf_by_user(uid)
def generate_pdf_by_user(user_id): user = User.get(user_id) if not user: return #XXX:暂时只生成2012年的(uid从98开始的用户) #XXX:暂时只生成2012年3月份的(uid从166开始的用户) start_date = Status.get_oldest_create_time(None, user_id) #start_date = datetime.datetime(2012, 3, 1, 0, 0, 0) if not start_date: return now = datetime.datetime.now() now = datetime.datetime(now.year, now.month, now.day) - datetime.timedelta( days=calendar.monthrange(now.year, now.month)[1]) d = start_date while d <= now: generate(user_id, d) days = calendar.monthrange(d.year, d.month)[1] d += datetime.timedelta(days=days) d = datetime.datetime(d.year, d.month, 1) if __name__ == "__main__": for uid in PdfSettings.get_all_user_ids(): print '------begin generate pdf of user:', uid generate_pdf_by_user(uid)