Esempio n. 1
0
def folders():
    folders = Folder.get_all(True)
    folder = None

    if request.args.get('edit') and request.args.get('edit') != 1:
        folder = Folder.get(Folder.id == request.args.get('edit'))
        form = FolderForm(obj=folder)
        if form.validate_on_submit():
            form.populate_obj(folder)
            folder.modified = datetime.datetime.now()
            folder.save()
            flash(messages['updated'] + ' (' + str(folder) + ')')
            return redirect(url_for('admin.folders'))
    else:
        form = FolderForm()
        if form.validate_on_submit():
            Folder.add(form)
            flash(messages['added'] + ' (' + str(folder) + ')')
            return redirect(url_for('admin.folders'))

    return render_template('admin/folders.html',
                           folders=folders,
                           folder=folder,
                           title=gettext('Categories'),
                           form=form)
Esempio n. 2
0
def feed_folder(folder):
    if folder.split('/')[0] != 'admin':
        folder = Folder.get(Folder.guid == folder)
        if folder:
            posts = Post.filter(Post.id_folder == folder.id, Post.status == 'published', Post.type == 'post').order_by(Post.created).limit(20)

            feed = AtomFeed(
                fypress.options['name'] + ' • ' + folder.name,
                subtitle=folder.seo_content,
                feed_url=request.url_root + 'feed/',
                url=request.url_root,
                generator=None
            )

            for post in posts:
                feed.add(
                    post.title,
                    post.content,
                    content_type='html',
                    author=post.user.nicename,
                    url=request.url_root + post.guid,
                    updated=post.modified,
                    published=post.created
                )

            response = feed.get_response()
            response.headers["Content-Type"] = 'application/xml'

            return response
        else:
            return is_404()
    else:
        return is_admin_404()
Esempio n. 3
0
def init_fypress(login='', email='', passwd=''):
    if not passwd or not email or not login:
        print '*** /!\ Usage: python manager.py --login=name [email protected] --passwd=yourpass'
        return False

    user = User.add(login, email, passwd)
    if user:
        user.status = 4
        user.nicename = user.login
        user.save()
        print '*** Added user: '******'*** /!\ Invalid user (Duplicate entry)'

    exist = Folder.get(Folder.id == 1)
    if not exist:
        folder = Folder()
        folder.name = 'Uncategorized'
        folder.id = 1
        folder.guid = ''

        folder.insert()
        print '*** Added Folder: ' + str(folder)

    options = [['name', 'FyPress Site'], ['url', Config.URL],
               ['slogan', 'Welcome to FyPress'], ['theme', 'Nyx']]
    for option in options:
        opt = Option.update(option[0], option[1])
        print '*** Added Option: ' + str(opt)
Esempio n. 4
0
def is_folder(slug):
    if slug.split('/')[0] != 'admin':
        folder = Folder.get(Folder.guid == slug)
        if folder:
            folder.is_folder = True
            folder.pages = Post.filter(Post.id_folder == folder.id, Post.status == 'published', Post.type == 'page').order_by(Post.created).all()
            folder.index = Post.filter(Post.id_folder == folder.id, Post.slug == 'index', Post.status == 'published', Post.type == 'page').one()
            folder.posts = Paginator(
                query=Post.filter(Post.id_folder == folder.id, Post.status == 'published', Post.type == 'post').order_by(Post.created),
                page=request.args.get('page'),
                theme='bootstrap',
                per_page=4
            )

            return render_template(Theme.get_template('folder.html'), this=folder)
        else:
            return is_404()
    else:
        return is_admin_404()
Esempio n. 5
0
File: views.py Progetto: Fy-/FyPress
def folders():
    folders = Folder.get_all(True)
    folder = None

    if request.args.get('edit') and request.args.get('edit') != 1:
        folder = Folder.get(Folder.id == request.args.get('edit'))
        form = FolderForm(obj=folder)
        if form.validate_on_submit():
            form.populate_obj(folder)
            folder.modified = datetime.datetime.now()
            folder.save()
            flash(messages['updated'] + ' (' + str(folder) + ')')
            return redirect(url_for('admin.folders'))
    else:
        form = FolderForm()
        if form.validate_on_submit():
            Folder.add(form)
            flash(messages['added'] + ' (' + str(folder) + ')')
            return redirect(url_for('admin.folders'))

    return render_template('admin/folders.html', folders=folders, folder=folder, title=gettext('Categories'), form=form)
Esempio n. 6
0
    def guid_generate(self, rev=False):
        count = ''
        if rev:
            count = Post.filter(Post.parent == rev).all()
            count = '&rev=' + str(len(count))
            return '?post_id={}'.format(rev) + count

        path = Folder.get(Folder.id == self.id_folder)
        path = path.guid

        name = self.slug + count

        if self.id:
            guid = url_unique(path + '/' + name, Post, self.id)
        else:
            guid = url_unique(path + '/' + name, Post)

        if guid[0] == '/':
            guid = guid[1:]

        return guid