Example #1
0
def upload():
    fileForm = SimpleFileForm()
    if fileForm.validate_on_submit():
        session["temp_files"] = []
        uploaded_files = request.files.getlist("selected_reports")
        zfname = uniq_file_prefix("pft.zip")
        zfloc = os.path.join(current_app.config["PFT_DIR"], zfname)
        pftdir = current_app.config["PFT_DIR"]
        with zipfile.ZipFile(zfloc, mode='w') as zarchv:
            for f in uploaded_files:
                fname = secure_filename(f.filename)
                session["temp_files"].append(fname)
                repname = os.path.join(pftdir, fname)
                f.save(repname)
                repfact = ReportFactory()
                repconfig = repfact.get_report_config_by_fname(repname)
                rep = repfact.make_PFTReport(fname,
                                             repconfig.name,
                                             repconfig.confdata,
                                             wdir=pftdir)
                rep.clean(db)

                clean_fname = "clean_"+rep.name+".xlsx"
                session["temp_files"].append(clean_fname)
                zarchv.write(os.path.join(pftdir, clean_fname), clean_fname)
        session["zfname"] = zfname
        return redirect(url_for("pft.download"))
    else:
        flash_errors(fileForm)
    return render_template("pft/upload.html", form=fileForm)
 def __init__(self, data=None, index=None, columns=None,
              dtype=None, copy=False, name=uniq_file_prefix("survey", 16),
              out_file_type="xlsx"):
     super(self.__class__, self).__init__(data, index, columns, 
                                          dtype, copy)
     self.__remove_space_afore_n_aft__()
     self.unkmap = {}
     self.problems = []
     self.category = None
     self.solved = []
     self.start = 0
     self.end = 10
     self.name = name
     self.other_sections = {}
     self.file_type = out_file_type