Example #1
0
def get_excel():
    form = UploadForm().validate_for_api()
    re_name = change_filename(form.files.data['files'].filename)
    files.save(form.files.data['files'], name=re_name)
    file = load_workbook(current_app.config['UPLOADED_FILES_DEST'] + "/" + re_name)
    sheet_name = file.get_sheet_names()  # 获取所有工作表名称
    name = str("".join(sheet_name))
    a_sheet = file[name]
    data_sheet = []
    for row in a_sheet.values:
        data_sheet.append(row)
    for i in data_sheet[1:]:
        data = list(tuple(i))
        print(data[0])
    return jsonify({'1': '1'})
Example #2
0
def many_files():
    """ 多文件上传
            ---
            tags:
              - 用户模块
            parameters:
              - name: files
                in: body
                type: file
                required: true
                example: 图片.jpg
            responses:
              200:
                description: 返回信息
                examples:
                  success : {"code": 0,"file_url": "http://77.art:5000/uploads/files/123123.jpg", \
                  "filename": "123123.jpg"}
    """
    _file = []
    _file_url = []
    form = UploadForm().validate_for_api()
    for filename in request.files.getlist(form.files.id):
        re_name = change_filename(filename.filename)
        filename = files.save(filename, name=re_name)
        _file.append(filename)
        _file_url.append(files.url(filename))
    return jsonify({'code': 0, 'filename': _file, 'file_url': _file_url})
Example #3
0
def submitform():
    form = InputForm()

    user_id = current_user.id
    user_kategori_wbs = current_user.kategori_wbs
    user_wbs_spesifik = current_user.wbs_spesifik

    if request.method == 'POST':
        file_name = files.save(form.upload_file.data)
        file_url = files.url(file_name)

        new_post = Post(user_id=user_id,
                        post_kategori_wbs=user_kategori_wbs,
                        post_wbs_spesifik=current_user.wbs_spesifik,
                        post_wbs_level2=form.select_wbs_level2.data,
                        post_wbs_level3=form.select_wbs_level3.data,
                        post_judul=form.judul.data,
                        post_deskripsi=form.deskripsi.data,
                        post_jenis_toppgun=form.select_jenis_toppgun.data,
                        post_kategori_lean=form.select_kategori_lean.data,
                        post_file_url=file_url,
                        post_wbs_terkait=form.sebutkan.data,
                        post_date=datetime.now())

        db.session.add(new_post)
        db.session.commit()

        return redirect('profile')

    return render_template('profile.html', form=form)
Example #4
0
def uploads():
    """ 图片上传
            ---
            tags:
              - 用户模块
            parameters:
              - name: files
                in: body
                type: file
                required: true
                example: 图片.jpg
            responses:
              200:
                description: 返回信息
                examples:
                  success : {"code": 0,"file_url": "http://77.art:5000/uploads/files/123123.jpg", \
                  "filename": "123123.jpg"}
        """
    form = UploadForm()
    form.validate_for_api()
    re_name = change_filename(form.files.data['files'].filename)
    filename = files.save(form.files.data['files'], name=re_name)
    if re_name is None:
        return ImagesError(message="文件上传失败!")
    return jsonify({'code': 0, 'filename': filename, 'file_url': files.url(filename)})
Example #5
0
def uploader():
    if request.method == 'POST':
        # check if the post request has the file part
        # if 'csv' not in request.files:
        # file = request.files['csv']
        # print(file)
        try:
            filename = files.save(request.files['csv'])
        except UploadNotAllowed as err:
            response = {
                'status': 'test',
                'message': "File upload is not allowed!" + str(err)
            }
            return jsonify(response), 400
        # below is the for loop code and creation code
        user = UserController.find_by_id(request.args.get("user_id"))
        from app.config import Config
        with open(Config.UPLOADS_DEFAULT_DEST + "files/" + filename,
                  mode='r') as csv_file:
            import csv
            csv_reader = csv.DictReader(csv_file)
            error_message = ""
            for row in csv_reader:
                is_area_check = CommonServices.check_area(
                    user.user_handle_industry, int(row['company_industry_id']))
                if not is_area_check:
                    error_message += "\r\n" + row[
                        'company_reg_num'] + ": Cannot create company that not belong to logon user\'s industry area. "
                else:
                    error = CompanyController.create_item(
                        company_reg_num=row['company_reg_num'],
                        company_name=row['company_name'],
                        company_size=row['company_size'],
                        company_industry_id=row['company_industry_id'],
                        company_desc=row['company_desc'],
                        company_office_contact_num=row[
                            'company_office_contact_num'],
                        company_address=row['company_address'],
                        company_postcode=row['company_postcode'],
                        company_city=row['company_city'],
                        company_state=row['company_state'],
                        company_country=row['company_country'])
                    if type(error) is str:
                        error_message += "\r\n" + row[
                            'company_reg_num'] + ": " + error
        response = {
            'status': 'done',
            'message': "All imported" if error_message == "" else error_message
        }
        return jsonify(response), 200 if error_message == "" else 400
    else:
        response = {
            'status': 'success',
            'url': files.url('company_template.csv')
        }
        return jsonify(response), 200
