All of lore.kernel.org
 help / color / mirror / Atom feed
* [review-request][PATCH 1/3] bitbake: toastergui: Fix toastertable table header reference
@ 2015-08-06 14:25 Michael Wood
  2015-08-06 14:25 ` [review-request][PATCH 2/3] bitbake: toastergui: Move layerdetails view definition to the views.py Michael Wood
  2015-08-06 14:25 ` [review-request][PATCH 3/3] bitbake: toastermain: Add a longer default database timeout Michael Wood
  0 siblings, 2 replies; 4+ messages in thread
From: Michael Wood @ 2015-08-06 14:25 UTC (permalink / raw)
  To: toaster

A header id was mistakenly added to the table template which was not
also added to the simple version of the toaster template. We don't need
this id so remove it.

Signed-off-by: Michael Wood <michael.g.wood@intel.com>
---
 bitbake/lib/toaster/toastergui/static/js/table.js          | 2 +-
 bitbake/lib/toaster/toastergui/templates/toastertable.html | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/bitbake/lib/toaster/toastergui/static/js/table.js b/bitbake/lib/toaster/toastergui/static/js/table.js
index d06a3f5..f18034d 100644
--- a/bitbake/lib/toaster/toastergui/static/js/table.js
+++ b/bitbake/lib/toaster/toastergui/static/js/table.js
@@ -198,7 +198,7 @@ function tableInit(ctx){
     if (tableChromeDone === true)
       return;
 
-    var tableHeadRow = table.find("thead#tableheader");
+    var tableHeadRow = table.find("thead");
     var editColMenu = $("#table-chrome-"+ctx.tableName).find(".editcol");
 
     tableHeadRow.html("");
diff --git a/bitbake/lib/toaster/toastergui/templates/toastertable.html b/bitbake/lib/toaster/toastergui/templates/toastertable.html
index 0473116..9ef4c6f 100644
--- a/bitbake/lib/toaster/toastergui/templates/toastertable.html
+++ b/bitbake/lib/toaster/toastergui/templates/toastertable.html
@@ -78,7 +78,7 @@
 
   <!-- The actual table -->
   <table class="table table-bordered table-hover tablesorter" id="{{table_name}}">
-    <thead id="tableheader">
+    <thead>
       <tr><th></th></tr>
     </thead>
     <tbody></tbody>
-- 
2.1.4



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

* [review-request][PATCH 2/3] bitbake: toastergui: Move layerdetails view definition to the views.py
  2015-08-06 14:25 [review-request][PATCH 1/3] bitbake: toastergui: Fix toastertable table header reference Michael Wood
@ 2015-08-06 14:25 ` Michael Wood
  2015-08-06 14:25 ` [review-request][PATCH 3/3] bitbake: toastermain: Add a longer default database timeout Michael Wood
  1 sibling, 0 replies; 4+ messages in thread
From: Michael Wood @ 2015-08-06 14:25 UTC (permalink / raw)
  To: toaster

The layerdetails view definition was moved to tables though it isn't
a table. We have a mechanism for the JSON response for this page so use
this instead of a custom class.

Signed-off-by: Michael Wood <michael.g.wood@intel.com>
---
 bitbake/lib/toaster/toastergui/tables.py  | 24 +-----------------------
 bitbake/lib/toaster/toastergui/urls.py    |  3 +--
 bitbake/lib/toaster/toastergui/views.py   | 15 +++++++++++++++
 bitbake/lib/toaster/toastergui/widgets.py | 26 --------------------------
 4 files changed, 17 insertions(+), 51 deletions(-)

diff --git a/bitbake/lib/toaster/toastergui/tables.py b/bitbake/lib/toaster/toastergui/tables.py
index 8d5166be..8770df5 100644
--- a/bitbake/lib/toaster/toastergui/tables.py
+++ b/bitbake/lib/toaster/toastergui/tables.py
@@ -19,7 +19,7 @@
 # with this program; if not, write to the Free Software Foundation, Inc.,
 # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
 
-from toastergui.widgets import ToasterTable, ToasterTemplateView
+from toastergui.widgets import ToasterTable
 from orm.models import Recipe, ProjectLayer, Layer_Version, Machine, Project
 from django.db.models import Q, Max
 from django.conf.urls import url
@@ -202,28 +202,6 @@ class LayersTable(ToasterTable):
                         computation = lambda x: x.layer.name)
 
 
