Exemplo n.º 1
0
def new_post():
    key = request.forms.get('key')

    if not key_verified(key):
        return 'Verify Failured, Key Error!\n'

    filename = request.forms.get('filename')
    content = request.forms.get('content')

    filename = os.path.basename(filename)
    title, ext = os.path.splitext(filename)
    ext = ext.lstrip('.')

    try:
        tags_str, content = content.split('\n', 1)
        tags_str = tags_str.split(':')[-1]
        tags = [t.strip() for t in tags_str.split(',')]
    except:
        return 'Invalid content!\n'

    try:
        c = Convert(ext)
    except NotImplementedError:
        return 'This format not supported yet!\n'
    except Exception:
        return 'Error occurred!\n'

    try:
        html = c.convert(content)
    except ClassNotFound, e:
        return 'ClassNotFound, %s\n' % str(e)
Exemplo n.º 2
0
def new_post():
    key = request.forms.get('key')
    
    if not key_verified(key):
        return '<h2>Security Key NOT matched!</h2>'
    
    title = request.forms.get('title').strip()
    if not title:
        return "<h2>Error: title is empty!</h2>"

    tags_str = request.forms.get('tags').strip().strip(",")
    if not tags_str:
        return "<h2>Error: tag is empty!</h2>"
    tags = [t.strip() for t in tags_str.split(',')]
    
    md = request.forms.get('markdown')
    if not md:
        return "<h2>Error: no contents!</h2>"

    code = request.forms.get('code')
    html = Convert("md").convert(md)
    try:
        with session_context() as session:
            if not code:
                p = store_new_post(session, title, html, md, tags)
            else:
                p = edit_post(session, code, title, html, md, tags)
    except Exception as err:
        p = None
        msg = str(err)
    return template('jump2article', p = p, msg = '' if p else msg)
Exemplo n.º 3
0
def new_post():
    key = request.forms.get("key")

    if not key_verified(key):
        return "Verify Failured, Key Error!\n"

    filename = request.forms.get("filename")
    content = request.forms.get("content")

    filename = os.path.basename(filename)
    title, ext = os.path.splitext(filename)
    ext = ext.lstrip(".")

    try:
        tags_str, content = content.split("\n", 1)
        tags_str = tags_str.split(":")[-1]
        tags = [t.strip() for t in tags_str.split(",")]
    except:
        return "Invalid content!\n"

    try:
        c = Convert(ext)
    except NotImplementedError:
        return "This format not supported yet!\n"
    except Exception:
        return "Error occurred!\n"

    try:
        html = c.convert(content)
    except ClassNotFound, e:
        return "ClassNotFound, %s\n" % str(e)
Exemplo n.º 4
0
def edit():
    
    key = request.forms.get('key')
    if not key_verified(key):
        return {"example": "Security key NOT matched!", "title": '', 'tags': '', 'code': ''}
    post_id = request.forms.get("blog_id")
    try:
        post_id_int = int(post_id)
    except ValueError as err:
        example = str(err)
    

    with session_context() as session:
        p = session.query(Post).filter(Post.id == post_id_int)
        if p.count > 0:
            p = p.one()
            title = p.title
            example = p.markdown
            tags_list = [t.name for t in p.tags]
            tags = ','.join(tags_list)
            code = p.code
        else:
            example = 'No blog found!'
            title = ''
            tags = ''
            code = ''

    return {"example": example, "title": title, "tags": tags, "code": code}