Example #6
0
    def upload_new_file(self):

        # Retrieve name of the file from UploadForm and save
        filename = files.save(self.file.data)

        # Retrieve a path to the file
        directory = 'static/files/' + filename
        file_path = os.path.join(basedir, directory)

        # Sending data to the model
        new_file = models.File.upload_file(file_path=file_path,
                                           file_name=filename)

        return new_file
Example #7
0
def trainFileUpload():
    uploadFile = request.files['file']
    params = request.form
    filename = files.save(uploadFile)
    fileurl = files.path(filename)
    trainFile = models.OriginalDataset(username=get_jwt_identity(),
                                       taskType=params.get('taskType'),
                                       taskName=params.get('taskName'),
                                       desc=params.get('desc'),
                                       publicity=params.get('publicity'),
                                       originFile=fileurl,
                                       status='解析中')
    trainFile.save()
    executor = ThreadPoolExecutor(1)
    executor.submit(trainFileUploadAnalyse(fileurl, trainFile))
    return "success"
Example #8
0
def Upload2():
    form = UploadForm()
    #_username = '******'.join(current_user.username.split())
    if form.validate_on_submit():
        newname = current_user.username + str(time.time()) + '.'
        filename = files.save(form.c_files.data,
                              folder=current_user.username,
                              name=newname)
        file_url = files.url(filename)
        file = File(File_name=filename, author=current_user)
        db.session.add(file)
        db.session.commit()
        flash('Your upload has been saved.')
    else:
        file_url = None
    return render_template('upload2.html', form=form, file_url=file_url)
Example #9
0
def bulkupload():
    form = BulkUploadForm()
    if form.validate_on_submit():
        # print(form.file)
        _, file_extension = os.path.splitext(
            secure_filename(form.file.data.filename))
        temp = ''.join([uuid.uuid4().hex, file_extension])
        filename = files.save(FileStorage(form.file.data),
                              name=secure_filename(temp))
        file_url = files.url(filename)
        print(filename)
        utils.process_bulkupload('C:\\test.xlsx', file_url)

        return render_template('base.html')
    return render_template('bulkupload.html',
                           title='New Hire - Bulk Upload',
                           form=form)
Example #10
0
def work_arrange():
    from app.forms import WorkArrangeForm
    import datetime
    form = WorkArrangeForm()
    form.course_id.choices += [(r.id, str(r.course_name + " ID:" + r.id))
                               for r in g.user.created_courses]
    form.course_id.choices.insert(0, ('', '请选择课程'))
    form.homework_batch.choices += [(i, str(i)) for i in range(1, 15)]
    form.homework_batch.choices.insert(0, (-1, '请选择作业批次'))
    if request.method == "GET":

        return render_template('work_arrange.html', form=form)

    else:
        if form.validate_on_submit():

            if form.attach.data:
                index = None
                for i in range(len(form.attach.data.filename) - 1, -1, -1):
                    if form.attach.data.filename[i] == ".":
                        index = i
                        break
                if index:
                    postfix = form.attach.data.filename[index:]
                else:
                    postfix = ''
                postfix = postfix.lower()
                name = form.course_id.data + "_" + str(
                    form.homework_batch.data) + postfix
                filename = files.save(form.attach.data, name=name)
                file_url = files.url(filename)
            else:
                filename = ""

            # print(form.start_time.data, type(form.start_time.data))
            # print(form.end_time.data, type(form.end_time.data))
            # print(datetime.date.today(), type(datetime.date.today()))
            if form.end_time.data >= datetime.date.today():
                state = "进行中"
            else:
                state = "已截止"
            newhomework = HomeWork(form.course_id.data,
                                   form.homework_batch.data,
                                   form.homework_describe.data, filename,
                                   form.start_time.data, form.end_time.data, 0,
                                   state)

            db.session.add(newhomework)

            message = "创建作业成功!"

            course = Course.query.filter_by(id=form.course_id.data).first()
            course.homeworks.append(newhomework)
            db.session.add(course)
            db.session.commit()

            return render_template('work_arrange.html',
                                   form=form,
                                   message=message)

        return render_template('work_arrange.html', form=form)