-
-
-class LayerDetails(ToasterTemplateView):
-    def get_context_data(self, **kwargs):
-        context = super(LayerDetails, self).get_context_data(**kwargs)
-        from toastergui.views import _lv_to_dict
-
-        context['project'] = Project.objects.get(pk=kwargs['pid'])
-        context['layerversion'] = Layer_Version.objects.get(pk=kwargs['layerid'])
-        context['layerdict'] = _lv_to_dict(context['project'], context['layerversion'])
-        context['layerdeps'] = {"list": [
-            [ {"id": y.id,
-               "name": y.layer.name,
-               "layerdetailurl": reverse('layerdetails', args=(kwargs['pid'], y.id)),
-              } for y in x.depends_on.get_equivalents_wpriority(context['project'])][0] for x in context['layerversion'].dependencies.all()]}
-        context['projectlayers'] = map(lambda prjlayer: prjlayer.layercommit.id, ProjectLayer.objects.filter(project=context['project']))
-
-        self.context_entries = ['project', 'layerversion', 'projectlayers', 'layerdict', 'layerdeps']
-
-        return context
-
-
 class MachinesTable(ToasterTable, ProjectFiltersMixin):
     """Table of Machines in Toaster"""
 
diff --git a/bitbake/lib/toaster/toastergui/urls.py b/bitbake/lib/toaster/toastergui/urls.py
index beb4303..6a2c586 100644
--- a/bitbake/lib/toaster/toastergui/urls.py
+++ b/bitbake/lib/toaster/toastergui/urls.py
@@ -109,8 +109,7 @@ urlpatterns = patterns('toastergui.views',
             name="projectlayers"),
 
         url(r'^project/(?P<pid>\d+)/layer/(?P<layerid>\d+)$',
-            tables.LayerDetails.as_view(template_name='layerdetails.html'),
-            name='layerdetails'),
+            'layerdetails', name='layerdetails'),
 
         url(r'^project/(?P<pid>\d+)/layer/(?P<layerid>\d+)/recipes/$',
             tables.LayerRecipesTable.as_view(template_name="generic-toastertable-page.html"),
diff --git a/bitbake/lib/toaster/toastergui/views.py b/bitbake/lib/toaster/toastergui/views.py
index b43a01e..21997d6 100755
--- a/bitbake/lib/toaster/toastergui/views.py
+++ b/bitbake/lib/toaster/toastergui/views.py
@@ -2528,6 +2528,21 @@ if True:
         }
         return render(request, template, context)
 
