This looks ok. Are you returning True in your match_request if request matches?
On Wed, Jun 26, 2013 at 5:44 PM, Antonia Horincar <[email protected]> wrote: > It does get called, I wrote ticket_id = req.args.get('id') in the > process_request method and then printed ticket_id. After starting the > server, I looked in the logs and the correct id was there. I also > printed req.path_info and the output was /api/ticket/1. > > On Wed, Jun 26, 2013 at 6:34 PM, Anze Staric <[email protected]> wrote: >> Can you try setting a breakpoint in the match_request method and see >> what is happening? (Does it get called? What is the value of >> req.path_info?) I don't see any reason why would requests be matched >> in global environment, but not in product ones. >> >> On Wed, Jun 26, 2013 at 5:21 PM, Antonia Horincar >> <[email protected]> wrote: >>> On Wed, Jun 26, 2013 at 6:00 PM, Matevž Bradač <[email protected]> wrote: >>>> >>>> On 26. Jun, 2013, at 16:43, Antonia Horincar wrote: >>>> >>>>> On Wed, Jun 26, 2013 at 5:29 PM, Matevž Bradač <[email protected]> >>>>> wrote: >>>>>> >>>>>> On 26. Jun, 2013, at 16:14, Antonia Horincar wrote: >>>>>> >>>>>>> Hi Pranay, >>>>>>> >>>>>>> Thanks for the link, I had a look at it yesterday, but unfortunately >>>>>>> it doesn't help me with the error. >>>>>>> >>>>>>> I'm still not sure what's causing this error to come up every time I >>>>>>> try to access a ticket through my API. The ticket exists, I checked >>>>>>> this in the Python interpreter. I am suspecting that the problem might >>>>>>> be caused by the environment, but don't know why or how to solve it. I >>>>>>> have 'forced' the API to use the "bloodhound/environments/main" >>>>>>> environment by writing >>>>>>> env = trac.env.Environment("bloodhound/environments/main") >>>>>>> in the process_request method (I only did this so that maybe I could >>>>>>> see what's causing the error). >>>>>>> After doing this, I tried to access the ticket again and the error was >>>>>>> KeyError: 'author_id', and this made me think that maybe the >>>>>>> application runs on a different environment that the one I forced my >>>>>>> API to run on. I'm definitely not sure if this is the problem. I will >>>>>>> continue to try to solve this, but I am stuck for now. If anyone has >>>>>>> the slightest idea on what could be the problem, that would be more >>>>>>> than welcome. >>>>>> >>>>>> This could be related to multiproduct functionality. Could you >>>>>> specify some more details on the following: >>>>>> - How was the ticket created? Programatically or in the web UI? >>>>> >>>>> The ticket was created through the web UI. >>>> >>>> Ok, it should "belong" to a specific product then. Do you have >>>> multiple products set up, or are you just using the default one? >>> >>> I am using the default one. >>> >>>> >>>>> >>>>>> - What does the SQL dump for that ticket from the Bloodhound DB look >>>>>> like? (e.g. something like "SELECT * FROM ticket WHERE id=1;") >>>>> >>>>> I looked at the logs in the console but the database queries are not >>>>> displayed. Only the requests. >>>> >>>> Correct, you have to manually run the query from the database. >>>> If you have installed Bloodhound with sqlite3 as its database, try >>>> the following (you need to have sqlite3 installed beforehand): >>>> 1. Traverse to the "db" directory in the BH environment. IIRC the >>>> relative path should be "bloodhound/environments/main/db". >>>> 2. Open the database with >>>> sqlite3 bloodhound.db >>>> 3. List the ticket using the select statement >>>> SELECT * FROM ticket WHERE id=<ID>; >>>> replace the <ID> part with the actual ticket ID. >>> >>> This is weird, it says Error: no such table: ticket. Did I not >>> configure the database properly then? >>> >>>> >>>>> >>>>>> - How are you accessing that ticket from the code? I understand it's >>>>>> from a template, is that template loaded in a specific product >>>>>> environment or in the global one? >>>>> >>>>> The template is loaded only for my plugin, it's not a global one. Well >>>>> actually, it doesn't load because from what I saw the error occurs >>>>> before reaching the template. >>>> >>>> I'm assuming that the "self.env" referenced in your code doesn't >>>> match the ticket's, or something similar. Could you dump the >>>> self.env and ticket_id from the code, so that we can compare them >>>> to the SQL dump? >>>> >>>>> >>>>>> >>>>>> -- >>>>>> matevz >>>>>> >>>>>> >>>>>>> >>>>>>> Thanks, >>>>>>> Antonia >>>>>>> >>>>>>> On Wed, Jun 26, 2013 at 1:29 AM, Pranay B. Sodre >>>>>>> <[email protected]> wrote: >>>>>>>> Antonia- I am trying to understand this Ticket field myself. The place >>>>>>>> I am >>>>>>>> looking at to fully understand how this is structured is listed below. >>>>>>>> The >>>>>>>> structure is based on code written here >>>>>>>> http://trac.edgewall.org/browser/branches/1.0-stable/trac/ticket/model.py?rev=11830 >>>>>>>> >>>>>>>> Look at line 120. I am not sure if this will answer your question, but >>>>>>>> it a >>>>>>>> place to look. >>>>>>>> >>>>>>>> Pranay B. >>>>>>>> >>>>>>>> "He is richest who is content with the least, for content is the >>>>>>>> wealth of >>>>>>>> nature."- >>>>>>>> >>>>>>>> Socrates >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> On 25 June 2013 14:31, Antonia Horincar <[email protected]> >>>>>>>> wrote: >>>>>>>> >>>>>>>>> Hi, >>>>>>>>> >>>>>>>>> I made a basic template for displaying ticket information when >>>>>>>>> accessing a certain path, but I am having trouble with processing the >>>>>>>>> ticket. It gives me an error "Ticket <id> does not exist" even though >>>>>>>>> there is a ticket with the id that I entered. What I did in my api, >>>>>>>>> after matching the request, in the process_request method was >>>>>>>>> something like this: >>>>>>>>> data = {'ticket': model.Ticket(self.env, ticket_id)}, where ticket_id >>>>>>>>> is the id of the req argument. >>>>>>>>> >>>>>>>>> I have checked if the matching does indeed find the correct id, and it >>>>>>>>> does. I have looked through the other Bloodhound APIs but I found no >>>>>>>>> clue that could help me determine the cause of my error. If anyone >>>>>>>>> encountered this error before and knows what might be causing it, can >>>>>>>>> you please help me? I might be missing something or I might have >>>>>>>>> misunderstood some concepts. >>>>>>>>> >>>>>>>>> Thanks, >>>>>>>>> Antonia >>>>>>>>> >>>>>> >>>>
