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
>>>>>>
>>>
>

Reply via email to