def upload_excel(): # excel_path = '/usr/local/nginx/html/zhouwei/app/static/' # 服务器路径 excel_path = '/Users/xiaomao/PycharmProjects/zhouwei/app/static/' # localhost 路径 excel = request.files['excel'] excel_name = secure_filename(excel.filename) excel.save(os.path.join(excel_path, excel_name)) from excel import open_excel data = open_excel(file='/Users/xiaomao/PycharmProjects/zhouwei/app/static/%s' % excel_name) table = data.sheets()[0] nrows = table.nrows # ncols = table.ncols datas = [] for i in range(nrows): rs = table.row_values(i) datas.append(rs) for email_list in datas: email_db = ZwMySQL() name = email_list[0] email = email_list[1] belong = email_list[2] try: email_db.add_email(name, email, belong, '') flash('add success') except Exception as e: flash('add %s error' % email) app.logger.error("add %s error %s" % (email, e)) return render_template('upload_excel.html', url='upload_email', user='******', per_act='active', datas=datas, person_no=len(datas))
def add_email(): name = request.form.get('name') email = request.form.get('email') belong = request.form.get('belong') type = request.form.get('type') email_db = ZwMySQL() email_db.add_email(name, email, belong, type) return redirect(url_for('periodical'))
def edit_email(): no = request.form.get('no') name = request.form.get('name') email = request.form.get('email') belong = request.form.get('belong') type = request.form.get('type') email_db = ZwMySQL() email_db.update_email(no, name, email, belong, type) return redirect(url_for('periodical'))
def clean(): env_name = request.args.get('env_name') env_db = ZwMySQL() rs = env_db.select_env_with_name(env_name) package_path = rs[4] try: clean_war(package_path) return "clean begin and check the log /usr/local/nginx/html/zhouwei/zhouwei.log" except Exception as e: app.logger.error("clean error %s" % e)
def package(): env_name = request.args.get('env_name') env_db = ZwMySQL() env = env_db.select_env_with_name(env_name) package_path = env[4] env_type = env[7] try: package_project(package_path, env_type) return "package begin, check the log /usr/local/nginx/html/zhouwei/zhouwei.log" except Exception as e: app.logger.error("package error %s" % e)
def periodical_del(): per_name = request.args['pername'] per_db = ZwMySQL() try: per_db.del_periodical(per_name) flash('delete periodical %s success' % per_name) except Exception as e: flash('delete error') app.logger.error('del per error' % e) finally: return redirect(url_for('periodical'))
def scp(): env_name = request.args.get('env_name') db = ZwMySQL() env = db.select_env_with_name(env_name) env_war_path = env[9] env_address = env[3] try: os.system("scp %s/*.war root@%s:/home/zhouwei/ROOT.war" % (env_war_path, env_address)) return "scp success, now deploy your project" except Exception as e: app.logger.error("scp error %s" % e) return "scp error %s" % e
def email_edit(): email_no = request.args['email_no'] email_db = ZwMySQL() email_info = email_db.select_email_with_no(email_no) return render_template('email_edit.html', url='email_edit', user='******', per_act='active', name=email_info[1], email=email_info[2], belong=email_info[3], type=email_info[4], no=email_info[0])
def project(): project_name = request.args.get('project_name') pro_db = ZwMySQL() rs = pro_db.select_projects_with_name(project_name) project_id = rs[0] env_db = ZwMySQL() envs = env_db.select_env_with_id(project_id) return render_template('project.html', url='/deploy/%s' % project_name, dep_act='active', user='******', envs=envs, envnum=len(envs))
def periodical_edit(): per_name = request.args['pername'] per_db = ZwMySQL() per = per_db.select_periodical_with_name(per_name) return render_template('periodical_edit.html', url='periodical_edit', user='******', per_act='active', name=per[0][1], sub=per[0][2], dec=per[0][3], issn=per[0][4], img=per[0][5])
def periodical_update(): per_name = request.form.get('name') per_sub = request.form.get('sub') per_issn = request.form.get('issn') per_dec = request.form.get('dec') per_db = ZwMySQL() try: per_db.update_periodical(per_name, per_sub, per_dec, per_issn) flash('update periodical %s success' % per_name) except Exception as e: flash('update error') app.logger.error('update error %s' % e) finally: return redirect(url_for('periodical'))
def periodical(): username = request.cookies.get('username') if username in session['user']: per_db = ZwMySQL() pers = per_db.select_periodical() return render_template('periodical.html', pernum=len(pers), url='periodical', pers=pers, user='******', per_act='active') else: flash('you are not login') return render_template('login.html')
def mail(): name = request.args.get('name') per_no = request.args.get('perno') type = request.args.get('type') per_db = ZwMySQL() per = per_db.select_periodical_with_perno(per_no) if type == 'editor': return render_template("editor.html", name=name, jname=per[1], dec=per[3], issn=per[4]) else: return render_template("paper.html", name=name, jname=per[1], dec=per[6], # 数据库中名称为 dec_paper 后追加字段 issn=per[4])
def email(): per_name = request.args['pername'] per_db = ZwMySQL() per = per_db.select_periodical_with_name(per_name) per_no = per[0][0] email_db = ZwMySQL() rss = email_db.select_email(per_no) curs = [] for rs in rss: if rs[4] != '1': curs.append(rs) return render_template('email.html', url=per_name, curs=curs, curnum=len(curs), per_act='active', user='******', perno=per_no)
def projects(): try: username = request.cookies.get('username') if username in session['user']: pro_db = ZwMySQL() projects = pro_db.select_projects() return render_template('projects.html', url='deploy', user='******', dep_act='active', projects=projects, pronum=len(projects)) else: flash('you are not login') return render_template('login.html') except Exception as e: app.logger.warning("without session key %s" % e) return render_template('login.html')
def per_add(): # img_path = '/usr/local/nginx/html/zhouwei/app/static/images' # 服务器路径 img_path = '/Users/xiaomao/PycharmProjects/zhouwei/app/static/images' # localhost 路径 per_name = request.form.get('name') per_sub = request.form.get('sub') per_issn = request.form.get('issn') per_dec = request.form.get('dec') img = request.files['img'] img_name = secure_filename(img.filename) img.save(os.path.join(img_path, img_name)) per_img = '/static/images/%s' % img_name per_db = ZwMySQL() try: per_db.add_periodical(per_name, per_sub, per_dec, per_issn, per_img) flash('add periodical %s success' % per_name) except Exception as e: flash('add periodical error') app.logger.error('add per error %s' % e) finally: return redirect(url_for('periodical'))
def send(): # 获取per页面,get请求发送过来的数据,利用perno 查询数据库 期刊信息 name = request.args.get('name') email = request.args.get('email') per_no = request.args.get('perno') type = request.args.get('type') per_db = ZwMySQL() per = per_db.select_periodical_with_perno(per_no) from mail import send_editor_email_list from mail import send_paper_email_list # 尝试发送邮件,捕获异常,返回1成功,0失败 if type == 'editor': try: send_editor_email_list(per[2], name, email, per[3], per[1], per[4]) try: email_db = ZwMySQL() email_db.count_add(email) except Exception as count_error: app.logger.error("count add error %s" % count_error) return '1' except Exception as e: app.logger.error("send email error %s" % e) return str(e) elif type == 'paper': try: send_paper_email_list(per[7], name, email, per[6], per[1], per[4]) # per[6]数据库中名称为 dec_paper 后追加字段 try: email_db = ZwMySQL() email_db.count_add(email) except Exception as count_error: app.logger.error("count add error %s" % count_error) return '1' except Exception as e: app.logger.error("send email error %s" % e) return str(e) else: return 'no action'
def email_del(): email = request.args['email'] email_db = ZwMySQL() email_db.del_email(email) return redirect(url_for('periodical'))