Esempio n. 1
0
def create_blog_api():
    user = g.get('user', None)
    if user is None:
        return redirect(url_for('login'))
    else:
        if user.admin:
            name = request.form['name'].encode('utf8')
            summary = request.form['summary'].encode('utf8')
            content = request.form['content'].encode('utf8')
            user_id = request.form['user_id'].encode('utf8')
            user_name = request.form['user_name'].encode('utf8')
            user_image = request.form['user_image'].encode('utf8')
            sess = DBSession()
            blog = Blogs(user_id=user_id,
                         user_name=user_name,
                         user_image=user_image,
                         name=name,
                         summary=summary,
                         content=content)
            sess.add(blog)
            sess.commit()
            sess.close()
            return 'ok'
        else:
            return redirect(url_for('login'))
Esempio n. 2
0
def addBlog():
    new_blogTitle = request.form['blog_Title']
    new_blogEntry = request.form['blog_NewEntry']

    # grab current user
    owner = Users.query.filter_by(username=session['username']).first()

    title_Error = ''
    entry_Error = ''

    if new_blogTitle == '':
        title_Error = 'Title is empty'
    if new_blogEntry == '':
        entry_Error = 'Entry is empty'

    if (title_Error != '') or (entry_Error != ''):
        return render_template('newpost.html',
                                title_Error = title_Error,
                                entry_Error = entry_Error)
    else:
        blog = Blogs(title=new_blogTitle, body=new_blogEntry, owner_id=owner.id)
        db.session.add(blog)
        db.session.commit()

        return redirect('/blog?id='+str(blog.id))
Esempio n. 3
0
def loadblogs():
    blogs = Blogs()
    blogs.title = "Bienvenido!"
    blogs.bintro = "Te dejo un saludo y una pequeña presentación!"
    blogs.publictext = "Si estas leyendo estas líneas es por que quieres revisar el trabajo que puedo hacer como Desarrollor Full Stack. Tengo habilidades tanto en el Front como en el Back End. Recomiendo que puedas ver esta pagina como usuario registrado o loguearte como usuario administrador que tiene como correo [email protected] y clave 123456, y así podras ver todo el contenido que tengo para ti, incluyendo videos."
    blogs.blogvideo = "https://www.youtube.com/embed/AOzjMEIZkrg"
    blogs.privatext = "Para no tomar mucho de tu tiempo, te cuento que soy Ingeniero Comercial de la Universidad de la Universidad de los Andes y Desarrollador de Software Full Stack de 4Geeks. Cuento con más de 8 años como profesional y la habia desarrollado en el área comercial y de marketing liderando equipos de trabajos, negociaciones con todo nivel de clientes y estrategia empresarial. Lo que me incentivo a dedicarme al área tecnologica fue principalmente que en todas las empresas donde trabajé, la evaluación, implementación y administración de TICs en ellas, y al verme cada vez mas interesado en como se hacen las cosas, descubrí un mundo enorme que terminó siendo más que un pasatiempo, una pasión"

    db.session.add(blogs)
    db.session.commit()

    print("Blogs Creados!")
Esempio n. 4
0
def add_blog():
    request_payload = json.loads(request.data)
    username = request_payload['username']
    blog_content = request_payload['blog_content']

    response = dict()
    try:
        blog = Blogs(username, blog_content)
        db.session.add(blog)
        db.session.commit()
        response['success'] = "ok"
    except:
        return 'Blog can\'t be added', 400

    return jsonify(response)
Esempio n. 5
0
def api_create_blog():
    check_admin()
    i = ctx.request.input(name='', summary='', content='')
    name = i.name.strip()
    summary = i.summary.strip()
    content = i.content.strip()
    if not name:
        raise APIValueError('name', 'name cannot be empty.')
    if not summary:
        raise APIValueError('summary', 'summary cannot be empty.')
    if not content:
        raise APIValueError('content', 'content cannot be empty.')
    user = ctx.request.user
    blog = Blogs(user_id=user.id,
                 user_name=user.name,
                 name=name,
                 summary=summary,
                 content=content)
    blog.insert()
    return blog
Esempio n. 6
0
def blog_create():
    user = checkUser()
    if user is None:
        return redirect('/')
    form = BlogTextForm()
    if request.method == 'GET':
        return render_template(
            'blog_edit.html',
            form = form,
            user = user,
            base64=base64
        )
    if request.method == 'POST':
        name = form.name.data
        summary = form.summary.data
        content = form.content.data
        tag = form.tag.data
        blog = Blogs(id = str(uuid1()),user_id = user.id,user_name = user.name,name = name,summary = summary,content = content,tag = tag)
        db.session.add(blog)
        db.session.commit()
        return redirect('/myblogs')
