public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Magnus Granberg" <zorry@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] proj/tinderbox-cluster-www:master commit in: python/templates/pages/packages/ebuilds/ebuild/, ...
Date: Sun, 26 Jul 2015 14:38:19 +0000 (UTC)	[thread overview]
Message-ID: <1437921459.65c8b3dcce64f5c865baa472c0307a07c1f9872b.zorry@gentoo> (raw)

commit:     65c8b3dcce64f5c865baa472c0307a07c1f9872b
Author:     Magnus Granberg <zorry <AT> gentoo <DOT> org>
AuthorDate: Sun Jul 26 14:37:39 2015 +0000
Commit:     Magnus Granberg <zorry <AT> gentoo <DOT> org>
CommitDate: Sun Jul 26 14:37:39 2015 +0000
URL:        https://gitweb.gentoo.org/proj/tinderbox-cluster-www.git/commit/?id=65c8b3dc

add ebuild info and fix listing of packages

 python/tbc_www/models.py                           | 27 +++++++++++++
 python/tbc_www/urls.py                             |  1 +
 python/tbc_www/views.py                            | 40 ++++++++++++------
 python/templates/includes/frontpage/new_logs       |  8 ++--
 .../templates/pages/packages/category/index.html   |  6 +--
 .../pages/packages/ebuilds/ebuild/index.html       | 47 ++++++++++++++++++++++
 python/templates/pages/packages/index.html         |  6 +--
 7 files changed, 112 insertions(+), 23 deletions(-)

diff --git a/python/tbc_www/models.py b/python/tbc_www/models.py
index 621a7dc..2cb327a 100644
--- a/python/tbc_www/models.py
+++ b/python/tbc_www/models.py
@@ -175,6 +175,14 @@ class Keywords(models.Model):
 	def __str__(self):
 		return '%s %s' % (self.KeywordId, self.Keyword)
 
+class Restrictions(models.Model):
+	RestrictionId = models.IntegerField(primary_key=True, db_column='restriction_id')
+	Restriction = models.CharField(max_length=150, db_column='restriction')
+	class Meta:
+		db_table = 'restrictions'
+	def __str__(self):
+		return '%s %s' % (self.RestrictionId, self.Restriction)
+
 class EbuildsKeywords(models.Model):
 	Id =  models.IntegerField(primary_key=True, db_column='id')
 	EbuildId = models.ForeignKey(Ebuilds, db_column='ebuild_id')
@@ -184,3 +192,22 @@ class EbuildsKeywords(models.Model):
 		db_table = 'ebuilds_keywords'
 	def __str__(self):
 		return '%s %s %s' % (self.EbuildId, self.KeywordId, self.Status)
+
+class EbuildsIuse(models.Model):
+	Id =  models.IntegerField(primary_key=True, db_column='id')
+	EbuildId = models.ForeignKey(Ebuilds, db_column='ebuild_id')
+	UseId = models.ForeignKey(Uses, db_column='use_id')
+	Status =models.BooleanField(db_column='status')
+	class Meta:
+		db_table = 'ebuilds_iuse'
+	def __str__(self):
+		return '%s %s %s %s' % (self.Id, self.EbuildId, self.UseId, self.Status)
+
+class EbuildsRestrictions(models.Model):
+	Id =  models.IntegerField(primary_key=True, db_column='id')
+	EbuildId = models.ForeignKey(Ebuilds, db_column='ebuild_id')
+	RestrictionId = models.ForeignKey(Restrictions, db_column='restriction_id')
+	class Meta:
+		db_table = 'ebuilds_restrictions'
+	def __str__(self):
+		return '%s %s' % (self.EbuildId, self.RestrictionId)

