All of lore.kernel.org
 help / color / mirror / Atom feed
* [review-request] Bug #5920 "Secondary sorting criteria not working"
@ 2014-03-26 23:34 Reyna, David
  2014-03-27 11:48 ` Barros Pena, Belen
  0 siblings, 1 reply; 8+ messages in thread
From: Reyna, David @ 2014-03-26 23:34 UTC (permalink / raw)
  To: BARROS PENA, BELEN, DAMIAN, ALEXANDRU; +Cc: toaster

[-- Attachment #1: Type: text/plain, Size: 533 bytes --]

Hi Belen,

Here is my branch for 5920 "Secondary sorting criteria not working". It will add a secondary sort for all tables when the current sort is a different column that the table's respective default sort.

The branch is here: dreyna/secondary_sort_5920

It depends on these two commits before it:
  6012: f648d5018f7d3ae6eb81f0a05bdbbfe51080eece "Duplicate search results returned in the build page"
  5947: fd12d8aad22eadee20723a1b5323035e0ac47742 "Replace fstypes lookup on main build page"

Thanks,
David





[-- Attachment #2: Type: text/html, Size: 1476 bytes --]

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [review-request] Bug #5920 "Secondary sorting criteria not working"
  2014-03-26 23:34 [review-request] Bug #5920 "Secondary sorting criteria not working" Reyna, David
@ 2014-03-27 11:48 ` Barros Pena, Belen
  2014-03-27 16:13   ` Reyna, David
  0 siblings, 1 reply; 8+ messages in thread
From: Barros Pena, Belen @ 2014-03-27 11:48 UTC (permalink / raw)
  To: Reyna, David L (Wind River), Damian, Alexandru; +Cc: toaster

On 26/03/2014 23:34, "Reyna, David" <david.reyna@windriver.com> wrote:

>Hi Belen,
> 
>Here is my branch for 5920 ³Secondary sorting criteria not working². It
>will add a secondary sort for all tables when the current sort is a
>different column that the table¹s respective default sort.
> 
>The branch is here: dreyna/secondary_sort_5920

I am getting an error in the builds page with this branch:

Invalid filter: 'get_dict_value'

Full trace below:

Environment:


Request Method: GET
Request URL: 
http://localhost:8000/gui/builds/?count=10&orderby=completed_on%3A-&page=1

Django Version: 1.5
Python Version: 2.7.3
Installed Applications:
('django.contrib.staticfiles',
 'django.contrib.humanize',
 'orm',
 'toastermain',
 'toastergui',
 'bldviewer',
 'south')
Installed Middleware:
('django.middleware.common.CommonMiddleware',
 'django.contrib.sessions.middleware.SessionMiddleware',
 'django.middleware.csrf.CsrfViewMiddleware',
 'django.contrib.auth.middleware.AuthenticationMiddleware',
 'django.contrib.messages.middleware.MessageMiddleware')


Template error:
In template 
/home/yocto/poky/bitbake/lib/toaster/toastergui/templates/build.html,
error at line 96
   Invalid filter: 'get_dict_value'
   86 :             <td class="target">{% for t in build.target_set.all %}
<a href="{% url "builddashboard" build.id <http://build.id/> %}">
{{t.target}} </a> <br />{% endfor %}</td>


   87 :             <td class="machine"><a href="{% url "builddashboard"
build.id <http://build.id/> %}">{{build.machine}}</a></td>


   88 :             <td class="started_on"><a href="{% url
"builddashboard" build.id <http://build.id/>
%}">{{build.started_on|date:"d/m/y H:i"}}</a></td>


   89 :             <td class="completed_on"><a href="{% url
"builddashboard" build.id <http://build.id/>
%}">{{build.completed_on|date:"d/m/y H:i"}}</a></td>


   90 :             <td class="failed_tasks error">{% query
build.task_build outcome=4 order__gt=0 as exectask%}{% if exectask.count
== 1 %}<a href="{% url "task" build.id <http://build.id/> exectask.0.id
<http://exectask.0.id/> %}">{{exectask.0.recipe.name
<http://exectask.0.recipe.name/>}}.{{exectask.0.task_name}}</a>{% elif
exectask.count > 1%}<a href="{% url "tasks" build.id <http://build.id/>
%}?filter=outcome%3A4">{{exectask.count}}</a>{%endif%}</td>


   91 :             <td class="errors_no">{% if  build.errors_no %}<a
class="errors_no error" href="{% url "builddashboard" build.id
<http://build.id/>%}#errors">{{build.errors_no}}
error{{build.errors_no|pluralize}}</a>{%endif%}</td>


   92 :             <td class="warnings_no">{% if  build.warnings_no %}<a
class="warnings_no warning" href="{% url "builddashboard" build.id
<http://build.id/> %}#warnings">{{build.warnings_no}}
warning{{build.warnings_no|pluralize}}</a>{%endif%}</td>


   93 :             <td class="time"><a href="{% url "buildtime" build.id
<http://build.id/> %}">{{build.timespent|sectohms}}</a></td>


   94 :             <td class="log">{{build.cooker_log_path}}</td>


   95 :             <td class="output">


   96 :                {% if build.outcome == build.SUCCEEDED %}


   97 :               <a href="{%url "builddashboard" build.id
<http://build.id/>%}#images">{{fstypes|get_dict_value:build.id
<http://build.id/>}}</a>


   98 :               {% endif %}


   99 :             </td>


   100 :         </tr>


   101 : 


   102 :         {% endfor %}


   103 : 


   104 : 


   105 : {% include "basetable_bottom.html" %}


   106 : 


Traceback:
File "/usr/local/lib/python2.7/dist-packages/django/core/handlers/base.py"
in get_response
  115.                         response = callback(request,
*callback_args, **callback_kwargs)
File "/home/yocto/poky/bitbake/lib/toaster/toastergui/views.py" in builds
  376.     return render(request, template, context)
File "/usr/local/lib/python2.7/dist-packages/django/shortcuts/__init__.py"
in render
  53.     return HttpResponse(loader.render_to_string(*args, **kwargs),
File "/usr/local/lib/python2.7/dist-packages/django/template/loader.py" in
render_to_string
  170.         t = get_template(template_name)
File "/usr/local/lib/python2.7/dist-packages/django/template/loader.py" in
get_template
  146.     template, origin = find_template(template_name)
File "/usr/local/lib/python2.7/dist-packages/django/template/loader.py" in
find_template
  135.             source, display_name = loader(name, dirs)
File "/usr/local/lib/python2.7/dist-packages/django/template/loader.py" in
__call__
  43.         return self.load_template(template_name, template_dirs)
File "/usr/local/lib/python2.7/dist-packages/django/template/loader.py" in
load_template
  49.             template = get_template_from_string(source, origin,
template_name)
File "/usr/local/lib/python2.7/dist-packages/django/template/loader.py" in
get_template_from_string
  157.     return Template(source, origin, name)
File "/usr/local/lib/python2.7/dist-packages/django/template/base.py" in
__init__
  125.         self.nodelist = compile_string(template_string, origin)
File "/usr/local/lib/python2.7/dist-packages/django/template/base.py" in
compile_string
  153.     return parser.parse()
File "/usr/local/lib/python2.7/dist-packages/django/template/base.py" in
parse
  274.                     compiled_result = compile_func(self, token)
File 
"/usr/local/lib/python2.7/dist-packages/django/template/loader_tags.py" in
do_extends
  215.     nodelist = parser.parse()
File "/usr/local/lib/python2.7/dist-packages/django/template/base.py" in
parse
  274.                     compiled_result = compile_func(self, token)
File 
"/usr/local/lib/python2.7/dist-packages/django/template/loader_tags.py" in
do_block
  190.     nodelist = parser.parse(('endblock',))
File "/usr/local/lib/python2.7/dist-packages/django/template/base.py" in
parse
  274.                     compiled_result = compile_func(self, token)
File 
"/usr/local/lib/python2.7/dist-packages/django/template/defaulttags.py" in
do_if
  917.         nodelist = parser.parse(('endif',))
File "/usr/local/lib/python2.7/dist-packages/django/template/base.py" in
parse
  274.                     compiled_result = compile_func(self, token)
File 
"/usr/local/lib/python2.7/dist-packages/django/template/defaulttags.py" in
do_for
  767.     nodelist_loop = parser.parse(('empty', 'endfor',))
File "/usr/local/lib/python2.7/dist-packages/django/template/base.py" in
parse
  274.                     compiled_result = compile_func(self, token)
File 
"/usr/local/lib/python2.7/dist-packages/django/template/defaulttags.py" in
do_if
  903.     nodelist = parser.parse(('elif', 'else', 'endif'))
File "/usr/local/lib/python2.7/dist-packages/django/template/base.py" in
parse
  253.                 filter_expression =
self.compile_filter(token.contents)
File "/usr/local/lib/python2.7/dist-packages/django/template/base.py" in
compile_filter
  353.         return FilterExpression(token, self)
File "/usr/local/lib/python2.7/dist-packages/django/template/base.py" in
__init__
  564.                 filter_func = parser.find_filter(filter_name)
File "/usr/local/lib/python2.7/dist-packages/django/template/base.py" in
find_filter
  359.             raise TemplateSyntaxError("Invalid filter: '%s'" %
filter_name)

Exception Type: TemplateSyntaxError at /gui/builds/
Exception Value: Invalid filter: 'get_dict_value'



> 
>It depends on these two commits before it:
>  6012:
>f648d5018f7d3ae6eb81f0a05bdbbfe51080eece ³Duplicate search results
>returned in the build page²
>  5947:fd12d8aad22eadee20723a1b5323035e0ac47742 ³Replace fstypes lookup
>on main build page²
> 
>Thanks,
>David
> 
> 
> 
> 



^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [review-request] Bug #5920 "Secondary sorting criteria not working"
  2014-03-27 11:48 ` Barros Pena, Belen