Esempio n. 7
0
def api_create_blog(request, *, blog_title, blog_tag, summary, content):
    check_user_admin_flag(request)
    if not blog_title or not blog_title.strip():
        raise APIValueError('blog_title', 'blog_title can not be empty')
    if not summary or not summary.strip():
        raise APIValueError('summary', 'summary can not be empty')
    if not content or not content.strip():
        raise APIValueError('content', 'content can not be empty')
    if not blog_tag or not blog_tag.strip():
        blog_tag = '默认分类'
    # 注意 这里请求了request 的user 等信息 实际上是因为在上面进行了确认
    blog = Blogs(user_id=request.__user__.id,
                 user_name=request.__user__.name,
                 user_image=request.__user__.image,
                 blog_title=blog_title.strip(),
                 summary=summary.strip(),
                 content=content.strip(),
                 tag=blog_tag)
    yield from blog.save()
    # 现在需要新增一个 保存后返回文章链接的功能
    blogs = yield from Blogs.find_all(OrderBy='created_time desc')
    recent_blog = blogs[0]
    blog_url = '/index.html?item=' + recent_blog['id']
    return {'new_url': blog_url}
Esempio n. 8
0
def blog(id=None):
    if request.method == 'GET':
        if id is not None:
            blog = Blogs.query.get(id)
            if blog:
                return jsonify(blog.serialize()), 200
            else:
                return jsonify({"msg": "Blog not found"}), 404
        else:
            blogs = Blogs.query.all()
            blogs = list(map(lambda blog: blog.serialize(), blogs))
            return jsonify(blogs), 200

    if request.method == 'POST':
        title = request.form.get('title', None)
        bintro = request.form.get('bintro', None)
        publictext = request.form.get('publictext', None)
        privatext = request.form.get('privatext', None)

        if not title or title == "":
            return jsonify({"msg": "Insert the blog title"}), 400
        if not bintro or bintro == "":
            return jsonify({"msg": "Insert the blog introduction"}), 400
        if not publictext or publictext == "":
            return jsonify({"msg": "Insert the blog public text"}), 400
        if not privatext or privatext == "":
            return jsonify({"msg": "Insert the blog private text"}), 400
        # if not blogimagen or blogimagen == "":
        #     return jsonify({"msg":"Debes agregar una foto para el blog"}), 400

        file = request.files['blogimagen']

        if file and file.filename != '' and allowed_file(
                file.filename, ALLOWED_EXTENSIONS_IMAGES):
            filename = secure_filename(file.filename)
            file.save(
                os.path.join(
                    os.path.join(app.config['UPLOAD_FOLDER'], 'img/blog'),
                    filename))
        else:
            return jsonify({"msg": "Incorrect File"}), 400

        blogs = Blogs()

        blogs.title = title
        blogs.bintro = bintro
        blogs.publictext = publictext
        blogs.blogvideo = blogvideo
        blogs.privatext = privatext
        if file:
            blogs.blogimagen = filename

        db.session.add(blogs)
        db.session.commit()

        blogs = Blogs.query.all()
        blogs = list(map(lambda blog: blog.serialize(), blogs))
        return jsonify(blogs), 201

    if request.method == 'PUT':
        title = request.json.get('title', None)
        bintro = request.json.get('bintro', None)
        publictext = request.json.get('publictext', None)
        privatext = request.json.get('privatext', None)

        if not title or title == "":
            return jsonify({"msg": "Insert the blog title"}), 400
        if not bintro or bintro == "":
            return jsonify({"msg": "Insert the blog introduction"}), 400
        if not publictext or publictext == "":
            return jsonify({"msg": "Insert the blog public text"}), 400
        if not privatext or privatext == "":
            return jsonify({"msg": "Insert the blog private text"}), 400

        blogput = Blogs.query.get(id)  #busca por el id

        if not blogput:
            return jsonify({"msg": "Not Found"
                            }), 404  # para no actualizar algo q no existe

        blogput.title = title
        blogput.bintro = bintro
        blogput.publictext = publictext
        blogput.privatext = privatext

        db.session.commit()

        blogput = Blogs.query.all()
        blogput = list(map(lambda blog: blog.serialize(), blogput))
        return jsonify(blogput), 200

    if request.method == 'DELETE':
        blog = Blogs.query.get(id)
        if not blog:
            return jsonify({"msg": "Blog not found"}), 404
        db.session.delete(blog)
        db.session.commit()
        return jsonify({"msg": "Blog deleted"}), 200