diff --git a/python/tbc_www/urls.py b/python/tbc_www/urls.py
index 193443f..4d50f40 100644
--- a/python/tbc_www/urls.py
+++ b/python/tbc_www/urls.py
@@ -5,5 +5,6 @@ urlpatterns = patterns('tbc_www.views',
 	url(r'^packages/$', 'categories'),
 	url(r'^categories/(?P<category_id>\d+)/$', 'packages'),
 	url(r'^package/(?P<package_id>\d+)/$', 'ebuilds'),
+	url(r'^ebuild/(?P<ebuild_id>\d+)/$', 'ebuild'),
 	url(r'^new/$', 'new_main'),
 )

diff --git a/python/tbc_www/views.py b/python/tbc_www/views.py
index f68a706..5b719aa 100644
--- a/python/tbc_www/views.py
+++ b/python/tbc_www/views.py
@@ -7,7 +7,7 @@ from django.conf import settings
 from gentoo_www.models import SiteSettings, Layout, Pages, SubPages, Sponsors, Posts
 from tbc_www.models import EbuildsMetadata, BuildLogs, BuildJobs, BuildLogsRepomanQa, \
 	BuildJobsUse, Categories, CategoriesMetadata, Packages, PackagesMetadata, Ebuilds, \
-	Repos, EbuildsKeywords, BuildLogsErrors
+	Repos, EbuildsKeywords, BuildLogsErrors, EbuildsRestrictions, EbuildsIuse
 import re
 
 def default_TmpDict(pagerequest):
@@ -32,9 +32,10 @@ def home(request):
 	Lines = 5
 	TmpDict = default_TmpDict(pagerequest)
 	TmpDict['EM'] = EbuildsMetadata.objects.filter(Revision = '1.1').order_by('-Id')[:Lines]
-	adict = {}
+	alist = []
 	for BL in BuildLogs.objects.order_by('-TimeStamp')[:Lines]:
 		adict2 = {}
+		adict2['BuildLogId'] = BL.BuildLogId
 		adict2['C'] = BL.EbuildId.PackageId.CategoryId.Category
 		adict2['P'] = BL.EbuildId.PackageId.Package
 		adict2['V'] = BL.EbuildId.Version
@@ -43,8 +44,8 @@ def home(request):
 		adict2['SummeryText'] = BL.SummeryText
 		if BL.Fail:
 			adict2['BE_tmp'] = BuildLogsErrors.objects.filter(BuildLogId = BL.BuildLogId)
-		adict[BL.BuildLogId] = adict2
-	TmpDict['BL'] = adict
+		alist.append(adict2)
+	TmpDict['BL'] = alist
 	adict = {}
 	BJ_Tmp = BuildJobs.objects.order_by('-TimeStamp')[:Lines]
 	for BJ in BJ_Tmp:
@@ -82,7 +83,7 @@ def home(request):
 def categories(request):
 	pagerequest = 'packages'
 	TmpDict = default_TmpDict(pagerequest)
-	adict2 = {}
+	alist = []
 	for CM in CategoriesMetadata.objects.filter(CategoryId__Active = True).order_by('CategoryId__Category'):
 		adict = {}
 		adict['CategoryId'] = CM.CategoryId.CategoryId
@@ -92,14 +93,14 @@ def categories(request):
 		for P in Packages.objects.filter(Active = True).filter(CategoryId_id = CM.CategoryId.CategoryId).order_by('Package'):
 			packages.append(P.Package + '\n')
 		adict['Packages'] = packages
-		adict2[CM.CategoryId.Category] = adict
-	TmpDict['CM_tmp'] = adict2
+		alist.append(adict)
+	TmpDict['CM_tmp'] = alist
 	return render(request, 'pages/' + pagerequest + '/index.html', TmpDict)
 
 def packages(request, category_id):
 	pagerequest = 'packages'
 	TmpDict = default_TmpDict(pagerequest)
-	adict2 = {}
+	alist = []
 	for PM in PackagesMetadata.objects.filter(PackageId__CategoryId_id = category_id).filter(PackageId__Active = True):
 		adict = {}
 		adict['PackageId'] = PM.PackageId.PackageId
