Example #1
0
def update_image_library(username):

    # A
    if "image_gallery" not in request.files:

        return "No user_file key in request.files"

# B
    file = request.files["image_gallery"]
    print(file)

    # C.
    if file.filename == "":
        return "Please select a file"

# D.
    if file and allowed_file(file.filename):

        file.filename = secure_filename(file.filename)
        output = upload_file_to_s3(file, app.config["S3_BUCKET"])

        # Add image path to database
        Image.create(user_id=current_user.id, user_image_path=file.filename)
        flash('Profile photo updated')
        return redirect(url_for('users.show', username=username))

    else:
        return render_template("home.html")
Example #2
0
    def load_demo_explorations(cls):
        """Initializes the demo explorations."""
        for index, exploration in enumerate(feconf.DEMO_EXPLORATIONS):
            assert len(exploration) in [3, 4], (
                'Invalid format for demo exploration: %s' % exploration)

            yaml_filename = '%s.yaml' % exploration[0]
            yaml_file = utils.get_file_contents(
                os.path.join(feconf.SAMPLE_EXPLORATIONS_DIR, yaml_filename))

            title = exploration[1]
            category = exploration[2]
            image_filename = exploration[3] if len(exploration) == 4 else None

            image_id = None
            if image_filename:
                with open(os.path.join(
                        feconf.SAMPLE_IMAGES_DIR, image_filename)) as f:
                    raw_image = f.read()
                image_id = Image.create(raw_image)

            exploration = cls.create_from_yaml(
                yaml_file=yaml_file, user=None, title=title, category=category,
                exploration_id=str(index), image_id=image_id)
            exploration.is_public = True
            exploration.put()
Example #3
0
def create():
    user = User.get_by_id(current_user.id)
    username = user.username
    file = request.files.get('upload_pic')

    if "upload_pic" not in request.files or file.filename == "":
        flash('Please select a picture for upload')

    if file and helpers.allowed_file(file.filename):
        file.filename = secure_filename(f"feed_{str(datetime.datetime.now())}_{file.filename}")
        output = helpers.upload_file_to_s3(file, Config.S3_BUCKET)

        Image.create(user_id=current_user.id, image_url=file.filename)

        return redirect(url_for('users.show', username=username))
    else:
        return redirect(url_for('users.show', username=username))
Example #4
0
 def post(self):
     """Saves an image uploaded by a content creator."""
     raw = self.request.get('image')
     if raw:
         image_id = Image.create(raw)
         self.response.write(json.dumps({'image_id': image_id}))
     else:
         raise self.InvalidInputException('No image supplied')
Example #5
0
def create():
    # check request.files object for a image key
    if "image_post" not in request.files:
        flash("No image key in request.files", "danger")
        return redirect(url_for('users.show', username=current_user.name))

    # if key is in object, save it in a variable called file
    file = request.files["image_post"]

    #  check if filename attribute on the object and if empty, means user submit empty form, so return error
    if file.filename == "":
        flash("Please select a file", "danger")
        return redirect(url_for('users.show', username=current_user.name))

    # check that there is a file and that it has an allowed filetype
    if file and allowed_file(file.filename):
        file.filename = secure_filename(file.filename)
        output = upload_file_to_s3(file, app.config["S3_BUCKET"])
        Image.create(image=file.filename, user=current_user.id)
        flash("Post successfully uploaded", "success")
        return redirect(url_for('users.show', username=current_user.name))
    else:
        flash("Please try again", "danger")
        return redirect(url_for('users.show', username=current_user.name))
Example #6
0
def upload_photo(id):
    if "user_file" not in request.files:
        flash("You didn't upload a file! Please try again.", "danger")

    file = request.files.get('user_file')

    if file:
        if file.filename == "":
            return "Please select a file with a valid name."

        if file and allowed_file(file.filename):
            file.filename = secure_filename(
                str(id) + "_" + file.filename + "_" +
                str(datetime.datetime.now()))
            output = upload_file_to_s3(file, app.config["S3_BUCKET"])
            Image.create(image_path=output, user_id=id)
            flash("Your Post was created", "success")
            return redirect(url_for('users.show', id=id))
        else:
            flash("Only .jpg, .jpeg, .png, or .gif formats are accepted.",
                  "danger")
            return redirect("/")
    else:
        return redirect("/")
def create_upload_pic():

    if "user_file" not in request.files:
        flash("No user_file key in request.files")
        return redirect(url_for('users.edit_profile_pic'))

    file = request.files["user_file"]

    if file.filename == "":
        return "Please select a file"

    if file and allowed_file(file.filename):
        file.filename = secure_filename(file.filename)
        image_url = upload_file_to_s3(file, S3_BUCKET)
        image = Image.create(image_path=file.filename, user_id=current_user.id)
        image.save()
        return redirect(url_for('users.show', username_id=current_user.id))
Example #8
0
def create_picture(id):
    # get file from request
    file = request.files["img_file"]
    # if no file in request
    if not file:
        flash("Please choose a file.", 'danger')
        return render_template('images/new.html')
    # if file in request
    file.filename = secure_filename(file.filename)
    output = upload_file_to_s3(file)
    # if no image link get from upload function
    if not output:
        flash("Unable to upload file, please try agian", "danger")
        return render_template('images/new.html')
    # if img link return, means uploaod successful
    else:
        # get current_user
        user = User.get_or_none(User.id == id)
        image = Image.create(img_file_name = file.filename, user_id = user)
        # save profile image link in user class
        image.save()
        flash("Image uploaded successfully!", "success")
        return redirect(url_for('images.new', id=id))