@ 2014-03-27 16:13   ` Reyna, David
  2014-03-27 16:22     ` Barros Pena, Belen
  2014-03-28 10:44     ` Barros Pena, Belen
  0 siblings, 2 replies; 8+ messages in thread
From: Reyna, David @ 2014-03-27 16:13 UTC (permalink / raw)
  To: BARROS PENA, BELEN, DAMIAN, ALEXANDRU; +Cc: toaster

Hi Belen,

The 'get_dict_value' filter is part of Bug 5947 - "Replace fstypes lookup".

Did you cherry-pick "dreyna/fstypes_v2" and "dreyna/duplicates_6012"?

- David

> -----Original Message-----
> From: Barros Pena, Belen [mailto:belen.barros.pena@intel.com]
> Sent: Thursday, March 27, 2014 4:48 AM
> To: Reyna, David; DAMIAN, ALEXANDRU
> Cc: toaster@yoctoproject.org
> Subject: Re: [review-request] Bug #5920 "Secondary sorting criteria not
> working"
> 
> On 26/03/2014 23:34, "Reyna, David" <david.reyna@windriver.com> wrote:
> 
> >Hi Belen,
> >
> >Here is my branch for 5920 ³Secondary sorting criteria not working². It
> >will add a secondary sort for all tables when the current sort is a
> >different column that the table¹s respective default sort.
> >
> >The branch is here: dreyna/secondary_sort_5920
> 
> I am getting an error in the builds page with this branch:
> 
> Invalid filter: 'get_dict_value'
> 
> Full trace below:
> 
> Environment:
> 
> 
> Request Method: GET
> Request URL:
> http://localhost:8000/gui/builds/?count=10&orderby=completed_on%3A-&page=1
> 
> Django Version: 1.5
> Python Version: 2.7.3
> Installed Applications:
> ('django.contrib.staticfiles',
>  'django.contrib.humanize',
>  'orm',
>  'toastermain',
>  'toastergui',
>  'bldviewer',
>  'south')
> Installed Middleware:
> ('django.middleware.common.CommonMiddleware',
>  'django.contrib.sessions.middleware.SessionMiddleware',
>  'django.middleware.csrf.CsrfViewMiddleware',
>  'django.contrib.auth.middleware.AuthenticationMiddleware',
>  'django.contrib.messages.middleware.MessageMiddleware')
> 
> 
> Template error:
> In template
> /home/yocto/poky/bitbake/lib/toaster/toastergui/templates/build.html,
> error at line 96
>    Invalid filter: 'get_dict_value'
>    86 :             <td class="target">{% for t in build.target_set.all %}
> <a href="{% url "builddashboard" build.id <http://build.id/> %}">
> {{t.target}} </a> <br />{% endfor %}</td>
> 
> 
>    87 :             <td class="machine"><a href="{% url "builddashboard"
> build.id <http://build.id/> %}">{{build.machine}}</a></td>
> 
> 
>    88 :             <td class="started_on"><a href="{% url
> "builddashboard" build.id <http://build.id/>
> %}">{{build.started_on|date:"d/m/y H:i"}}</a></td>
> 
> 
>    89 :             <td class="completed_on"><a href="{% url
> "builddashboard" build.id <http://build.id/>
> %}">{{build.completed_on|date:"d/m/y H:i"}}</a></td>
> 
> 
>    90 :             <td class="failed_tasks error">{% query
> build.task_build outcome=4 order__gt=0 as exectask%}{% if exectask.count
> == 1 %}<a href="{% url "task" build.id <http://build.id/> exectask.0.id
> <http://exectask.0.id/> %}">{{exectask.0.recipe.name
> <http://exectask.0.recipe.name/>}}.{{exectask.0.task_name}}</a>{% elif
> exectask.count > 1%}<a href="{% url "tasks" build.id <http://build.id/>
> %}?filter=outcome%3A4">{{exectask.count}}</a>{%endif%}</td>
> 
> 
>    91 :             <td class="errors_no">{% if  build.errors_no %}<a
> class="errors_no error" href="{% url "builddashboard" build.id
> <http://build.id/>%}#errors">{{build.errors_no}}
> error{{build.errors_no|pluralize}}</a>{%endif%}</td>
> 
> 
>    92 :             <td class="warnings_no">{% if  build.warnings_no %}<a
> class="warnings_no warning" href="{% url "builddashboard" build.id
> <http://build.id/> %}#warnings">{{build.warnings_no}}
> warning{{build.warnings_no|pluralize}}</a>{%endif%}</td>
> 
> 
>    93 :             <td class="time"><a href="{% url "buildtime" build.id
> <http://build.id/> %}">{{build.timespent|sectohms}}</a></td>
> 
> 
>    94 :             <td class="log">{{build.cooker_log_path}}</td>
> 
> 
>    95 :             <td class="output">
> 
> 
>    96 :                {% if build.outcome == build.SUCCEEDED %}
> 
> 
>    97 :               <a href="{%url "builddashboard" build.id
> <http://build.id/>%}#images">{{fstypes|get_dict_value:build.id
> <http://build.id/>}}</a>
> 
> 
>    98 :               {% endif %}
> 
> 
>    99 :             </td>
> 
> 
>    100 :         </tr>
> 
> 
>    101 :
> 
> 
>    102 :         {% endfor %}
> 
> 
>    103 :
> 
> 
>    104 :
> 
> 
>    105 : {% include "basetable_bottom.html" %}
> 
> 
>    106 :
> 
> 
> Traceback:
> File "/usr/local/lib/python2.7/dist-packages/django/core/handlers/base.py"
> in get_response
>   115.                         response = callback(request,
> *callback_args, **callback_kwargs)
> File "/home/yocto/poky/bitbake/lib/toaster/toastergui/views.py" in builds
>   376.     return render(request, template, context)
> File "/usr/local/lib/python2.7/dist-packages/django/shortcuts/__init__.py"
> in render
>   53.     return HttpResponse(loader.render_to_string(*args, **kwargs),
> File "/usr/local/lib/python2.7/dist-packages/django/template/loader.py" in
> render_to_string
>   170.         t = get_template(template_name)
> File "/usr/local/lib/python2.7/dist-packages/django/template/loader.py" in
> get_template
>   146.     template, origin = find_template(template_name)
> File "/usr/local/lib/python2.7/dist-packages/django/template/loader.py" in
> find_template
>   135.             source, display_name = loader(name, dirs)
> File "/usr/local/lib/python2.7/dist-packages/django/template/loader.py" in
> __call__
>   43.         return self.load_template(template_name, template_dirs)
> File "/usr/local/lib/python2.7/dist-packages/django/template/loader.py" in
> load_template
>   49.             template = get_template_from_string(source, origin,
> template_name)
> File "/usr/local/lib/python2.7/dist-packages/django/template/loader.py" in
> get_template_from_string
>   157.     return Template(source, origin, name)
> File "/usr/local/lib/python2.7/dist-packages/django/template/base.py" in
> __init__
>   125.         self.nodelist = compile_string(template_string, origin)
> File "/usr/local/lib/python2.7/dist-packages/django/template/base.py" in
> compile_string
>   153.     return parser.parse()
> File "/usr/local/lib/python2.7/dist-packages/django/template/base.py" in
> parse
>   274.                     compiled_result = compile_func(self, token)
> File
> "/usr/local/lib/python2.7/dist-packages/django/template/loader_tags.py" in
> do_extends
>   215.     nodelist = parser.parse()
> File "/usr/local/lib/python2.7/dist-packages/django/template/base.py" in
> parse
>   274.                     compiled_result = compile_func(self, token)
> File
> "/usr/local/lib/python2.7/dist-packages/django/template/loader_tags.py" in
> do_block
>   190.     nodelist = parser.parse(('endblock',))
> File "/usr/local/lib/python2.7/dist-packages/django/template/base.py" in
> parse
>   274.                     compiled_result = compile_func(self, token)
> File
> "/usr/local/lib/python2.7/dist-packages/django/template/defaulttags.py" in
> do_if
>   917.         nodelist = parser.parse(('endif',))
> File "/usr/local/lib/python2.7/dist-packages/django/template/base.py" in
> parse
>   274.                     compiled_result = compile_func(self, token)
> File
> "/usr/local/lib/python2.7/dist-packages/django/template/defaulttags.py" in
> do_for
>   767.     nodelist_loop = parser.parse(('empty', 'endfor',))
> File "/usr/local/lib/python2.7/dist-packages/django/template/base.py" in
> parse
>   274.                     compiled_result = compile_func(self, token)
> File
> "/usr/local/lib/python2.7/dist-packages/django/template/defaulttags.py" in
> do_if
>   903.     nodelist = parser.parse(('elif', 'else', 'endif'))
> File "/usr/local/lib/python2.7/dist-packages/django/template/base.py" in
> parse
>   253.                 filter_expression =
> self.compile_filter(token.contents)
> File "/usr/local/lib/python2.7/dist-packages/django/template/base.py" in
> compile_filter
>   353.         return FilterExpression(token, self)
> File "/usr/local/lib/python2.7/dist-packages/django/template/base.py" in
> __init__
>   564.                 filter_func = parser.find_filter(filter_name)
> File "/usr/local/lib/python2.7/dist-packages/django/template/base.py" in
> find_filter
>   359.             raise TemplateSyntaxError("Invalid filter: '%s'" %
> filter_name)
> 
> Exception Type: TemplateSyntaxError at /gui/builds/
> Exception Value: Invalid filter: 'get_dict_value'
> 
> 
> 
> >
> >It depends on these two commits before it:
> >  6012:
> >f648d5018f7d3ae6eb81f0a05bdbbfe51080eece ³Duplicate search results
> >returned in the build page²
> >  5947:fd12d8aad22eadee20723a1b5323035e0ac47742 ³Replace fstypes lookup
> >on main build page²
> >
> >Thanks,
> >David
> >
> >
> >
> >
> 



^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [review-request] Bug #5920 "Secondary sorting criteria not working"
  2014-03-27 16:13   ` Reyna, David
@ 2014-03-27 16:22     ` Barros Pena, Belen
  2014-03-28 10:44     ` Barros Pena, Belen
  1 sibling, 0 replies; 8+ messages in thread
From: Barros Pena, Belen @ 2014-03-27 16:22 UTC (permalink / raw)
  To: Reyna, David L (Wind River), Damian, Alexandru; +Cc: toaster

On 27/03/2014 16:13, "Reyna, David" <david.reyna@windriver.com> wrote:

>Hi Belen,
>
>The 'get_dict_value' filter is part of Bug 5947 - "Replace fstypes
>lookup".
>
>Did you cherry-pick "dreyna/fstypes_v2" and "dreyna/duplicates_6012"?

No, I did not. I'll try that. Thanks!

