Exemple #1
0
    def addFile(fileLocation, fileType):

        # save new file
        newFile = Files(file_location=fileLocation, file_type=fileType)
        fileKey = newFile.put()

        return fileKey
Exemple #2
0
def create_file():  #encapsular accion
    body = request.form  # encapsula el paquete enviado del postman, recibe json y lo convierte al lenguaje del diccionario

    instrument = body["instrument"]
    type_file = body["typeFile"]
    level = body["level"]
    language = body["language"]
    url = body["url"]
    user_id = body['userId']
    title = body['title']
    file_upload = body['file_upload']

    print(request.form["instrument"])

    single_file = Files(instrument=instrument,
                        type_file=type_file,
                        level=level,
                        language=language,
                        url=url,
                        user_id=user_id,
                        title=title)
    # single_file = Files(instrument=body['instrument'], type_file=body['typeFile'], level=body['level'], language=body['language'], url=body['url'], user_id=body['userId'], title=body['title'], file_upload=request.files['file_upload'])

    if file_upload is not None:
        # upload to cloudinary
        print('picture attached')
        file_upload_result = cloudinary.uploader.upload(
            file_upload, options={"use_filename": True})
        single_file.file_upload = file_upload_result['secure_url']
        print("singlefile:", single_file)

    db.session.add(single_file)  # adding user
    db.session.commit()  # commiting what we add
    return jsonify(body, 200)
    def addFile(fileLocation, fileType):

        # save new file
        newFile = Files(file_location=fileLocation, file_type=fileType)
        fileKey = newFile.put()

        return fileKey
Exemple #4
0
def number_of_online_players(update, context):
    online_users_count = Minecraft_Status().get_online_users_count()
    path_of_gifs_related_to_online_users_count = Files().get_path_directory_of_videos(online_users_count)
    gifs_related_to_online_users_count = Files().get_files_names_path_in_directory(path_of_gifs_related_to_online_users_count)
    update.message.reply_text(f'There are {online_users_count} online players in minecraft.')
    if is_not_empty(gifs_related_to_online_users_count):
        respone_gif_path = Files().random_choice_from_list(gifs_related_to_online_users_count)
        update.message.reply_animation(open(respone_gif_path, "rb"))
Exemple #5
0
def file_upload(request):
    if request.is_ajax():
        if request.method == 'POST':
            form = FileUploadForm(files=request.FILES)
            instance = Files(user=request.user, file=request.FILES['file'])
            instance.save()
            return HttpResponse(json.dumps(list_files(request.user)))
    else:
        return HttpResponse(json.dumps(list_files(request.user)))
Exemple #6
0
def save_files(request):
    """
        Call p_add_file_to_release for list of files
    """
    _files = request.POST.items()
    files = []
    for file_name in _files:
        if not file_name[0] in ['csrfmiddlewaretoken', 'task_num', 'repo']:
            files.append(file_name)
    task_num = request.POST.get('task_num')
    repo = request.POST.get('repo')
    model = Files()
    for file_name in files:
        model.callProc('p_add_file_to_release', (task_num, file_name[0], file_name[1], repo), user=request.user)
    return {'files': files, 'task_num': task_num}
Exemple #7
0
def add_files():
    name = request.json['name']
    title = request.json['title']
    new_file = Files(name, title)
    db.session.add(new_file)
    db.session.commit()
    return file_schema.jsonify(new_file)
Exemple #8
0
def index():
    sql_session = SqlSession()
    if 'file' in request.files:
        upload_file = request.files['file']
        if upload_file:
            li = sql_session.query(Files).count()
            if li > 0:
                count = sql_session.query(Files).order_by(
                    Files.id.desc()).first().id
            else:
                count = 0
            filename = str(count + 1) + ".wav"
            upload_file.save(os.path.join(app.config['UPLOAD_DIR'], filename))
            the_file = Files(upload_file.filename, filename, 1)
            sql_session.add(the_file)
            sql_session.commit()
        return "success"

    page = request.args.get('page') or 1
    page = int(page)
    count = sql_session.query(Files).count()
    total_page = count / 25
    if count % 25:
        total_page += 1
    items = sql_session.query(Files).order_by(Files.id.desc()).offset(
        (page - 1) * 25).limit(25).all()
    return render_template('index.html',
                           items=items,
                           cur_page=page,
                           total_page=total_page)
