Ejemplo n.º 1
0
    def browse(self):
        c.message = request.params.get('message', None)

        query = Recipe.all()
        query.order('title')

        c.page = int(request.params.get('page', 1))
        c.recipes, c.pages = paginate(query, c.page, limit=20)
        c.page_url = url(controller='recipe', action='browse', id=None)

        return render('/recipes.mako')
Ejemplo n.º 2
0
    def home(self):
        latest = Recipe.all().order('-modified').fetch(5)

        c.latest = [(r,
                     url(controller='recipe', action='view',
                         id=r.key().id()),
                     url(controller='recipe', action='search',
                            user=r.owner))
                    for r in latest]

        return render('home.mako')
Ejemplo n.º 3
0
    def mine(self):
        c.message = request.params.get('message', None)

        query = Recipe.all()
        query.filter('owner =', users.get_current_user())
        query.order('title')

        c.page = int(request.params.get('page', 1))
        c.recipes, c.pages = paginate(query, c.page, limit=5)

        c.page_url = url(controller='recipe', action='mine',
                         id=None)
        return render('/recipes.mako')
Ejemplo n.º 4
0
    def search(self):
        c.page = int(request.params.get('page', 1))

        user = request.params.get('user', None)
        if user == 'None': user = None

        keywords = request.params.get('keywords', None)
        if keywords == 'None': keywords = ''

        query = Recipe.all()
        query.order('title')
        if user is not None:
            if user and not '@' in user: user += '@gmail.com'
            query.filter('owner =', users.User(user))
            results = query

        elif keywords is not None:
            kwds = keywords.split(' ')

            results = [r for r in query if \
                       [k for k in kwds if k.lower() in r.title.lower()
                        or k.lower() in str(r.owner).lower()]]
        else:
            redirect(request.headers.get('REFERER', '/'))

        c.user = user
        c.keywords = keywords
        c.recipes, c.pages = paginate(results, c.page, limit=5)

        page_url_params = dict(controller='recipe', action='search',
                               id=None)
        if user is not None:
            page_url_params['user'] = user
        if keywords is not None:
            page_url_params['keywords'] = keywords

        c.page_url = url(**page_url_params)

        return render('/recipes.mako')