+    @_template_renderer('layerdetails.html')
+    def layerdetails(request, pid, layerid):
+        project = Project.objects.get(pk=pid)
+        layer_version = Layer_Version.objects.get(pk=layerid)
+
+        context = { 'project' : project,
+                   'layerversion' : layer_version,
+                   'layerdeps' : { "list": [
+                     [{"id": y.id, "name": y.layer.name} for y in x.depends_on.get_equivalents_wpriority(project)][0] for x in layer_version.dependencies.all()]},
+                   'projectlayers': map(lambda prjlayer: prjlayer.layercommit.id, ProjectLayer.objects.filter(project=project))
+                  }
+
+        return context
+
+
     def get_project_configvars_context():
         # Vars managed outside of this view
         vars_managed = {
diff --git a/bitbake/lib/toaster/toastergui/widgets.py b/bitbake/lib/toaster/toastergui/widgets.py
index 0885402..1f81297 100644
--- a/bitbake/lib/toaster/toastergui/widgets.py
+++ b/bitbake/lib/toaster/toastergui/widgets.py
@@ -328,29 +328,3 @@ class ToasterTable(TemplateView):
         cache.set(cache_name, data, 60*30)
 
         return data
-
-
-class ToasterTemplateView(TemplateView):
-    # renders a instance in a template, or returns the context as json
-    # the class-equivalent of the _template_renderer decorator for views
-
-
-    def get(self, *args, **kwargs):
-        if self.request.GET.get('format', None) == 'json':
-            from django.core.urlresolvers import reverse
-            from django.shortcuts import HttpResponse
-            from views import objtojson
-            from toastergui.templatetags.projecttags import json as jsonfilter
-
-            context = self.get_context_data(**kwargs)
-
-            for x in context.keys():
-                if x not in self.context_entries:
-                    del context[x]
-
-            context["error"] = "ok"
-
-            return HttpResponse(jsonfilter(context,  default=objtojson ),
-                            content_type = "application/json; charset=utf-8")
-
-        return super(ToasterTemplateView, self).get(*args, **kwargs)
-- 
2.1.4



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

* [review-request][PATCH 3/3] bitbake: toastermain: Add a longer default database timeout
  2015-08-06 14:25 [review-request][PATCH 1/3] bitbake: toastergui: Fix toastertable table header reference Michael Wood
  2015-08-06 14:25 ` [review-request][PATCH 2/3] bitbake: toastergui: Move layerdetails view definition to the views.py Michael Wood
@ 2015-08-06 14:25 ` Michael Wood
  2015-08-06 14:28   ` Michael Wood
  1 sibling, 1 reply; 4+ messages in thread
From: Michael Wood @ 2015-08-06 14:25 UTC (permalink / raw)
  To: toaster

When using sqlite we sometimes see Database Locked exceptions when we
fire off database calls asynchronously from the UI. We need sqlite to
wait a bit longer for the lock to be released.
n.b In production setup we hopefully wouldn't be using sqlite.

docs.djangoproject.com/en/1.6/ref/databases/#database-is-locked-errors

Signed-off-by: Michael Wood <michael.g.wood@intel.com>
---
 bitbake/lib/toaster/toastermain/settings.py | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/bitbake/lib/toaster/toastermain/settings.py b/bitbake/lib/toaster/toastermain/settings.py
index c72a904..b149a5e 100644
--- a/bitbake/lib/toaster/toastermain/settings.py
+++ b/bitbake/lib/toaster/toastermain/settings.py
@@ -49,6 +49,12 @@ DATABASES = {
     }
 }
 
+# Needed when Using sqlite especially to add a longer timeout for waiting
+# for the database lock to be  released
+# https://docs.djangoproject.com/en/1.6/ref/databases/#database-is-locked-errors
+if 'sqlite' in DATABASES['default']['ENGINE']:
+    DATABASES['default']['OPTIONS'] = { 'timeout': 20 }
+
 # Reinterpret database settings if we have DATABASE_URL environment variable defined
 
 if 'DATABASE_URL' in os.environ:
-- 
2.1.4



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

* Re: [review-request][PATCH 3/3] bitbake: toastermain: Add a longer default database timeout
  2015-08-06 14:25 ` [review-request][PATCH 3/3] bitbake: toastermain: Add a longer default database timeout Michael Wood
@ 2015-08-06 14:28   ` Michael Wood
  0 siblings, 0 replies; 4+ messages in thread
From: Michael Wood @ 2015-08-06 14:28 UTC (permalink / raw)
  To: toaster@yoctoproject.org

Should have mentioned that this is a v2 series of

https://lists.yoctoproject.org/pipermail/toaster/2015-July/002428.html
https://lists.yoctoproject.org/pipermail/toaster/2015-July/002429.html
https://lists.yoctoproject.org/pipermail/toaster/2015-July/002430.html

Which is now rebased and with the fixes for review items mentioned by Ed

Michael

On 06/08/15 15:25, Michael Wood wrote:
> When using sqlite we sometimes see Database Locked exceptions when we
> fire off database calls asynchronously from the UI. We need sqlite to
> wait a bit longer for the lock to be released.
> n.b In production setup we hopefully wouldn't be using sqlite.
>
> docs.djangoproject.com/en/1.6/ref/databases/#database-is-locked-errors
>
> Signed-off-by: Michael Wood <michael.g.wood@intel.com>
> ---
>   bitbake/lib/toaster/toastermain/settings.py | 6 ++++++
>   1 file changed, 6 insertions(+)
>
> diff --git a/bitbake/lib/toaster/toastermain/settings.py b/bitbake/lib/toaster/toastermain/settings.py
> index c72a904..b149a5e 100644
> --- a/bitbake/lib/toaster/toastermain/settings.py
> +++ b/bitbake/lib/toaster/toastermain/settings.py
> @@ -49,6 +49,12 @@ DATABASES = {
>       }
>   }
>   
> +# Needed when Using sqlite especially to add a longer timeout for waiting
> +# for the database lock to be  released
> +# https://docs.djangoproject.com/en/1.6/ref/databases/#database-is-locked-errors
> +if 'sqlite' in DATABASES['default']['ENGINE']:
> +    DATABASES['default']['OPTIONS'] = { 'timeout': 20 }
> +
>   # Reinterpret database settings if we have DATABASE_URL environment variable defined
>   
>   if 'DATABASE_URL' in os.environ:



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

end of thread, other threads:[~2015-08-06 14:28 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-08-06 14:25 [review-request][PATCH 1/3] bitbake: toastergui: Fix toastertable table header reference Michael Wood
2015-08-06 14:25 ` [review-request][PATCH 2/3] bitbake: toastergui: Move layerdetails view definition to the views.py Michael Wood
2015-08-06 14:25 ` [review-request][PATCH 3/3] bitbake: toastermain: Add a longer default database timeout Michael Wood
2015-08-06 14:28   ` Michael Wood

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.