def generate(user_id, date, order='asc'): try: uas = UserAlias.gets_by_user_id(user_id) if not uas: return start_date = datetime.datetime(date.year, date.month, 1) end_date = datetime.datetime(date.year, date.month, calendar.monthrange(date.year, date.month)[1], 23, 59, 59) pdf_filename = get_pdf_filename(user_id, date.strftime("%Y%m")) print '----generate pdf:', start_date, ' to ', end_date, ' file is', pdf_filename if is_pdf_file_exists(pdf_filename): print '---- %s exists, so ignore...' % pdf_filename return status_ids = Status.get_ids_by_date(user_id, start_date, end_date)[:900] if order == 'asc': status_ids = status_ids[::-1] if not status_ids: print '----- status ids is none', status_ids return generate_pdf(pdf_filename, user_id, status_ids, capacity=-1) if not is_pdf_file_exists(pdf_filename): print '----%s generate pdf for user:%s fail' % (datetime.datetime.now(), user_id) else: print '----%s generate pdf for user:%s succ' % (datetime.datetime.now(), user_id) except Exception, e: import traceback print '%s %s' % (datetime.datetime.now(), traceback.format_exc())
def generate(user_id, date, order='asc'): try: uas = UserAlias.gets_by_user_id(user_id) if not uas: return start_date = datetime.datetime(date.year, date.month, 1) end_date = datetime.datetime( date.year, date.month, calendar.monthrange(date.year, date.month)[1], 23, 59, 59) pdf_filename = get_pdf_filename(user_id, date.strftime("%Y%m")) print '----generate pdf:', start_date, ' to ', end_date, ' file is', pdf_filename if is_pdf_file_exists(pdf_filename): print '---- %s exists, so ignore...' % pdf_filename return status_ids = Status.get_ids_by_date(user_id, start_date, end_date)[:900] if order == 'asc': status_ids = status_ids[::-1] if not status_ids: print '----- status ids is none', status_ids return generate_pdf(pdf_filename, user_id, status_ids, capacity=-1) if not is_pdf_file_exists(pdf_filename): print '----%s generate pdf for user:%s fail' % ( datetime.datetime.now(), user_id) else: print '----%s generate pdf for user:%s succ' % ( datetime.datetime.now(), user_id) except Exception, e: import traceback print '%s %s' % (datetime.datetime.now(), traceback.format_exc())
def generate(user_id, date, order='asc'): try: uas = UserAlias.gets_by_user_id(user_id) if not uas: return start_date = datetime.datetime(date.year, date.month, 1) end_date = datetime.datetime( date.year, date.month, calendar.monthrange(date.year, date.month)[1], 23, 59, 59) pdf_filename = get_pdf_filename(user_id, date.strftime("%Y%m"), "") pdf_filename_compressed = get_pdf_filename(user_id, date.strftime("%Y%m")) print '----generate pdf:', start_date, ' to ', end_date, ' file is', pdf_filename if is_pdf_file_exists(pdf_filename_compressed): print '---- %s exists, so ignore...' % pdf_filename_compressed return status_ids = Status.get_ids_by_date(user_id, start_date, end_date)[:900] if order == 'asc': status_ids = status_ids[::-1] if not status_ids: print '----- status ids is none', status_ids return generate_pdf(pdf_filename, user_id, status_ids) if not is_pdf_file_exists(pdf_filename): print '----%s generate pdf for user:%s fail' % ( datetime.datetime.now(), user_id) else: commands.getoutput( "cd %s && tar -zcf %s %s && rm %s" % (config.PDF_FILE_DOWNLOAD_DIR, pdf_filename_compressed, pdf_filename, pdf_filename)) print '----%s generate pdf for user:%s succ' % ( datetime.datetime.now(), user_id) except Exception, e: import traceback print '%s %s' % (datetime.datetime.now(), traceback.format_exc())
def pdf(uid): user = User.get(uid) if not user: abort(401, "No such user") pdf_filename = get_pdf_filename(user.id) if not is_pdf_file_exists(pdf_filename): generate_pdf(pdf_filename, user.id, 0, 10000000) if not is_pdf_file_exists(pdf_filename): abort(400, "generate pdf fail, please try again...") full_file_name = os.path.join(config.PDF_FILE_DOWNLOAD_DIR, pdf_filename) resp = make_response() resp.headers['Cache-Control'] = 'no-cache' resp.headers['Content-Type'] = 'application/pdf' resp.headers['Content-Disposition'] = 'attachment; filename=%s' % pdf_filename resp.headers['Content-Length'] = os.path.getsize(full_file_name) redir = '/down/pdf/' + pdf_filename resp.headers['X-Accel-Redirect'] = redir return resp
# -*- coding:utf-8 -*- import sys sys.path.append("../") import time import datetime activate_this = "../env/bin/activate_this.py" execfile(activate_this, dict(__file__=activate_this)) from past.utils.pdf import generate_pdf, get_pdf_filename, is_pdf_file_exists from past.model.user import User if __name__ == "__main__": for uid in User.get_ids(0, 10000000): try: pdf_filename = get_pdf_filename(uid) generate_pdf(pdf_filename, uid, 0, 100000, capacity=-1) if not is_pdf_file_exists(pdf_filename): print "%s generate pdf for user:%s fail" % (datetime.datetime.now(), uid) else: print "%s generate pdf for user:%s succ" % (datetime.datetime.now(), uid) except Exception, e: print "%s %s" % (datetime.datetime.now(), e) time.sleep(1)
from past.utils.pdf import generate_pdf, get_pdf_filename, is_pdf_file_exists from past.model.user import User, UserAlias from past import config if __name__ == "__main__": #for uid in User.get_ids(0, 10000000): for uid in range(634,652): try: uas = UserAlias.gets_by_user_id(uid) if not uas: continue types = [x.type for x in uas] count = 300 if config.OPENID_TYPE_DICT[config.OPENID_SINA] in types \ or config.OPENID_TYPE_DICT[config.OPENID_QQ] in types: count = 250 pdf_filename = get_pdf_filename(uid) print pdf_filename generate_pdf(pdf_filename, uid, 0, count, capacity=-1) if not is_pdf_file_exists(pdf_filename): print '%s generate pdf for user:%s fail' % (datetime.datetime.now(), uid) else: print '%s generate pdf for user:%s succ' % (datetime.datetime.now(), uid) except Exception, e: import traceback print '%s %s' % (datetime.datetime.now(), traceback.format_exc()) time.sleep(1)