>
>- David
>
>> -----Original Message-----
>> From: Barros Pena, Belen [mailto:belen.barros.pena@intel.com]
>> Sent: Thursday, March 27, 2014 4:48 AM
>> To: Reyna, David; DAMIAN, ALEXANDRU
>> Cc: toaster@yoctoproject.org
>> Subject: Re: [review-request] Bug #5920 "Secondary sorting criteria not
>> working"
>>
>> On 26/03/2014 23:34, "Reyna, David" <david.reyna@windriver.com> wrote:
>>
>> >Hi Belen,
>> >
>> >Here is my branch for 5920 ³Secondary sorting criteria not working². It
>> >will add a secondary sort for all tables when the current sort is a
>> >different column that the table¹s respective default sort.
>> >
>> >The branch is here: dreyna/secondary_sort_5920
>>
>> I am getting an error in the builds page with this branch:
>>
>> Invalid filter: 'get_dict_value'
>>
>> Full trace below:
>>
>> Environment:
>>
>>
>> Request Method: GET
>> Request URL:
>> 
>>http://localhost:8000/gui/builds/?count=10&orderby=completed_on%3A-&page=
>>1
>>
>> Django Version: 1.5
>> Python Version: 2.7.3
>> Installed Applications:
>> ('django.contrib.staticfiles',
>>  'django.contrib.humanize',
>>  'orm',
>>  'toastermain',
>>  'toastergui',
>>  'bldviewer',
>>  'south')
>> Installed Middleware:
>> ('django.middleware.common.CommonMiddleware',
>>  'django.contrib.sessions.middleware.SessionMiddleware',
>>  'django.middleware.csrf.CsrfViewMiddleware',
>>  'django.contrib.auth.middleware.AuthenticationMiddleware',
>>  'django.contrib.messages.middleware.MessageMiddleware')
>>
>>
>> Template error:
>> In template
>> /home/yocto/poky/bitbake/lib/toaster/toastergui/templates/build.html,
>> error at line 96
>>    Invalid filter: 'get_dict_value'
>>    86 :             <td class="target">{% for t in build.target_set.all
>>%}
>> <a href="{% url "builddashboard" build.id <http://build.id/> %}">
>> {{t.target}} </a> <br />{% endfor %}</td>
>>
>>
>>    87 :             <td class="machine"><a href="{% url "builddashboard"
>> build.id <http://build.id/> %}">{{build.machine}}</a></td>
>>
>>
>>    88 :             <td class="started_on"><a href="{% url
>> "builddashboard" build.id <http://build.id/>
>> %}">{{build.started_on|date:"d/m/y H:i"}}</a></td>
>>
>>
>>    89 :             <td class="completed_on"><a href="{% url
>> "builddashboard" build.id <http://build.id/>
>> %}">{{build.completed_on|date:"d/m/y H:i"}}</a></td>
>>
>>
>>    90 :             <td class="failed_tasks error">{% query
>> build.task_build outcome=4 order__gt=0 as exectask%}{% if exectask.count
>> == 1 %}<a href="{% url "task" build.id <http://build.id/> exectask.0.id
>> <http://exectask.0.id/> %}">{{exectask.0.recipe.name
>> <http://exectask.0.recipe.name/>}}.{{exectask.0.task_name}}</a>{% elif
>> exectask.count > 1%}<a href="{% url "tasks" build.id <http://build.id/>
>> %}?filter=outcome%3A4">{{exectask.count}}</a>{%endif%}</td>
>>
>>
>>    91 :             <td class="errors_no">{% if  build.errors_no %}<a
>> class="errors_no error" href="{% url "builddashboard" build.id
>> <http://build.id/>%}#errors">{{build.errors_no}}
>> error{{build.errors_no|pluralize}}</a>{%endif%}</td>
>>
>>
>>    92 :             <td class="warnings_no">{% if  build.warnings_no
>>%}<a
>> class="warnings_no warning" href="{% url "builddashboard" build.id
>> <http://build.id/> %}#warnings">{{build.warnings_no}}
>> warning{{build.warnings_no|pluralize}}</a>{%endif%}</td>
>>
>>
>>    93 :             <td class="time"><a href="{% url "buildtime"
>>build.id
>> <http://build.id/> %}">{{build.timespent|sectohms}}</a></td>
>>
>>
>>    94 :             <td class="log">{{build.cooker_log_path}}</td>
>>
>>
>>    95 :             <td class="output">
>>
>>
>>    96 :                {% if build.outcome == build.SUCCEEDED %}
>>
>>
>>    97 :               <a href="{%url "builddashboard" build.id
>> <http://build.id/>%}#images">{{fstypes|get_dict_value:build.id
>> <http://build.id/>}}</a>
>>
>>
>>    98 :               {% endif %}
>>
>>
>>    99 :             </td>
>>
>>
>>    100 :         </tr>
>>
>>
>>    101 :
>>
>>
>>    102 :         {% endfor %}
>>
>>
>>    103 :
>>
>>
>>    104 :
>>
>>
>>    105 : {% include "basetable_bottom.html" %}
>>
>>
>>    106 :
>>
>>
>> Traceback:
>> File 
>>"/usr/local/lib/python2.7/dist-packages/django/core/handlers/base.py"
>> in get_response
>>   115.                         response = callback(request,
>> *callback_args, **callback_kwargs)
>> File "/home/yocto/poky/bitbake/lib/toaster/toastergui/views.py" in
>>builds
>>   376.     return render(request, template, context)
>> File 
>>"/usr/local/lib/python2.7/dist-packages/django/shortcuts/__init__.py"
>> in render
>>   53.     return HttpResponse(loader.render_to_string(*args, **kwargs),
>> File "/usr/local/lib/python2.7/dist-packages/django/template/loader.py"
>>in
>> render_to_string
>>   170.         t = get_template(template_name)
>> File "/usr/local/lib/python2.7/dist-packages/django/template/loader.py"
>>in
>> get_template
>>   146.     template, origin = find_template(template_name)
>> File "/usr/local/lib/python2.7/dist-packages/django/template/loader.py"
>>in
>> find_template
>>   135.             source, display_name = loader(name, dirs)
>> File "/usr/local/lib/python2.7/dist-packages/django/template/loader.py"
>>in
>> __call__
>>   43.         return self.load_template(template_name, template_dirs)
>> File "/usr/local/lib/python2.7/dist-packages/django/template/loader.py"
>>in
>> load_template
>>   49.             template = get_template_from_string(source, origin,
>> template_name)
>> File "/usr/local/lib/python2.7/dist-packages/django/template/loader.py"
>>in
>> get_template_from_string
>>   157.     return Template(source, origin, name)
>> File "/usr/local/lib/python2.7/dist-packages/django/template/base.py" in
>> __init__
>>   125.         self.nodelist = compile_string(template_string, origin)
>> File "/usr/local/lib/python2.7/dist-packages/django/template/base.py" in
>> compile_string
>>   153.     return parser.parse()
>> File "/usr/local/lib/python2.7/dist-packages/django/template/base.py" in
>> parse
>>   274.                     compiled_result = compile_func(self, token)
>> File
>> "/usr/local/lib/python2.7/dist-packages/django/template/loader_tags.py"
>>in
>> do_extends
>>   215.     nodelist = parser.parse()
>> File "/usr/local/lib/python2.7/dist-packages/django/template/base.py" in
>> parse
>>   274.                     compiled_result = compile_func(self, token)
>> File
>> "/usr/local/lib/python2.7/dist-packages/django/template/loader_tags.py"
>>in
>> do_block
>>   190.     nodelist = parser.parse(('endblock',))
>> File "/usr/local/lib/python2.7/dist-packages/django/template/base.py" in
>> parse
>>   274.                     compiled_result = compile_func(self, token)
>> File
>> "/usr/local/lib/python2.7/dist-packages/django/template/defaulttags.py"
>>in
>> do_if
>>   917.         nodelist = parser.parse(('endif',))
>> File "/usr/local/lib/python2.7/dist-packages/django/template/base.py" in
>> parse
>>   274.                     compiled_result = compile_func(self, token)
>> File
>> "/usr/local/lib/python2.7/dist-packages/django/template/defaulttags.py"
>>in
>> do_for
>>   767.     nodelist_loop = parser.parse(('empty', 'endfor',))
>> File "/usr/local/lib/python2.7/dist-packages/django/template/base.py" in
>> parse
>>   274.                     compiled_result = compile_func(self, token)
>> File
>> "/usr/local/lib/python2.7/dist-packages/django/template/defaulttags.py"
>>in
>> do_if
>>   903.     nodelist = parser.parse(('elif', 'else', 'endif'))
>> File "/usr/local/lib/python2.7/dist-packages/django/template/base.py" in
>> parse
>>   253.                 filter_expression =
>> self.compile_filter(token.contents)
>> File "/usr/local/lib/python2.7/dist-packages/django/template/base.py" in
>> compile_filter
>>   353.         return FilterExpression(token, self)
>> File "/usr/local/lib/python2.7/dist-packages/django/template/base.py" in
>> __init__
>>   564.                 filter_func = parser.find_filter(filter_name)
>> File "/usr/local/lib/python2.7/dist-packages/django/template/base.py" in
>> find_filter
>>   359.             raise TemplateSyntaxError("Invalid filter: '%s'" %
>> filter_name)
>>
>> Exception Type: TemplateSyntaxError at /gui/builds/
>> Exception Value: Invalid filter: 'get_dict_value'
>>
>>
>>
>> >
>> >It depends on these two commits before it:
>> >  6012:
>> >f648d5018f7d3ae6eb81f0a05bdbbfe51080eece ³Duplicate search results
>> >returned in the build page²
>> >  5947:fd12d8aad22eadee20723a1b5323035e0ac47742 ³Replace fstypes lookup
>> >on main build page²
>> >
>> >Thanks,
>> >David
>> >
>> >
>> >
>> >
>>
>


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [review-request] Bug #5920 "Secondary sorting criteria not working"
  2014-03-27 16:13   ` Reyna, David
  2014-03-27 16:22     ` Barros Pena, Belen
@ 2014-03-28 10:44     ` Barros Pena, Belen
  2014-03-28 17:45       ` Reyna, David
  1 sibling, 1 reply; 8+ messages in thread
From: Barros Pena, Belen @ 2014-03-28 10:44 UTC (permalink / raw)
  To: Reyna, David L (Wind River), Damian, Alexandru; +Cc: toaster


On 27/03/2014 16:13, "Reyna, David" <david.reyna@windriver.com> wrote:

>Hi Belen,
>
>The 'get_dict_value' filter is part of Bug 5947 - "Replace fstypes
>lookup".
>
>Did you cherry-pick "dreyna/fstypes_v2" and "dreyna/duplicates_6012"?

Yep, that solved the problem.

I can see the secondary sorting working everywhere except a small glitch
the installed packages table. This might be related to the rounding of
values, I am not sure, but when I sort by 'Size', packages with the same
size don't seem to be sorted in alphabetical order.

Cheers

Belén

>
>- David
>
>> -----Original Message-----
>> From: Barros Pena, Belen [mailto:belen.barros.pena@intel.com]
>> Sent: Thursday, March 27, 2014 4:48 AM
>> To: Reyna, David; DAMIAN, ALEXANDRU
>> Cc: toaster@yoctoproject.org
>> Subject: Re: [review-request] Bug #5920 "Secondary sorting criteria not
>> working"
>>
>> On 26/03/2014 23:34, "Reyna, David" <david.reyna@windriver.com> wrote:
>>
>> >Hi Belen,
>> >
>> >Here is my branch for 5920 ³Secondary sorting criteria not working². It
>> >will add a secondary sort for all tables when the current sort is a
>> >different column that the table¹s respective default sort.
>> >
>> >The branch is here: dreyna/secondary_sort_5920
>>
>> I am getting an error in the builds page with this branch:
>>
>> Invalid filter: 'get_dict_value'
>>
>> Full trace below:
>>
>> Environment:
>>
>>
>> Request Method: GET
>> Request URL:
>> 
>>http://localhost:8000/gui/builds/?count=10&orderby=completed_on%3A-&page=
>>1
>>
>> Django Version: 1.5
>> Python Version: 2.7.3
>> Installed Applications:
>> ('django.contrib.staticfiles',
>>  'django.contrib.humanize',
>>  'orm',
>>  'toastermain',
>>  'toastergui',
>>  'bldviewer',
>>  'south')
>> Installed Middleware:
>> ('django.middleware.common.CommonMiddleware',
>>  'django.contrib.sessions.middleware.SessionMiddleware',
>>  'django.middleware.csrf.CsrfViewMiddleware',
>>  'django.contrib.auth.middleware.AuthenticationMiddleware',
>>  'django.contrib.messages.middleware.MessageMiddleware')
>>
>>
>> Template error:
>> In template
>> /home/yocto/poky/bitbake/lib/toaster/toastergui/templates/build.html,
>> error at line 96
>>    Invalid filter: 'get_dict_value'
>>    86 :             <td class="target">{% for t in build.target_set.all
>>%}
>> <a href="{% url "builddashboard" build.id <http://build.id/> %}">
>> {{t.target}} </a> <br />{% endfor %}</td>
>>
>>
>>    87 :             <td class="machine"><a href="{% url "builddashboard"
>> build.id <http://build.id/> %}">{{build.machine}}</a></td>
>>
>>
>>    88 :             <td class="started_on"><a href="{% url
>> "builddashboard" build.id <http://build.id/>
>> %}">{{build.started_on|date:"d/m/y H:i"}}</a></td>
>>
>>
>>    89 :             <td class="completed_on"><a href="{% url
>> "builddashboard" build.id <http://build.id/>
>> %}">{{build.completed_on|date:"d/m/y H:i"}}</a></td>
>>
>>
>>    90 :             <td class="failed_tasks error">{% query
>> build.task_build outcome=4 order__gt=0 as exectask%}{% if exectask.count
>> == 1 %}<a href="{% url "task" build.id <http://build.id/> exectask.0.id
>> <http://exectask.0.id/> %}">{{exectask.0.recipe.name
>> <http://exectask.0.recipe.name/>}}.{{exectask.0.task_name}}</a>{% elif
>> exectask.count > 1%}<a href="{% url "tasks" build.id <http://build.id/>
>> %}?filter=outcome%3A4">{{exectask.count}}</a>{%endif%}</td>
>>
>>
>>    91 :             <td class="errors_no">{% if  build.errors_no %}<a
>> class="errors_no error" href="{% url "builddashboard" build.id
>> <http://build.id/>%}#errors">{{build.errors_no}}
>> error{{build.errors_no|pluralize}}</a>{%endif%}</td>
>>
>>
>>    92 :             <td class="warnings_no">{% if  build.warnings_no
>>%}<a
>> class="warnings_no warning" href="{% url "builddashboard" build.id
>> <http://build.id/> %}#warnings">{{build.warnings_no}}
>> warning{{build.warnings_no|pluralize}}</a>{%endif%}</td>
>>
>>
>>    93 :             <td class="time"><a href="{% url "buildtime"
>>build.id
>> <http://build.id/> %}">{{build.timespent|sectohms}}</a></td>
>>
>>
>>    94 :             <td class="log">{{build.cooker_log_path}}</td>
>>
>>
>>    95 :             <td class="output">
>>
>>
>>    96 :                {% if build.outcome == build.SUCCEEDED %}
>>
>>
>>    97 :               <a href="{%url "builddashboard" build.id
>> <http://build.id/>%}#images">{{fstypes|get_dict_value:build.id
>> <http://build.id/>}}</a>
>>
>>
>>    98 :               {% endif %}
>>
>>
>>    99 :             </td>
>>
>>
>>    100 :         </tr>
>>
>>
>>    101 :
>>
>>
>>    102 :         {% endfor %}
>>
>>
>>    103 :
>>
>>
>>    104 :
>>
>>
>>    105 : {% include "basetable_bottom.html" %}
>>
>>
>>    106 :
>>
>>
>> Traceback:
>> File 
>>"/usr/local/lib/python2.7/dist-packages/django/core/handlers/base.py"
>> in get_response
>>   115.                         response = callback(request,
>> *callback_args, **callback_kwargs)
>> File "/home/yocto/poky/bitbake/lib/toaster/toastergui/views.py" in
>>builds
>>   376.     return render(request, template, context)
>> File 
>>"/usr/local/lib/python2.7/dist-packages/django/shortcuts/__init__.py"
>> in render
>>   53.     return HttpResponse(loader.render_to_string(*args, **kwargs),
>> File "/usr/local/lib/python2.7/dist-packages/django/template/loader.py"
>>in
>> render_to_string
>>   170.         t = get_template(template_name)
>> File "/usr/local/lib/python2.7/dist-packages/django/template/loader.py"
>>in
>> get_template
>>   146.     template, origin = find_template(template_name)
>> File "/usr/local/lib/python2.7/dist-packages/django/template/loader.py"
>>in
>> find_template
>>   135.             source, display_name = loader(name, dirs)
>> File "/usr/local/lib/python2.7/dist-packages/django/template/loader.py"
>>in
>> __call__
>>   43.         return self.load_template(template_name, template_dirs)
>> File "/usr/local/lib/python2.7/dist-packages/django/template/loader.py"
>>in
>> load_template
>>   49.             template = get_template_from_string(source, origin,
>> template_name)
>> File "/usr/local/lib/python2.7/dist-packages/django/template/loader.py"
>>in
>> get_template_from_string
>>   157.     return Template(source, origin, name)
>> File "/usr/local/lib/python2.7/dist-packages/django/template/base.py" in
>> __init__
>>   125.         self.nodelist = compile_string(template_string, origin)
>> File "/usr/local/lib/python2.7/dist-packages/django/template/base.py" in
>> compile_string
>>   153.     return parser.parse()
>> File "/usr/local/lib/python2.7/dist-packages/django/template/base.py" in
>> parse
>>   274.                     compiled_result = compile_func(self, token)
>> File
>> "/usr/local/lib/python2.7/dist-packages/django/template/loader_tags.py"
>>in
>> do_extends
>>   215.     nodelist = parser.parse()
>> File "/usr/local/lib/python2.7/dist-packages/django/template/base.py" in
>> parse
>>   274.                     compiled_result = compile_func(self, token)
>> File
>> "/usr/local/lib/python2.7/dist-packages/django/template/loader_tags.py"
>>in
>> do_block
>>   190.     nodelist = parser.parse(('endblock',))
>> File "/usr/local/lib/python2.7/dist-packages/django/template/base.py" in
>> parse
>>   274.                     compiled_result = compile_func(self, token)
>> File
>> "/usr/local/lib/python2.7/dist-packages/django/template/defaulttags.py"
>>in
>> do_if
>>   917.         nodelist = parser.parse(('endif',))
>> File "/usr/local/lib/python2.7/dist-packages/django/template/base.py" in
>> parse
>>   274.                     compiled_result = compile_func(self, token)
>> File
>> "/usr/local/lib/python2.7/dist-packages/django/template/defaulttags.py"
>>in
>> do_for
>>   767.     nodelist_loop = parser.parse(('empty', 'endfor',))
>> File "/usr/local/lib/python2.7/dist-packages/django/template/base.py" in
>> parse
>>   274.                     compiled_result = compile_func(self, token)
>> File
>> "/usr/local/lib/python2.7/dist-packages/django/template/defaulttags.py"
>>in
>> do_if
>>   903.     nodelist = parser.parse(('elif', 'else', 'endif'))
>> File "/usr/local/lib/python2.7/dist-packages/django/template/base.py" in
>> parse
>>   253.                 filter_expression =
>> self.compile_filter(token.contents)
>> File "/usr/local/lib/python2.7/dist-packages/django/template/base.py" in
>> compile_filter
>>   353.         return FilterExpression(token, self)
>> File "/usr/local/lib/python2.7/dist-packages/django/template/base.py" in
>> __init__
>>   564.                 filter_func = parser.find_filter(filter_name)
>> File "/usr/local/lib/python2.7/dist-packages/django/template/base.py" in
>> find_filter
>>   359.             raise TemplateSyntaxError("Invalid filter: '%s'" %
>> filter_name)
>>
>> Exception Type: TemplateSyntaxError at /gui/builds/
>> Exception Value: Invalid filter: 'get_dict_value'
>>
>>
>>
>> >
>> >It depends on these two commits before it:
>> >  6012:
>> >f648d5018f7d3ae6eb81f0a05bdbbfe51080eece ³Duplicate search results
>> >returned in the build page²
>> >  5947:fd12d8aad22eadee20723a1b5323035e0ac47742 ³Replace fstypes lookup
>> >on main build page²
>> >
>> >Thanks,
>> >David
>> >
>> >
>> >
>> >
>>
>



^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [review-request] Bug #5920 "Secondary sorting criteria not working"
  2014-03-28 10:44     ` Barros Pena, Belen
@ 2014-03-28 17:45       ` Reyna, David
  2014-03-28 17:50         ` Barros Pena, Belen
  0 siblings, 1 reply; 8+ messages in thread
From: Reyna, David @ 2014-03-28 17:45 UTC (permalink / raw)
  To: BARROS PENA, BELEN, DAMIAN, ALEXANDRU; +Cc: toaster

Hi Belen, 

> I can see the secondary sorting working everywhere except a small glitch
> the installed packages table. This might be related to the rounding of
> values, I am not sure, but when I sort by 'Size', packages with the same

That is indeed the case. The sort is working, but the rounding format is hiding the details.

For example, I see ...

update-alternatives-opkg 4 KB
init-ifupdown            3 KB 
busybox-udhcpc           3 KB 
busybox-hwclock          2 KB 

... is really ...

update-alternatives-opkg 4259
init-ifupdown            2897
busybox-udhcpc           2598
busybox-hwclock          2541

I do not think that this is fixable, at least until we come up with custom sorts.

Is this small gap acceptable for Toaster-1.6?

- David



> -----Original Message-----
> From: Barros Pena, Belen [mailto:belen.barros.pena@intel.com]
> Sent: Friday, March 28, 2014 3:45 AM
> To: Reyna, David; DAMIAN, ALEXANDRU
> Cc: toaster@yoctoproject.org
> Subject: Re: [review-request] Bug #5920 "Secondary sorting criteria not
> working"
> 
> 
> On 27/03/2014 16:13, "Reyna, David" <david.reyna@windriver.com> wrote:
> 
> >Hi Belen,
> >
> >The 'get_dict_value' filter is part of Bug 5947 - "Replace fstypes
> >lookup".
> >
> >Did you cherry-pick "dreyna/fstypes_v2" and "dreyna/duplicates_6012"?
> 
> Yep, that solved the problem.
> 
> I can see the secondary sorting working everywhere except a small glitch
> the installed packages table. This might be related to the rounding of
> values, I am not sure, but when I sort by 'Size', packages with the same
> size don't seem to be sorted in alphabetical order.
> 
> Cheers
> 
> Belén
> 
> >
> >- David
> >
> >> -----Original Message-----
> >> From: Barros Pena, Belen [mailto:belen.barros.pena@intel.com]
> >> Sent: Thursday, March 27, 2014 4:48 AM
> >> To: Reyna, David; DAMIAN, ALEXANDRU
> >> Cc: toaster@yoctoproject.org
> >> Subject: Re: [review-request] Bug #5920 "Secondary sorting criteria not
> >> working"
> >>
> >> On 26/03/2014 23:34, "Reyna, David" <david.reyna@windriver.com> wrote:
> >>
> >> >Hi Belen,
> >> >
> >> >Here is my branch for 5920 ³Secondary sorting criteria not working². It
> >> >will add a secondary sort for all tables when the current sort is a
> >> >different column that the table¹s respective default sort.
> >> >
> >> >The branch is here: dreyna/secondary_sort_5920
> >>
> >> I am getting an error in the builds page with this branch:
> >>
> >> Invalid filter: 'get_dict_value'
> >>
> >> Full trace below:
> >>
> >> Environment:
> >>
> >>
> >> Request Method: GET
> >> Request URL:
> >>
> >>http://localhost:8000/gui/builds/?count=10&orderby=completed_on%3A-&page=
> >>1
> >>
> >> Django Version: 1.5
> >> Python Version: 2.7.3
> >> Installed Applications:
> >> ('django.contrib.staticfiles',
> >>  'django.contrib.humanize',
> >>  'orm',
> >>  'toastermain',
> >>  'toastergui',
> >>  'bldviewer',
> >>  'south')
> >> Installed Middleware:
> >> ('django.middleware.common.CommonMiddleware',
> >>  'django.contrib.sessions.middleware.SessionMiddleware',
> >>  'django.middleware.csrf.CsrfViewMiddleware',
> >>  'django.contrib.auth.middleware.AuthenticationMiddleware',
> >>  'django.contrib.messages.middleware.MessageMiddleware')
> >>
> >>
> >> Template error:
> >> In template
> >> /home/yocto/poky/bitbake/lib/toaster/toastergui/templates/build.html,
> >> error at line 96
> >>    Invalid filter: 'get_dict_value'
> >>    86 :             <td class="target">{% for t in build.target_set.all
> >>%}
> >> <a href="{% url "builddashboard" build.id <http://build.id/> %}">
> >> {{t.target}} </a> <br />{% endfor %}</td>
> >>
> >>
> >>    87 :             <td class="machine"><a href="{% url "builddashboard"
> >> build.id <http://build.id/> %}">{{build.machine}}</a></td>
> >>
> >>
> >>    88 :             <td class="started_on"><a href="{% url
> >> "builddashboard" build.id <http://build.id/>
> >> %}">{{build.started_on|date:"d/m/y H:i"}}</a></td>
> >>
> >>
> >>    89 :             <td class="completed_on"><a href="{% url
> >> "builddashboard" build.id <http://build.id/>
> >> %}">{{build.completed_on|date:"d/m/y H:i"}}</a></td>
> >>
> >>
> >>    90 :             <td class="failed_tasks error">{% query
> >> build.task_build outcome=4 order__gt=0 as exectask%}{% if exectask.count
> >> == 1 %}<a href="{% url "task" build.id <http://build.id/> exectask.0.id
> >> <http://exectask.0.id/> %}">{{exectask.0.recipe.name
> >> <http://exectask.0.recipe.name/>}}.{{exectask.0.task_name}}</a>{% elif
> >> exectask.count > 1%}<a href="{% url "tasks" build.id <http://build.id/>
> >> %}?filter=outcome%3A4">{{exectask.count}}</a>{%endif%}</td>
> >>
> >>
> >>    91 :             <td class="errors_no">{% if  build.errors_no %}<a
> >> class="errors_no error" href="{% url "builddashboard" build.id
> >> <http://build.id/>%}#errors">{{build.errors_no}}
> >> error{{build.errors_no|pluralize}}</a>{%endif%}</td>
> >>
> >>
> >>    92 :             <td class="warnings_no">{% if  build.warnings_no
> >>%}<a
> >> class="warnings_no warning" href="{% url "builddashboard" build.id
> >> <http://build.id/> %}#warnings">{{build.warnings_no}}
> >> warning{{build.warnings_no|pluralize}}</a>{%endif%}</td>
> >>
> >>
> >>    93 :             <td class="time"><a href="{% url "buildtime"
> >>build.id
> >> <http://build.id/> %}">{{build.timespent|sectohms}}</a></td>
> >>
> >>
> >>    94 :             <td class="log">{{build.cooker_log_path}}</td>
> >>
> >>
> >>    95 :             <td class="output">
> >>
> >>
> >>    96 :                {% if build.outcome == build.SUCCEEDED %}
> >>
> >>
> >>    97 :               <a href="{%url "builddashboard" build.id
> >> <http://build.id/>%}#images">{{fstypes|get_dict_value:build.id
> >> <http://build.id/>}}</a>
> >>
> >>
> >>    98 :               {% endif %}
> >>
> >>
> >>    99 :             </td>
> >>
> >>
> >>    100 :         </tr>
> >>
> >>
> >>    101 :
> >>
> >>
> >>    102 :         {% endfor %}
> >>
> >>
> >>    103 :
> >>
> >>
> >>    104 :
> >>
> >>
> >>    105 : {% include "basetable_bottom.html" %}
> >>
> >>
> >>    106 :
> >>
> >>
> >> Traceback:
> >> File
> >>"/usr/local/lib/python2.7/dist-packages/django/core/handlers/base.py"
> >> in get_response
> >>   115.                         response = callback(request,
> >> *callback_args, **callback_kwargs)
> >> File "/home/yocto/poky/bitbake/lib/toaster/toastergui/views.py" in
> >>builds
> >>   376.     return render(request, template, context)
> >> File
> >>"/usr/local/lib/python2.7/dist-packages/django/shortcuts/__init__.py"
> >> in render
> >>   53.     return HttpResponse(loader.render_to_string(*args, **kwargs),
> >> File "/usr/local/lib/python2.7/dist-packages/django/template/loader.py"
> >>in
> >> render_to_string
> >>   170.         t = get_template(template_name)
> >> File "/usr/local/lib/python2.7/dist-packages/django/template/loader.py"
> >>in
> >> get_template
> >>   146.     template, origin = find_template(template_name)
> >> File "/usr/local/lib/python2.7/dist-packages/django/template/loader.py"
> >>in
> >> find_template
> >>   135.             source, display_name = loader(name, dirs)
> >> File "/usr/local/lib/python2.7/dist-packages/django/template/loader.py"
> >>in
> >> __call__
> >>   43.         return self.load_template(template_name, template_dirs)
> >> File "/usr/local/lib/python2.7/dist-packages/django/template/loader.py"
> >>in
> >> load_template
> >>   49.             template = get_template_from_string(source, origin,
> >> template_name)
> >> File "/usr/local/lib/python2.7/dist-packages/django/template/loader.py"
> >>in
> >> get_template_from_string
> >>   157.     return Template(source, origin, name)
> >> File "/usr/local/lib/python2.7/dist-packages/django/template/base.py" in
> >> __init__
> >>   125.         self.nodelist = compile_string(template_string, origin)
> >> File "/usr/local/lib/python2.7/dist-packages/django/template/base.py" in
> >> compile_string
> >>   153.     return parser.parse()
> >> File "/usr/local/lib/python2.7/dist-packages/django/template/base.py" in
> >> parse
> >>   274.                     compiled_result = compile_func(self, token)
> >> File
> >> "/usr/local/lib/python2.7/dist-packages/django/template/loader_tags.py"
> >>in
> >> do_extends
> >>   215.     nodelist = parser.parse()
> >> File "/usr/local/lib/python2.7/dist-packages/django/template/base.py" in
> >> parse
> >>   274.                     compiled_result = compile_func(self, token)
> >> File
> >> "/usr/local/lib/python2.7/dist-packages/django/template/loader_tags.py"
> >>in
> >> do_block
> >>   190.     nodelist = parser.parse(('endblock',))
> >> File "/usr/local/lib/python2.7/dist-packages/django/template/base.py" in
> >> parse
> >>   274.                     compiled_result = compile_func(self, token)
> >> File
> >> "/usr/local/lib/python2.7/dist-packages/django/template/defaulttags.py"
> >>in
> >> do_if
> >>   917.         nodelist = parser.parse(('endif',))
> >> File "/usr/local/lib/python2.7/dist-packages/django/template/base.py" in
> >> parse
> >>   274.                     compiled_result = compile_func(self, token)
> >> File
> >> "/usr/local/lib/python2.7/dist-packages/django/template/defaulttags.py"
> >>in
> >> do_for
> >>   767.     nodelist_loop = parser.parse(('empty', 'endfor',))
> >> File "/usr/local/lib/python2.7/dist-packages/django/template/base.py" in
> >> parse
> >>   274.                     compiled_result = compile_func(self, token)
> >> File
> >> "/usr/local/lib/python2.7/dist-packages/django/template/defaulttags.py"
> >>in
> >> do_if
> >>   903.     nodelist = parser.parse(('elif', 'else', 'endif'))
> >> File "/usr/local/lib/python2.7/dist-packages/django/template/base.py" in
> >> parse
> >>   253.                 filter_expression =
> >> self.compile_filter(token.contents)
> >> File "/usr/local/lib/python2.7/dist-packages/django/template/base.py" in
> >> compile_filter
> >>   353.         return FilterExpression(token, self)
> >> File "/usr/local/lib/python2.7/dist-packages/django/template/base.py" in
> >> __init__
> >>   564.                 filter_func = parser.find_filter(filter_name)
> >> File "/usr/local/lib/python2.7/dist-packages/django/template/base.py" in
> >> find_filter
> >>   359.             raise TemplateSyntaxError("Invalid filter: '%s'" %
> >> filter_name)
> >>
> >> Exception Type: TemplateSyntaxError at /gui/builds/
> >> Exception Value: Invalid filter: 'get_dict_value'
> >>
> >>
> >>
> >> >
> >> >It depends on these two commits before it:
> >> >  6012:
> >> >f648d5018f7d3ae6eb81f0a05bdbbfe51080eece ³Duplicate search results
> >> >returned in the build page²
> >> >  5947:fd12d8aad22eadee20723a1b5323035e0ac47742 ³Replace fstypes lookup
> >> >on main build page²
> >> >
> >> >Thanks,
> >> >David
> >> >
> >> >
> >> >
> >> >
> >>
> >
> 



^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [review-request] Bug #5920 "Secondary sorting criteria not working"
  2014-03-28 17:45       ` Reyna, David
@ 2014-03-28 17:50         ` Barros Pena, Belen
  2014-03-31 16:31           ` Damian, Alexandru
  0 siblings, 1 reply; 8+ messages in thread
From: Barros Pena, Belen @ 2014-03-28 17:50 UTC (permalink / raw)
  To: Reyna, David L (Wind River), Damian, Alexandru; +Cc: toaster



On 28/03/2014 17:45, "Reyna, David" <david.reyna@windriver.com> wrote:

>Hi Belen,
>
>> I can see the secondary sorting working everywhere except a small glitch
>> the installed packages table. This might be related to the rounding of
>> values, I am not sure, but when I sort by 'Size', packages with the same
>
>That is indeed the case. The sort is working, but the rounding format is
>hiding the details.
>
>For example, I see ...
>
>update-alternatives-opkg 4 KB
>init-ifupdown            3 KB
>busybox-udhcpc           3 KB
>busybox-hwclock          2 KB
>
>... is really ...
>
>update-alternatives-opkg 4259
>init-ifupdown            2897
>busybox-udhcpc           2598
>busybox-hwclock          2541
>
>I do not think that this is fixable, at least until we come up with
>custom sorts.
>
>Is this small gap acceptable for Toaster-1.6?

Yes, I think it is.

Thanks!

Belén

>
>- David
>
>
>
>> -----Original Message-----
>> From: Barros Pena, Belen [mailto:belen.barros.pena@intel.com]
>> Sent: Friday, March 28, 2014 3:45 AM
>> To: Reyna, David; DAMIAN, ALEXANDRU
>> Cc: toaster@yoctoproject.org
>> Subject: Re: [review-request] Bug #5920 "Secondary sorting criteria not
>> working"
>>
>>
>> On 27/03/2014 16:13, "Reyna, David" <david.reyna@windriver.com> wrote:
>>
>> >Hi Belen,
>> >
>> >The 'get_dict_value' filter is part of Bug 5947 - "Replace fstypes
>> >lookup".
>> >
>> >Did you cherry-pick "dreyna/fstypes_v2" and "dreyna/duplicates_6012"?
>>
>> Yep, that solved the problem.
>>
>> I can see the secondary sorting working everywhere except a small glitch
>> the installed packages table. This might be related to the rounding of
>> values, I am not sure, but when I sort by 'Size', packages with the same
>> size don't seem to be sorted in alphabetical order.
>>
>> Cheers
>>
>> Belén
>>
>> >
>> >- David
>> >
>> >> -----Original Message-----
>> >> From: Barros Pena, Belen [mailto:belen.barros.pena@intel.com]
>> >> Sent: Thursday, March 27, 2014 4:48 AM
>> >> To: Reyna, David; DAMIAN, ALEXANDRU
>> >> Cc: toaster@yoctoproject.org
>> >> Subject: Re: [review-request] Bug #5920 "Secondary sorting criteria
>>not
>> >> working"
>> >>
>> >> On 26/03/2014 23:34, "Reyna, David" <david.reyna@windriver.com>
>>wrote:
>> >>
>> >> >Hi Belen,
>> >> >
>> >> >Here is my branch for 5920 ³Secondary sorting criteria not
>>working². It
>> >> >will add a secondary sort for all tables when the current sort is a
>> >> >different column that the table¹s respective default sort.
>> >> >
>> >> >The branch is here: dreyna/secondary_sort_5920
>> >>
>> >> I am getting an error in the builds page with this branch:
>> >>
>> >> Invalid filter: 'get_dict_value'
>> >>
>> >> Full trace below:
>> >>
>> >> Environment:
>> >>
>> >>
>> >> Request Method: GET
>> >> Request URL:
>> >>
>> 
>>>>http://localhost:8000/gui/builds/?count=10&orderby=completed_on%3A-&pag
>>>>e=
>> >>1
>> >>
>> >> Django Version: 1.5
>> >> Python Version: 2.7.3
>> >> Installed Applications:
>> >> ('django.contrib.staticfiles',
>> >>  'django.contrib.humanize',
>> >>  'orm',
>> >>  'toastermain',
>> >>  'toastergui',
>> >>  'bldviewer',
>> >>  'south')
>> >> Installed Middleware:
>> >> ('django.middleware.common.CommonMiddleware',
>> >>  'django.contrib.sessions.middleware.SessionMiddleware',
>> >>  'django.middleware.csrf.CsrfViewMiddleware',
>> >>  'django.contrib.auth.middleware.AuthenticationMiddleware',
>> >>  'django.contrib.messages.middleware.MessageMiddleware')
>> >>
>> >>
>> >> Template error:
>> >> In template
>> >> /home/yocto/poky/bitbake/lib/toaster/toastergui/templates/build.html,
>> >> error at line 96
>> >>    Invalid filter: 'get_dict_value'
>> >>    86 :             <td class="target">{% for t in
>>build.target_set.all
>> >>%}
>> >> <a href="{% url "builddashboard" build.id <http://build.id/> %}">
>> >> {{t.target}} </a> <br />{% endfor %}</td>
>> >>
>> >>
>> >>    87 :             <td class="machine"><a href="{% url
>>"builddashboard"
>> >> build.id <http://build.id/> %}">{{build.machine}}</a></td>
>> >>
>> >>
>> >>    88 :             <td class="started_on"><a href="{% url
>> >> "builddashboard" build.id <http://build.id/>
>> >> %}">{{build.started_on|date:"d/m/y H:i"}}</a></td>
>> >>
>> >>
>> >>    89 :             <td class="completed_on"><a href="{% url
>> >> "builddashboard" build.id <http://build.id/>
>> >> %}">{{build.completed_on|date:"d/m/y H:i"}}</a></td>
>> >>
>> >>
>> >>    90 :             <td class="failed_tasks error">{% query
>> >> build.task_build outcome=4 order__gt=0 as exectask%}{% if
>>exectask.count
>> >> == 1 %}<a href="{% url "task" build.id <http://build.id/>
>>exectask.0.id
>> >> <http://exectask.0.id/> %}">{{exectask.0.recipe.name
>> >> <http://exectask.0.recipe.name/>}}.{{exectask.0.task_name}}</a>{%
>>elif
>> >> exectask.count > 1%}<a href="{% url "tasks" build.id
>><http://build.id/>
>> >> %}?filter=outcome%3A4">{{exectask.count}}</a>{%endif%}</td>
>> >>
>> >>
>> >>    91 :             <td class="errors_no">{% if  build.errors_no %}<a
>> >> class="errors_no error" href="{% url "builddashboard" build.id
>> >> <http://build.id/>%}#errors">{{build.errors_no}}
>> >> error{{build.errors_no|pluralize}}</a>{%endif%}</td>
>> >>
>> >>
>> >>    92 :             <td class="warnings_no">{% if  build.warnings_no
>> >>%}<a
>> >> class="warnings_no warning" href="{% url "builddashboard" build.id
>> >> <http://build.id/> %}#warnings">{{build.warnings_no}}
>> >> warning{{build.warnings_no|pluralize}}</a>{%endif%}</td>
>> >>
>> >>
>> >>    93 :             <td class="time"><a href="{% url "buildtime"
>> >>build.id
>> >> <http://build.id/> %}">{{build.timespent|sectohms}}</a></td>
>> >>
>> >>
>> >>    94 :             <td class="log">{{build.cooker_log_path}}</td>
>> >>
>> >>
>> >>    95 :             <td class="output">
>> >>
>> >>
>> >>    96 :                {% if build.outcome == build.SUCCEEDED %}
>> >>
>> >>
>> >>    97 :               <a href="{%url "builddashboard" build.id
>> >> <http://build.id/>%}#images">{{fstypes|get_dict_value:build.id
>> >> <http://build.id/>}}</a>
>> >>
>> >>
>> >>    98 :               {% endif %}
>> >>
>> >>
>> >>    99 :             </td>
>> >>
>> >>
>> >>    100 :         </tr>
>> >>
>> >>
>> >>    101 :
>> >>
>> >>
>> >>    102 :         {% endfor %}
>> >>
>> >>
>> >>    103 :
>> >>
>> >>
>> >>    104 :
>> >>
>> >>
>> >>    105 : {% include "basetable_bottom.html" %}
>> >>
>> >>
>> >>    106 :
>> >>
>> >>
>> >> Traceback:
>> >> File
>> >>"/usr/local/lib/python2.7/dist-packages/django/core/handlers/base.py"
>> >> in get_response
>> >>   115.                         response = callback(request,
>> >> *callback_args, **callback_kwargs)
>> >> File "/home/yocto/poky/bitbake/lib/toaster/toastergui/views.py" in
>> >>builds
>> >>   376.     return render(request, template, context)
>> >> File
>> >>"/usr/local/lib/python2.7/dist-packages/django/shortcuts/__init__.py"
>> >> in render
>> >>   53.     return HttpResponse(loader.render_to_string(*args,
>>**kwargs),
>> >> File 
>>"/usr/local/lib/python2.7/dist-packages/django/template/loader.py"
>> >>in
>> >> render_to_string
>> >>   170.         t = get_template(template_name)
>> >> File 
>>"/usr/local/lib/python2.7/dist-packages/django/template/loader.py"
>> >>in
>> >> get_template
>> >>   146.     template, origin = find_template(template_name)
>> >> File 
>>"/usr/local/lib/python2.7/dist-packages/django/template/loader.py"
>> >>in
>> >> find_template
>> >>   135.             source, display_name = loader(name, dirs)
>> >> File 
>>"/usr/local/lib/python2.7/dist-packages/django/template/loader.py"
>> >>in
>> >> __call__
>> >>   43.         return self.load_template(template_name, template_dirs)
>> >> File 
>>"/usr/local/lib/python2.7/dist-packages/django/template/loader.py"
>> >>in
>> >> load_template
>> >>   49.             template = get_template_from_string(source, origin,
>> >> template_name)
>> >> File 
>>"/usr/local/lib/python2.7/dist-packages/django/template/loader.py"
>> >>in
>> >> get_template_from_string
>> >>   157.     return Template(source, origin, name)
>> >> File 
>>"/usr/local/lib/python2.7/dist-packages/django/template/base.py" in
>> >> __init__
>> >>   125.         self.nodelist = compile_string(template_string,
>>origin)
>> >> File 
>>"/usr/local/lib/python2.7/dist-packages/django/template/base.py" in
>> >> compile_string
>> >>   153.     return parser.parse()
>> >> File 
>>"/usr/local/lib/python2.7/dist-packages/django/template/base.py" in
>> >> parse
>> >>   274.                     compiled_result = compile_func(self,
>>token)
>> >> File
>> >> 
>>"/usr/local/lib/python2.7/dist-packages/django/template/loader_tags.py"
>> >>in
>> >> do_extends
>> >>   215.     nodelist = parser.parse()
>> >> File 
>>"/usr/local/lib/python2.7/dist-packages/django/template/base.py" in
>> >> parse
>> >>   274.                     compiled_result = compile_func(self,
>>token)
>> >> File
>> >> 
>>"/usr/local/lib/python2.7/dist-packages/django/template/loader_tags.py"
>> >>in
>> >> do_block
>> >>   190.     nodelist = parser.parse(('endblock',))
>> >> File 
>>"/usr/local/lib/python2.7/dist-packages/django/template/base.py" in
>> >> parse
>> >>   274.                     compiled_result = compile_func(self,
>>token)
>> >> File
>> >> 
>>"/usr/local/lib/python2.7/dist-packages/django/template/defaulttags.py"
>> >>in
>> >> do_if
>> >>   917.         nodelist = parser.parse(('endif',))
>> >> File 
>>"/usr/local/lib/python2.7/dist-packages/django/template/base.py" in
>> >> parse
>> >>   274.                     compiled_result = compile_func(self,
>>token)
>> >> File
>> >> 
>>"/usr/local/lib/python2.7/dist-packages/django/template/defaulttags.py"
>> >>in
>> >> do_for
>> >>   767.     nodelist_loop = parser.parse(('empty', 'endfor',))
>> >> File 
>>"/usr/local/lib/python2.7/dist-packages/django/template/base.py" in
>> >> parse
>> >>   274.                     compiled_result = compile_func(self,
>>token)
>> >> File
>> >> 
>>"/usr/local/lib/python2.7/dist-packages/django/template/defaulttags.py"
>> >>in
>> >> do_if
>> >>   903.     nodelist = parser.parse(('elif', 'else', 'endif'))
>> >> File 
>>"/usr/local/lib/python2.7/dist-packages/django/template/base.py" in
>> >> parse
>> >>   253.                 filter_expression =
>> >> self.compile_filter(token.contents)
>> >> File 
>>"/usr/local/lib/python2.7/dist-packages/django/template/base.py" in
>> >> compile_filter
>> >>   353.         return FilterExpression(token, self)
>> >> File 
>>"/usr/local/lib/python2.7/dist-packages/django/template/base.py" in
>> >> __init__
>> >>   564.                 filter_func = parser.find_filter(filter_name)
>> >> File 
>>"/usr/local/lib/python2.7/dist-packages/django/template/base.py" in
>> >> find_filter
>> >>   359.             raise TemplateSyntaxError("Invalid filter: '%s'" %
>> >> filter_name)
>> >>
>> >> Exception Type: TemplateSyntaxError at /gui/builds/
>> >> Exception Value: Invalid filter: 'get_dict_value'
>> >>
>> >>
>> >>
>> >> >
>> >> >It depends on these two commits before it:
>> >> >  6012:
>> >> >f648d5018f7d3ae6eb81f0a05bdbbfe51080eece ³Duplicate search results
>> >> >returned in the build page²
>> >> >  5947:fd12d8aad22eadee20723a1b5323035e0ac47742 ³Replace fstypes
>>lookup
>> >> >on main build page²
>> >> >
>> >> >Thanks,
>> >> >David
>> >> >
>> >> >
>> >> >
>> >> >
>> >>
>> >
>>
>



^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [review-request] Bug #5920 "Secondary sorting criteria not working"
  2014-03-28 17:50         ` Barros Pena, Belen
@ 2014-03-31 16:31           ` Damian, Alexandru
  0 siblings, 0 replies; 8+ messages in thread
From: Damian, Alexandru @ 2014-03-31 16:31 UTC (permalink / raw)
  To: Barros Pena, Belen; +Cc: toaster

[-- Attachment #1: Type: text/plain, Size: 12623 bytes --]

Taken,

Thank you,
Alex


On Fri, Mar 28, 2014 at 5:50 PM, Barros Pena, Belen <
belen.barros.pena@intel.com> wrote:

>
>
> On 28/03/2014 17:45, "Reyna, David" <david.reyna@windriver.com> wrote:
>
> >Hi Belen,
> >
> >> I can see the secondary sorting working everywhere except a small glitch
> >> the installed packages table. This might be related to the rounding of
> >> values, I am not sure, but when I sort by 'Size', packages with the same
> >
> >That is indeed the case. The sort is working, but the rounding format is
> >hiding the details.
> >
> >For example, I see ...
> >
> >update-alternatives-opkg 4 KB
> >init-ifupdown            3 KB
> >busybox-udhcpc           3 KB
> >busybox-hwclock          2 KB
> >
> >... is really ...
> >
> >update-alternatives-opkg 4259
> >init-ifupdown            2897
> >busybox-udhcpc           2598
> >busybox-hwclock          2541
> >
> >I do not think that this is fixable, at least until we come up with
> >custom sorts.
> >
> >Is this small gap acceptable for Toaster-1.6?
>
> Yes, I think it is.
>
> Thanks!
>
> Belén
>
> >
> >- David
> >
> >
> >
> >> -----Original Message-----
> >> From: Barros Pena, Belen [mailto:belen.barros.pena@intel.com]
> >> Sent: Friday, March 28, 2014 3:45 AM
> >> To: Reyna, David; DAMIAN, ALEXANDRU
> >> Cc: toaster@yoctoproject.org
> >> Subject: Re: [review-request] Bug #5920 "Secondary sorting criteria not
> >> working"
> >>
> >>
> >> On 27/03/2014 16:13, "Reyna, David" <david.reyna@windriver.com> wrote:
> >>
> >> >Hi Belen,
> >> >
> >> >The 'get_dict_value' filter is part of Bug 5947 - "Replace fstypes
> >> >lookup".
> >> >
> >> >Did you cherry-pick "dreyna/fstypes_v2" and "dreyna/duplicates_6012"?
> >>
> >> Yep, that solved the problem.
> >>
> >> I can see the secondary sorting working everywhere except a small glitch
> >> the installed packages table. This might be related to the rounding of
> >> values, I am not sure, but when I sort by 'Size', packages with the same
> >> size don't seem to be sorted in alphabetical order.
> >>
> >> Cheers
> >>
> >> Belén
> >>
> >> >
> >> >- David
> >> >
> >> >> -----Original Message-----
> >> >> From: Barros Pena, Belen [mailto:belen.barros.pena@intel.com]
> >> >> Sent: Thursday, March 27, 2014 4:48 AM
> >> >> To: Reyna, David; DAMIAN, ALEXANDRU
> >> >> Cc: toaster@yoctoproject.org
> >> >> Subject: Re: [review-request] Bug #5920 "Secondary sorting criteria
> >>not
> >> >> working"
> >> >>
> >> >> On 26/03/2014 23:34, "Reyna, David" <david.reyna@windriver.com>
> >>wrote:
> >> >>
> >> >> >Hi Belen,
> >> >> >
> >> >> >Here is my branch for 5920 ³Secondary sorting criteria not
> >>working². It
> >> >> >will add a secondary sort for all tables when the current sort is a
> >> >> >different column that the table¹s respective default sort.
> >> >> >
> >> >> >The branch is here: dreyna/secondary_sort_5920
> >> >>
> >> >> I am getting an error in the builds page with this branch:
> >> >>
> >> >> Invalid filter: 'get_dict_value'
> >> >>
> >> >> Full trace below:
> >> >>
> >> >> Environment:
> >> >>
> >> >>
> >> >> Request Method: GET
> >> >> Request URL:
> >> >>
> >>
> >>>>
> http://localhost:8000/gui/builds/?count=10&orderby=completed_on%3A-&pag
> >>>>e=
> >> >>1
> >> >>
> >> >> Django Version: 1.5
> >> >> Python Version: 2.7.3
> >> >> Installed Applications:
> >> >> ('django.contrib.staticfiles',
> >> >>  'django.contrib.humanize',
> >> >>  'orm',
> >> >>  'toastermain',
> >> >>  'toastergui',
> >> >>  'bldviewer',
> >> >>  'south')
> >> >> Installed Middleware:
> >> >> ('django.middleware.common.CommonMiddleware',
> >> >>  'django.contrib.sessions.middleware.SessionMiddleware',
> >> >>  'django.middleware.csrf.CsrfViewMiddleware',
> >> >>  'django.contrib.auth.middleware.AuthenticationMiddleware',
> >> >>  'django.contrib.messages.middleware.MessageMiddleware')
> >> >>
> >> >>
> >> >> Template error:
> >> >> In template
> >> >> /home/yocto/poky/bitbake/lib/toaster/toastergui/templates/build.html,
> >> >> error at line 96
> >> >>    Invalid filter: 'get_dict_value'
> >> >>    86 :             <td class="target">{% for t in
> >>build.target_set.all
> >> >>%}
> >> >> <a href="{% url "builddashboard" build.id <http://build.id/> %}">
> >> >> {{t.target}} </a> <br />{% endfor %}</td>
> >> >>
> >> >>
> >> >>    87 :             <td class="machine"><a href="{% url
> >>"builddashboard"
> >> >> build.id <http://build.id/> %}">{{build.machine}}</a></td>
> >> >>
> >> >>
> >> >>    88 :             <td class="started_on"><a href="{% url
> >> >> "builddashboard" build.id <http://build.id/>
> >> >> %}">{{build.started_on|date:"d/m/y H:i"}}</a></td>
> >> >>
> >> >>
> >> >>    89 :             <td class="completed_on"><a href="{% url
> >> >> "builddashboard" build.id <http://build.id/>
> >> >> %}">{{build.completed_on|date:"d/m/y H:i"}}</a></td>
> >> >>
> >> >>
> >> >>    90 :             <td class="failed_tasks error">{% query
> >> >> build.task_build outcome=4 order__gt=0 as exectask%}{% if
> >>exectask.count
> >> >> == 1 %}<a href="{% url "task" build.id <http://build.id/>
> >>exectask.0.id
> >> >> <http://exectask.0.id/> %}">{{exectask.0.recipe.name
> >> >> <http://exectask.0.recipe.name/>}}.{{exectask.0.task_name}}</a>{%
> >>elif
> >> >> exectask.count > 1%}<a href="{% url "tasks" build.id
> >><http://build.id/>
> >> >> %}?filter=outcome%3A4">{{exectask.count}}</a>{%endif%}</td>
> >> >>
> >> >>
> >> >>    91 :             <td class="errors_no">{% if  build.errors_no %}<a
> >> >> class="errors_no error" href="{% url "builddashboard" build.id
> >> >> <http://build.id/>%}#errors">{{build.errors_no}}
> >> >> error{{build.errors_no|pluralize}}</a>{%endif%}</td>
> >> >>
> >> >>
> >> >>    92 :             <td class="warnings_no">{% if  build.warnings_no
> >> >>%}<a
> >> >> class="warnings_no warning" href="{% url "builddashboard" build.id
> >> >> <http://build.id/> %}#warnings">{{build.warnings_no}}
> >> >> warning{{build.warnings_no|pluralize}}</a>{%endif%}</td>
> >> >>
> >> >>
> >> >>    93 :             <td class="time"><a href="{% url "buildtime"
> >> >>build.id
> >> >> <http://build.id/> %}">{{build.timespent|sectohms}}</a></td>
> >> >>
> >> >>
> >> >>    94 :             <td class="log">{{build.cooker_log_path}}</td>
> >> >>
> >> >>
> >> >>    95 :             <td class="output">
> >> >>
> >> >>
> >> >>    96 :                {% if build.outcome == build.SUCCEEDED %}
> >> >>
> >> >>
> >> >>    97 :               <a href="{%url "builddashboard" build.id
> >> >> <http://build.id/>%}#images">{{fstypes|get_dict_value:build.id
> >> >> <http://build.id/>}}</a>
> >> >>
> >> >>
> >> >>    98 :               {% endif %}
> >> >>
> >> >>
> >> >>    99 :             </td>
> >> >>
> >> >>
> >> >>    100 :         </tr>
> >> >>
> >> >>
> >> >>    101 :
> >> >>
> >> >>
> >> >>    102 :         {% endfor %}
> >> >>
> >> >>
> >> >>    103 :
> >> >>
> >> >>
> >> >>    104 :
> >> >>
> >> >>
> >> >>    105 : {% include "basetable_bottom.html" %}
> >> >>
> >> >>
> >> >>    106 :
> >> >>
> >> >>
> >> >> Traceback:
> >> >> File
> >> >>"/usr/local/lib/python2.7/dist-packages/django/core/handlers/base.py"
> >> >> in get_response
> >> >>   115.                         response = callback(request,
> >> >> *callback_args, **callback_kwargs)
> >> >> File "/home/yocto/poky/bitbake/lib/toaster/toastergui/views.py" in
> >> >>builds
> >> >>   376.     return render(request, template, context)
> >> >> File
> >> >>"/usr/local/lib/python2.7/dist-packages/django/shortcuts/__init__.py"
> >> >> in render
> >> >>   53.     return HttpResponse(loader.render_to_string(*args,
> >>**kwargs),
> >> >> File
> >>"/usr/local/lib/python2.7/dist-packages/django/template/loader.py"
> >> >>in
> >> >> render_to_string
> >> >>   170.         t = get_template(template_name)
> >> >> File
> >>"/usr/local/lib/python2.7/dist-packages/django/template/loader.py"
> >> >>in
> >> >> get_template
> >> >>   146.     template, origin = find_template(template_name)
> >> >> File
> >>"/usr/local/lib/python2.7/dist-packages/django/template/loader.py"
> >> >>in
> >> >> find_template
> >> >>   135.             source, display_name = loader(name, dirs)
> >> >> File
> >>"/usr/local/lib/python2.7/dist-packages/django/template/loader.py"
> >> >>in
> >> >> __call__
> >> >>   43.         return self.load_template(template_name, template_dirs)
> >> >> File
> >>"/usr/local/lib/python2.7/dist-packages/django/template/loader.py"
> >> >>in
> >> >> load_template
> >> >>   49.             template = get_template_from_string(source, origin,
> >> >> template_name)
> >> >> File
> >>"/usr/local/lib/python2.7/dist-packages/django/template/loader.py"
> >> >>in
> >> >> get_template_from_string
> >> >>   157.     return Template(source, origin, name)
> >> >> File
> >>"/usr/local/lib/python2.7/dist-packages/django/template/base.py" in
> >> >> __init__
> >> >>   125.         self.nodelist = compile_string(template_string,
> >>origin)
> >> >> File
> >>"/usr/local/lib/python2.7/dist-packages/django/template/base.py" in
> >> >> compile_string
> >> >>   153.     return parser.parse()
> >> >> File
> >>"/usr/local/lib/python2.7/dist-packages/django/template/base.py" in
> >> >> parse
> >> >>   274.                     compiled_result = compile_func(self,
> >>token)
> >> >> File
> >> >>
> >>"/usr/local/lib/python2.7/dist-packages/django/template/loader_tags.py"
> >> >>in
> >> >> do_extends
> >> >>   215.     nodelist = parser.parse()
> >> >> File
> >>"/usr/local/lib/python2.7/dist-packages/django/template/base.py" in
> >> >> parse
> >> >>   274.                     compiled_result = compile_func(self,
> >>token)
> >> >> File
> >> >>
> >>"/usr/local/lib/python2.7/dist-packages/django/template/loader_tags.py"
> >> >>in
> >> >> do_block
> >> >>   190.     nodelist = parser.parse(('endblock',))
> >> >> File
> >>"/usr/local/lib/python2.7/dist-packages/django/template/base.py" in
> >> >> parse
> >> >>   274.                     compiled_result = compile_func(self,
> >>token)
> >> >> File
> >> >>
> >>"/usr/local/lib/python2.7/dist-packages/django/template/defaulttags.py"
> >> >>in
> >> >> do_if
> >> >>   917.         nodelist = parser.parse(('endif',))
> >> >> File
> >>"/usr/local/lib/python2.7/dist-packages/django/template/base.py" in
> >> >> parse
> >> >>   274.                     compiled_result = compile_func(self,
> >>token)
> >> >> File
> >> >>
> >>"/usr/local/lib/python2.7/dist-packages/django/template/defaulttags.py"
> >> >>in
> >> >> do_for
> >> >>   767.     nodelist_loop = parser.parse(('empty', 'endfor',))
> >> >> File
> >>"/usr/local/lib/python2.7/dist-packages/django/template/base.py" in
> >> >> parse
> >> >>   274.                     compiled_result = compile_func(self,
> >>token)
> >> >> File
> >> >>
> >>"/usr/local/lib/python2.7/dist-packages/django/template/defaulttags.py"
> >> >>in
> >> >> do_if
> >> >>   903.     nodelist = parser.parse(('elif', 'else', 'endif'))
> >> >> File
> >>"/usr/local/lib/python2.7/dist-packages/django/template/base.py" in
> >> >> parse
> >> >>   253.                 filter_expression =
> >> >> self.compile_filter(token.contents)
> >> >> File
> >>"/usr/local/lib/python2.7/dist-packages/django/template/base.py" in
> >> >> compile_filter
> >> >>   353.         return FilterExpression(token, self)
> >> >> File
> >>"/usr/local/lib/python2.7/dist-packages/django/template/base.py" in
> >> >> __init__
> >> >>   564.                 filter_func = parser.find_filter(filter_name)
> >> >> File
> >>"/usr/local/lib/python2.7/dist-packages/django/template/base.py" in
> >> >> find_filter
> >> >>   359.             raise TemplateSyntaxError("Invalid filter: '%s'" %
> >> >> filter_name)
> >> >>
> >> >> Exception Type: TemplateSyntaxError at /gui/builds/
> >> >> Exception Value: Invalid filter: 'get_dict_value'
> >> >>
> >> >>
> >> >>
> >> >> >
> >> >> >It depends on these two commits before it:
> >> >> >  6012:
> >> >> >f648d5018f7d3ae6eb81f0a05bdbbfe51080eece ³Duplicate search results
> >> >> >returned in the build page²
> >> >> >  5947:fd12d8aad22eadee20723a1b5323035e0ac47742 ³Replace fstypes
> >>lookup
> >> >> >on main build page²
> >> >> >
> >> >> >Thanks,
> >> >> >David
> >> >> >
> >> >> >
> >> >> >
> >> >> >
> >> >>
> >> >
> >>
> >
>
>


-- 
Alex Damian
Yocto Project
SSG / OTC

[-- Attachment #2: Type: text/html, Size: 21031 bytes --]

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2014-03-31 16:31 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-03-26 23:34 [review-request] Bug #5920 "Secondary sorting criteria not working" Reyna, David
2014-03-27 11:48 ` Barros Pena, Belen
2014-03-27 16:13   ` Reyna, David
2014-03-27 16:22     ` Barros Pena, Belen
2014-03-28 10:44     ` Barros Pena, Belen
2014-03-28 17:45       ` Reyna, David
2014-03-28 17:50         ` Barros Pena, Belen
2014-03-31 16:31           ` Damian, Alexandru

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.