Exemple #9
0
def import2project(modeladmin, request, queryset):
    for project in queryset:
        pid  = project.id
        project_dir = os.path.dirname(__file__) + '/games/%s/jp/'%project.project_name
        fl = Pluto.walk(project_dir)
        for fn in fl:
            if not fnmatch.fnmatch(fn,'*.pickle'):
                continue
            fp = open(fn,'rb')
            sid_list = cPickle.load(fp)
            fp.close()
            length = len(set(sid_list))
            fn = fn.replace(project_dir,'').replace('.pickle','')
            if Files.objects.filter(item=pid, filename=fn):
                continue
            f = Files(item_id=pid, filename=fn, length=length, length_tran=0, rate=0)
            f.save()
Exemple #10
0
def upload(request):
    file = upload_receive(request)
    instance = Files(user=request.user, file=file)
    instance.save()

    basename = os.path.basename(instance.file.path)

    file_dict = {
        'name': basename,
        'size': file.size,
        'url': settings.MEDIA_URL + basename,
        'thumbnailUrl': settings.MEDIA_URL + basename,
        'deleteUrl': reverse('jfu_delete', kwargs={'pk': instance.pk}),
        'deleteType': 'POST',
    }

    return UploadResponse(request, file_dict)
def upload():
    file = request.files['inputFile']
    # saving it in uploads folder
    file.save(os.path.join(app.config['UPLOAD_FOLDER'], file.filename))
    # saving it in database
    newFile = Files(filename=file.filename, data=file.read())
    db.session.add(newFile)
    db.session.commit()

    return redirect(url_for('index'))
Exemple #12
0
def add_problem(title,
                category,
                description,
                value,
                grader_contents,
                pid=utils.generate_string(),
                hint="",
                bonus=0,
                autogen=0):
    grader_contents = str(grader_contents)
    pid = str(pid)
    value = int(value)

    title_exists = Problems.query.filter_by(title=title).first()
    if title_exists:
        raise WebException("Problem name already taken.")
    while Problems.query.filter_by(pid=pid).first():
        pid = utils.generate_string()
    if category == "Programming":
        programming.validate_judge(grader_contents)
    else:
        validate_grader(grader_contents, autogen=int(autogen))

    grader_folder = os.path.join(app.config["GRADER_FOLDER"], pid)
    if not os.path.exists(grader_folder):
        os.makedirs(grader_folder)
    grader_path = os.path.join(grader_folder, "grader.py")
    grader_file = open(grader_path, "w")
    grader_file.write(grader_contents)
    grader_file.close()

    problem = Problems(pid,
                       title,
                       category,
                       description,
                       value,
                       grader_path,
                       bonus=bonus,
                       hint=hint,
                       autogen=autogen)
    db.session.add(problem)

    files = request.files.getlist("files[]")
    for _file in files:
        filename = secure_filename(_file.filename)
        if len(filename) == 0:
            continue
        file_path = os.path.join(app.config["UPLOAD_FOLDER"], filename)
        _file.save(file_path)
        db_file = Files(problem.pid, "/".join(file_path.split("/")[2:]))
        db.session.add(db_file)
    db.session.commit()
    db.session.close()
def add_file(auth, project_id):
    if 'payload' in auth:
        client_id = auth['payload']['sub']
        file_name = request.form.get('file_name')
        file_content = request.form.get('file_content')
        # project_id = request.form.get('project_id')	# hidden field, use URL instead

        # user owns project
        if Project.query.filter_by(id=project_id, user_id=client_id):

            # check if filename is free
            if Files.query.filter_by(project_id=project_id,
                                     name=file_name).first() is None:
                timestamp = datetime.datetime.now()
                new_file = Files(project_id=project_id,
                                 name=file_name,
                                 timestamp=timestamp,
                                 content=file_content)
                db.session.add(new_file)
                try:
                    db.session.commit()
                except:
                    error = 'Cannot register file'
                    return make_response(
                        render_template('files.html',
                                        title='Projects',
                                        error=error,
                                        project=''))

                # show update
                files = Files.query.filter_by(project_id=project_id).all()
                project = Project.query.filter_by(id=project_id).first()
                response = make_response(
                    render_template('files.html',
                                    title=project.name,
                                    files=files,
                                    project=project))
                return response
            else:
                error = 'File name already in use'
                return make_response(
                    render_template('files.html',
                                    title='Projects',
                                    error=error))
        else:
            error = 'Error: Cannot add to project not owned by client'
            return make_response(
                render_template('files.html', title='Projects', error=error))
    else:
        response = make_response(
            render_template('error.html', error=auth['message']))
        return response
