1) GAE rules. Here is a quick fix.

posts = db((db.posts.category == cat.id)).select(db.posts.ALL).sort
(lambda r['created'],reverse=True)

2) Try one of these variations

if request.args[0] is u'Programação'
if request.args[0] is unicode('Programação')
if request.args[0] is unicode('Programação').encode('utf8')


On Dec 30, 1:11 pm, Leandro - ProfessionalIT <[email protected]>
wrote:
> Friends,
>   I have two Problems in my blog App (running in GAE).
>   1) In the code that generate the RSS by category:
>      - It's run but only if I don't put the orderby declaration in
> db.select() method but
>      I need to sort my posts by ~created(DESC created) date to
> generate my RSS feeds.
>
>         My RSS function:
>
>         def rss():
>                 import datetime
>                 
> response.headers['Content-Type']='application/rss+xml;charset=utf-8'
>                 import gluon.contrib.rss2 as rss2
>                 try:
>                         cat_name = request.args[0]
>                         if cat_name == 'all':
>                                 cat_name = ''
>                         if cat_name != '' :
>                                 cat = 
> db(db.categories.name==cat_name).select()[0]
>                                 # This code generate a Exception
>                                 #posts = db(
>                                 #                       (db.posts.category == 
> cat.id)
>                                 #                       
> ).select(db.posts.ALL, orderby=~db.posts.created)
>
>                                 # This code run OK.
>                                 posts = db(
>                                                         (db.posts.category == 
> cat.id)
>                                                         ).select(db.posts.ALL)
>
>                         else:
>                                 posts = db().select(db.posts.ALL, 
> orderby=~db.posts.created)
>                 except Exception, e:
>                         raise e
>
>                .... more code ....
>
>   2) Filter posts by category name with name in Portuguese:
>      - I have a function that show-me the posts in determined
> category,
>      but if the category name is writted with especial characters/
> Latin characters I receive a Exception.
>
>         My posts by category function:
>
>     # If request.args[0] is 'News' run OK
>     # If request.args[0] is 'Programação' I receive a Exception
>         def category():
>         try:
>                 cat_name = request.args[0]
>                 cat = db(db.categories.name==cat_name).select()[0]
>                 recordsby=7
>                 if request.vars.pagina:
>                         page=int(request.vars.pagina)
>                 else:
>                         page=0
>                 totalrecs = len(db((db.posts.category == cat.id)).select
> (db.posts.ALL))
>                 posts = db((db.posts.category == cat.id)).select
> (db.posts.ALL,limitby=(page*recordsby,(page*recordsby)+recordsby))
>                 
> backward=A('Anteriores',_href=URL(r=request,args=[cat_name],vars=dict
> (pagina=page-1))) if page else ''
>                 
> forward=A('Próximos',_href=URL(r=request,args=[cat_name],vars=dict
> (pagina=page+1))) if totalrecs>((page*recordsby)+recordsby) else ''
>                 response.rss_url = "/blog/rss/%s/" % cat_name
>                 return dict(posts = posts,backward=backward,forward=forward)
>         except Exception, e:
>                 raise e
>
> How to resolve this two problems ?

--

You received this message because you are subscribed to the Google Groups 
"web2py-users" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/web2py?hl=en.


Reply via email to