@@ -110,8 +111,8 @@ def packages(request, category_id):
 		for E in Ebuilds.objects.filter(Active = True).filter(PackageId__Package = PM.PackageId.Package):
 			ebuilds.append(E.Version + '::' +  E.PackageId.RepoId.Repo + '\n')
 		adict['Ebuilds'] = ebuilds
-		adict2[PM.PackageId.Package] = adict
-	TmpDict['PM_tmp'] = adict2
+		alist.append(adict)
+	TmpDict['PM_tmp'] = alist
 	TmpDict['C'] = get_object_or_404(Categories,  CategoryId = category_id)
 	return render(request, 'pages/' + pagerequest + '/category/index.html', TmpDict)
 
@@ -122,16 +123,29 @@ def ebuilds(request, package_id):
 	TmpDict['P'] = P
 	TmpDict['EM_tmp'] = EbuildsMetadata.objects.filter(EbuildId__Active = True).filter(EbuildId__PackageId__Package = P.PackageId.Package)
 	TmpDict['EK_tmp'] = EbuildsKeywords.objects.filter(EbuildId__Active = True).filter(EbuildId__PackageId__Package = P.PackageId.Package)
+	
 	return render(request, 'pages/' + pagerequest + '/ebuilds/index.html', TmpDict)
 
+def ebuild(request, ebuild_id):
+	pagerequest = 'packages'
+	TmpDict = default_TmpDict(pagerequest)
+	TmpDict['E'] = get_object_or_404(Ebuilds,  EbuildId = ebuild_id)
+	TmpDict['EM_tmp'] = EbuildsMetadata.objects.filter(EbuildId__EbuildId = ebuild_id)
+	TmpDict['EK_tmp'] = EbuildsKeywords.objects.filter(EbuildId__EbuildId = ebuild_id)
+	TmpDict['BL_tmp'] = BuildLogs.objects.filter(EbuildId__EbuildId = ebuild_id)
+	TmpDict['EU_tmp'] = EbuildsIuse.objects.filter(EbuildId__EbuildId = ebuild_id)
+	TmpDict['ER_tmp'] = EbuildsRestrictions.objects.filter(EbuildId__EbuildId = ebuild_id)
+	return render(request, 'pages/' + pagerequest + '/ebuilds/ebuild/index.html', TmpDict)
+
 def new_main(request):
 	pagerequest = 'new'
 	Lines = 30
 	TmpDict = default_TmpDict(pagerequest)
 	TmpDict['EM'] = EbuildsMetadata.objects.filter(Revision = '1.1').order_by('-Id')[:Lines]
-	adict = {}
+	alist = []
 	for BL in BuildLogs.objects.order_by('-TimeStamp')[:Lines]:
 		adict2 = {}
+		adict2['BuildLogId'] = BL.BuildLogId
 		adict2['C'] = BL.EbuildId.PackageId.CategoryId.Category
 		adict2['P'] = BL.EbuildId.PackageId.Package
 		adict2['V'] = BL.EbuildId.Version
@@ -140,8 +154,8 @@ def new_main(request):
 		adict2['SummeryText'] = BL.SummeryText
 		if BL.Fail:
 			adict2['BE_tmp'] = BuildLogsErrors.objects.filter(BuildLogId = BL.BuildLogId)
-		adict[BL.BuildLogId] = adict2
-	TmpDict['BL'] = adict
+		alist.append(adict2)
+	TmpDict['BL'] = alist
 	adict = {}
 	BJ_Tmp = BuildJobs.objects.order_by('-TimeStamp')[:Lines]
 	for BJ in BJ_Tmp:

diff --git a/python/templates/includes/frontpage/new_logs b/python/templates/includes/frontpage/new_logs
index afe190c..3074c4d 100644
--- a/python/templates/includes/frontpage/new_logs
+++ b/python/templates/includes/frontpage/new_logs
@@ -1,19 +1,19 @@
 <table class="table table-striped frontpage-table">