Exemple #14
0
def upload(workshopID):
    # Check workshop exists:
    result = Workshops.query.filter_by(id=workshopID).first()
    if result is None:
        abort(404)
    workshop = result.workshop
    # Prepare form:
    form = UploadForm(request.form)
    form.type.choices = get_type_list(workshop)
    # If user tries to upload a file
    if request.method == 'POST':
        if form.validate():
            if app.config['S3_OR_DBX'] == 'S3':  # Get filename only
                filename = request.form['filename_s3']
            else:  # Also get file
                file = request.files['file']
                filename = str(randint(10000, 99999)) + '_' + \
                    secure_filename(file.filename)
            # Get fields from web-form
            title = form.title.data
            description = form.description.data
            type = form.type.data
            who = form.who.data
            author = session['username']
            # Insert into files database:
            db_row = Files(filename=filename,
                           title=title,
                           description=description,
                           workshop=workshop,
                           type=type,
                           who=who,
                           author=author)
            id = psql_insert(db_row)
            if app.config['S3_OR_DBX'] == 'DBX':  # Save file to dropbox
                upload_file_to_dbx(file, filename)
            # flash success message and reload page
            flash('File uploaded successfully', 'success')
            return redirect(url_for('upload', workshopID=workshopID))
        else:
            if app.config['S3_OR_DBX'] == 'S3':  # Delete file from S3
                filename_s3 = request.form['filename_s3']
                delete_file_from_s3(filename_s3)
            # Flash error message:
            flash('Fix form errors and try again', 'danger')
    # If user just navigates to page
    return render_template('upload.html',
                           form=form,
                           workshop=workshop,
                           workshopID=workshopID,
                           S3_OR_DBX=app.config['S3_OR_DBX'])
Exemple #15
0
def files():
    if request.method == "POST":
        if current_user.is_authenticated == True:
            try:
                pic_file = request.files['file']
                print(pic_file)
                new_file = Files(name=pic_file.filename,
                                 data=pic_file.read(),
                                 user=current_user)
                db.session.add(new_file)
                db.session.commit()
                print(pic_file.filename + 'saved!')
                return succesful_response({'message': 'Great Success!'})
            except:
                return succesful_response({'message': 'No picture selected'})
        return "Bad things"
Exemple #16
0
    def save_file(cls, file):
        """
        File name is created in this way:
        file.name + _ + utc.now()

        :param file: File that is going to be saved
        :return: Saved file
        """
        now = datetime.now()
        fname = file.filename + "_" + str(now)

        cls.my_bucket.Object(fname).put(Body=file)

        newFile = Files(title=request.form.get("title"), name=fname)
        db.session.add(newFile)
        db.session.commit()

        return newFile
Exemple #17
0
def upload(workshopID):
    # Check workshop exists:
    result = Workshops.query.filter_by(id=workshopID).first()
    if result is None:
        abort(404)
    workshop = result.workshop
    # Prepare form:
    form = UploadForm(request.form)
    form.type.choices = get_type_list(workshop)
    # If user tries to upload a file
    if request.method == 'POST':
        if form.validate():
            # dropbox
            file = request.files['file']
            filename = (str(randint(10000, 99999)) + '_' +
                        secure_filename(file.filename))
            # Get fields from web-form
            title = form.title.data
            description = form.description.data
            type = form.type.data
            who = form.who.data
            author = session['username']
            # Insert into files database:
            db_row = Files(filename=filename,
                           title=title,
                           description=description,
                           workshop=workshop,
                           type=type,
                           who=who,
                           author=author)
            id = psql_insert(db_row)
            # Save file to dropbox
            gcf.upload_blob('wcssp-fortis', file, workshop + '/' + filename)
            # flash success message and reload page
            flash('File uploaded successfully', 'success')
            return redirect(url_for('upload', workshopID=workshopID))
        else:
            # Flash error message:
            flash('Fix form errors and try again', 'danger')
    # If user just navigates to page
    return render_template('upload.html.j2',
                           form=form,
                           workshop=workshop,
                           workshopID=workshopID)
Exemple #18
0
def upload():
    if not g.user:
        flash("Access unauthorized.", "danger")
        return redirect("/")

    if request.method == "POST":
        # ================= #
        url_data = request.form['url']
        name_data = request.form['name']
        #
        url = url_data
        name_for_file = name_data
        # ================= #
        apiKey = "afbada1181d7849d6650fd27bc8fc655861fe954f781f393f4a99a5bb2754c26"
        linkRequests = "https://api.html2pdf.app/v1/generate?url={0}&apiKey={1}".format(
            url, apiKey)
        #
        result = requests.get(linkRequests).content
        #
        rand_doc_id = ''.join(
            random.choice(string.ascii_uppercase) for _ in range(20))
        # ================= #
        with open(f"{rand_doc_id}.pdf", "wb") as handler:
            handler.write(result)
        # ================= #
        upload_file(f"{rand_doc_id}.pdf", BUCKET)

        new_file = Files(file_url=f"{rand_doc_id}.pdf",
                         files_name=name_for_file,
                         files_id=g.user.id)

        db.session.add(new_file)
        db.session.commit()
        # ================= #
        if os.path.exists(f"{rand_doc_id}.pdf"):
            os.remove(f"{rand_doc_id}.pdf")
        else:
            print("The file does not exist")
        # ================= #
        return redirect("users/account")
