I'm trying to do a realtime commenting system. I have this place for comments in posts, and I want the new comments to display automatically in the comments area, with reloading the page.
I have this that check if there are new posts after the page is loaded every ten seconds: setInterval("ajax('{{=URL(r=request, f='last_comments', args=post_id)}}/{{=time()}}', ['comment'], ':eval');", 10000); I then use request.args(1) to query the db if there are post created after the load. But if it finds a new post, i have to save in the session the new time for cheking.. It works well, but i need to have the post_id in the session variable, because if the user as 2 posts loaded, I want the correct comments to be displayed in the correct posts. I don't know if this is the best way, if you any other option please let me know. On Feb 1, 8:15 pm, Jonathan Lundell <jlund...@pobox.com> wrote: > On Feb 1, 2011, at 11:54 AM, Francisco Costa wrote: > > > > > the problem is when i open a second tab, it copies the session.id and > > doesn't recognize the new page_id > > > basically what i want is a diferrent session.id[page_id] for each tab > > i open > > where is page_id coming from? Perhaps the intended code is: > > session.id = session.id or {} > session.id['page_id'] = session.id.get('page_id', str(request.now)) > > But yes, the problem with this is that you'll always get the same page id > within a session. > > I see a couple more problems as well. You don't actually see "pages" or > "tabs"; you just see requests. So a reload of a page is indistinguishable > from opening the same page in a new tab. > > Also, you have no way of knowing when a page is closed. So if you keep a dict > of open pages in your session, it'll grow indefinitely, which could result in > a rather large session file. > > What are you really trying to do? > > > > > > > > > > > On Feb 1, 5:19 pm, Massimo Di Pierro <massimo.dipie...@gmail.com> > > wrote: > >> session.id = session.id or {} > >> session.id[page_id]=session.id.get(page_id,str(request.now)) > > >> On Feb 1, 9:59 am, Francisco Costa <m...@franciscocosta.com> wrote: > > >>> I want something like this: > > >>> if not session.id[page_id]: > >>> session.id[page_id]=str(request.now) > > >>> but i get this error: KeyError: '74' > > >>> I want to validate if a dynamic variable exists.. if not I want to > >>> create it and to get the time > > >>> On Feb 1, 4:17 am, Jason Brower <encomp...@gmail.com> wrote: > > >>>> You can do that. At the top of the default.py or what ever you are > >>>> using, place something like... > >>>> session.pages[request.page] = True > >>>> or how ever you want to do it. Just make sure because it is a dictionary > >>>> that you blank it or initialize it befor asigning anything to it. > > >>>> ----- Original message ----- > >>>>> Hello, > >>>>> I want to have dinamic session variables like this: > >>>>> session.id > >>>>> where id is different from page to page.. > > >>>>> I've tried > >>>>> id = variable > >>>>> session.id > > >>>>> and > >>>>> session.id['variable'] > > >>>>> without any results. > > >>>>> I would like to be able to open different pages at the same time and > >>>>> the browser could get all the session variables.- Hide quoted text - > > >>> - Show quoted text -