-  {% for BuildLogId, B in BL.items %}
+  {% for B in BL%}
     <tr>
-      <td class="frontpage-table-package-atom"><a href="/new_logs/{{ BuildLogId }}/" title="{{ B.C }}/{{ B.P }}-{{ B.V }}::{{ B.R }}">
+      <td class="frontpage-table-package-atom"><a href="/new_logs/{{ B.BuildLogId }}/" title="{{ B.C }}/{{ B.P }}-{{ B.V }}::{{ B.R }}">
       {{ B.C }}/{{ B.P }}-{{ B.V }}::{{ B.R }}</a></td>
       <td><p title="{{ B.SummeryText }}">{{ B.SummeryText|truncatewords:3 }}</p>
       <td class="text-right">
         {% if B.Fail %}
           {% for BE in B.BE_tmp %}
-            {% if BE.BuildLogId.BuildLogId == BuildLogId %}
+            {% if BE.BuildLogId.BuildLogId == B.BuildLogId %}
               {% if BE.ErrorId.ErrorId == 1 or BE.ErrorId.ErrorId == 2 %}
                 <span class="label label-warning">{{ BE.ErrorId.ErrorName|upper }}</span>
               {% elif BE.ErrorId.ErrorId == 3 %}
                 <span class="label label-info">OTHERS</span>
               {% else %}
-                <span class="label label-danger">{{ BE.ErrorId.ErrorName|upper}}</span>
+                <span class="label label-danger">{{ BE.ErrorId.ErrorName|upper }}</span>
               {% endif %}
             {% endif %}
           {% endfor %}

diff --git a/python/templates/pages/packages/category/index.html b/python/templates/pages/packages/category/index.html
index edc7cc9..2f2b6f2 100644
--- a/python/templates/pages/packages/category/index.html
+++ b/python/templates/pages/packages/category/index.html
@@ -3,16 +3,16 @@
 <div class="row">
   <h2>Packages in {{ C.Category }}</h2>
   <div class="col-xs-12 col-md-5">
-    {% for key, PM in PM_tmp.items %}
+    {% for PM in PM_tmp %}
       <table class="table table-striped frontpage-table">
         <tr>
           <td class="frontpage-table-package-atom">
-            <a href="/package/{{ PM.PackageId }}/" title="{{ C.Category }}/{{ key }}">{{ C.Category }}/{{ key }}</a>
+            <a href="/package/{{ PM.PackageId }}/" title="{{ C.Category }}/{{ PM.Package }}">{{ C.Category }}/{{ PM.Package }}</a>
             <p title="{{ PM.Changlog }}">Changlog</p>
           </td>
           <td>
             <p title="{{ PM.Descriptions }}">{{ PM.Descriptions }}</p>
-            <p title="{% for P in PM.Ebuilds %}{{ key }}/{{ P }}{% endfor %}">Versions</p>
+            <p title="{% for P in PM.Ebuilds %}{{ PM.Package }}/{{ P }}{% endfor %}">Versions</p>
           </td>
         </tr>
       </table>