Exemple #19
0
def create_document(destination, filename, email, db: Session):
    #inserts a document in the given location of a server
    #Adds record to the File table and Collaborator's table.

    try:

        email_id = get_email_id(email, db)
        if email_id is None:
            email_id = add_email_id(email, db).id
            print(email_id)
        else:
            email_id = email_id.id
        print(email_id)

        doc_det = Files(name=filename,
                        filepath=destination,
                        created_on=str(dt.datetime.now()),
                        owner=email_id,
                        modified_on=dt.datetime.now(),
                        file_status='saved')

        print(doc_det)
        db.add(doc_det)
        db.commit()
        #db.refresh(doc_det)
        db.flush()

        print(doc_det.id)
        shared_status = Collaborators(collaborator_id=email_id,
                                      file_id=doc_det.id,
                                      access_level="owner",
                                      access_date=dt.datetime.now(),
                                      downloaded_on=dt.datetime.now())
        db.add(shared_status)
        db.commit()
        db.refresh(shared_status)
        return True
    except Exception as e:
        return False
Exemple #20
0
def upload():

    appHandler.config['UPLOADS_FOLDER'] = 'app/uploads/' + g.user.username

    file = request.files['file']
    print file
    if file and allowed_file(file.filename):
        if not os.path.exists(appHandler.config['UPLOADS_FOLDER']):
            os.makedirs(appHandler.config['UPLOADS_FOLDER'])
        filename = secure_filename(file.filename)
        file.save(os.path.join(appHandler.config['UPLOADS_FOLDER'], filename))
        path = appHandler.config['UPLOADS_FOLDER'] + "/" + filename
        print path
        size = os.path.getsize(path)
        print size
        files = Files(filename, g.user.username, size, 0, "Active")
        db.session.add(files)
        db.session.commit()
        return redirect(url_for('index', filename=filename))
    else:
        flash('No file Uploaded')
        return redirect(url_for('index'))
Exemple #21
0
def social_media_redirecter(target_name):
    social_urls = Files().get_social_urls()
    target_name = target_name.lower()
    if target_name in social_urls:
        return redirect(social_urls[target_name], code=302)
    abort(404)
Exemple #22
0
    def post(self):
        if len(request.files) == 0:
            return jsonify({'error': 'no file'})

        numUploaded = 0
        auth_header = request.headers.get('Authorization')

        # see if properly authorized
        if auth_header:
            auth_token = ''
            try:
                auth_token = auth_header.split(" ")[1]
            except IndexError:
                responseObject = {
                    'status': 'fail',
                    'message': 'Bearer token malformed'
                }
                res = make_response(jsonify(responseObject))
                return res, 401

            if auth_token:
                # verify token
                try:
                    userID = User.decode_auth_token(auth_token)
                    user = User.query.filter_by(id=userID)
                    fileName = fileObj = None
                    for fn, fo in request.files.items():
                        # print(fn)
                        # print(fo)
                        fileName = fn
                        fileObj = fo

                    newFile = Files(filename=fileName, user_id=userID)

                    # upload file
                    if fileObj and fileName:
                        fileObj.save(f"../uploads/{fileName}")
                        numUploaded += 1

                    # insert new file
                    db.session.add(newFile)
                    db.session.commit()

                    # success
                    responseObject = {
                        'status': 'success',
                        'message': 'file successfully uploaded',
                    }
                    return make_response(jsonify(responseObject)), 201

                except:
                    responseObject = {
                        'status': 'fail',
                        'message':
                        'Error decoding auth token or creating file.'
                    }
                    return make_response(jsonify(responseObject)), 404
            else:
                responseObject = {
                    'status': 'fail',
                    'message': 'Provide a valid auth token.'
                }
                return make_response(jsonify(responseObject)), 401
        else:
            responseObject = {
                'status': 'fail',
                'message': 'No auth token provided.'
            }
            return make_response(jsonify(responseObject)), 401
Exemple #23
0
def signout(**kwargs):
    if Auth().is_user_logged_in():
        Files().remove_api_key()
        Rich().rich_print("🥺 You Now Logged-Out! Hope To See You Soon...")
    else:
        Rich().rich_print("😧 You Were Not Logged-In!")