diff --git a/python/templates/pages/packages/ebuilds/ebuild/index.html b/python/templates/pages/packages/ebuilds/ebuild/index.html
new file mode 100644
index 0000000..e000a53
--- /dev/null
+++ b/python/templates/pages/packages/ebuilds/ebuild/index.html
@@ -0,0 +1,47 @@
+{% extends "layout/base.html" %}
+{% block content %}
+<div class="row">
+  <div class="col-xs-12 col-md-9">
+    <h2>{{ E.PackageId.CategoryId.Category }}/{{ E.PackageId.Package }}</h2>
+    <table class="table table-striped frontpage-table">
+      {% for EM in EM_tmp %}
+        <tr>
+          <td class="frontpage-table-package-atom">
+            <p" title="{{ E.PackageId.CategoryId.Category }}/{{ E.PackageId.Package }}-{{ E.EbuildId.Version }}::{{ E.PackageId.RepoId.Repo }}">{{ E.PackageId.Package }}-{{ E.Version }}::{{ E.PackageId.RepoId.Repo }}</p>
+            <a class="btn btn-default btn-xs" href="/buildpackage/{{ E.EbuildId.EbuildId }}/">Build</a>
+            {% for BL in BL_tmp %}
+              	{% if BL.Fail %}
+              	  <a class="btn btn-danger btn-xs" href="/buildlog/{{ BL.BuildLogId }}/">Fail</a>
+              	{% else %}
+              	  <a class="btn btn-success btn-xs" href="/buildlog/{{ BL.BuildLogId }}/">Success</a>
+              	{% endif %}
+              {% endfor %}
+          </td>
+          <td>
+              {% for K in EK_tmp %}
+                {% if K.EbuildId.EbuildId == E.EbuildId and K.KeywordId.Keyword != '*' %}
+                  {% if K.Status == 'Stable' %}<span class="label label-success">{{ K.KeywordId.Keyword }}</span>{% endif %}
+                  {% if K.Status == 'Unstable' %}<span class="label label-warning">{{ K.KeywordId.Keyword }}</span>{% endif %}
+                  {% if K.Status == 'Negative' %}{{ K.KeywordId.Keyword }}{% endif %}
+                {% endif %}
+              {% endfor %}
+              <p>
+              {% for U in EU_tmp %}
+                {% if U.Status %}
+                  <span class="label label-info">{{ U.UseId.Flag }}</span>
+                {% else %}
+                  <span class="label label-default">{{ U.UseId.Flag }}</span>
+                {% endif %}
+              {% endfor %}
+              </p><p>
+              {% for R in ER_tmp %}
+                  <span class="label label-warning">{{ R.RestrictionId.Restriction }}</span>
+              {% endfor %}
+              </p>
+          </td>
+        </tr>
+      {% endfor %}
+    </table>
+  </div>
+</div>
+{% endblock %}
\ No newline at end of file

diff --git a/python/templates/pages/packages/index.html b/python/templates/pages/packages/index.html
index 5e02552..7139c87 100644
--- a/python/templates/pages/packages/index.html
+++ b/python/templates/pages/packages/index.html
@@ -3,15 +3,15 @@
 <div class="row">
 <h2>Categories</h2>
   <div class="col-xs-8 col-md-4">
-    {% for key, CM in CM_tmp.items %}
+    {% for CM in CM_tmp %}
       <table class="table table-striped frontpage-table">
         <tr>
           <td class="frontpage-table-package-atom">
-            <a href="/categories/{{ CM.CategoryId }}/" title="{{ key }}">{{ key }}</a>
+            <a href="/categories/{{ CM.CategoryId }}/" title="{{ CM.Category }}">{{CM.Category }}</a>
           </td>
           <td>
             <p title="{{ CM.Descriptions }}">{{ CM.Descriptions }}</p>
-            <p title="{% for P in CM.Packages %}{{ key }}/{{ P }}{% endfor %}">Packages</p> 
+            <p title="{% for P in CM.Packages %}{{ CM.Category}}/{{ P }}{% endfor %}">Packages</p> 
           </td>
         </tr>
       </table>


             reply	other threads:[~2015-07-26 14:38 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-07-26 14:38 Magnus Granberg [this message]
  -- strict thread matches above, loose matches on Subject: below --
2021-09-24  2:22 [gentoo-commits] proj/tinderbox-cluster-www:master commit in: python/templates/pages/packages/ebuilds/ebuild/, Magnus Granberg

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1437921459.65c8b3dcce64f5c865baa472c0307a07c1f9872b.zorry@gentoo \
    --to=zorry@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox