From 73db0d8ac2cd0bb7cf5109e38e2be96d0467d830 Mon Sep 17 00:00:00 2001 From: Dan McGee Date: Mon, 13 Apr 2015 14:29:21 -0500 Subject: Use UTF-8 copyright sign; save a few bytes Signed-off-by: Dan McGee --- templates/base.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/templates/base.html b/templates/base.html index 15bb7e28..f6fe99e5 100644 --- a/templates/base.html +++ b/templates/base.html @@ -69,7 +69,7 @@ {% endblock %} + {% block script_block %}{% endblock %} -- cgit v1.2.3 From 7d4a6db69fe58aa9eb99cbc4f90556652455cf3a Mon Sep 17 00:00:00 2001 From: Dan McGee Date: Wed, 15 Apr 2015 12:34:20 -0500 Subject: Don't blow up if we can't fetch an SVN revision Signed-off-by: Dan McGee --- packages/management/commands/populate_signoffs.py | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/packages/management/commands/populate_signoffs.py b/packages/management/commands/populate_signoffs.py index a9c1c81c..17a05671 100644 --- a/packages/management/commands/populate_signoffs.py +++ b/packages/management/commands/populate_signoffs.py @@ -95,9 +95,12 @@ def add_signoff_comments(): continue logger.debug("getting SVN log for %s (%s)", group.pkgbase, group.repo) - log = cached_svn_log(group.pkgbase, group.repo) - logger.info("creating spec with SVN message for %s", group.pkgbase) - spec = create_specification(group.packages[0], log, finder) - spec.save() + try: + log = cached_svn_log(group.pkgbase, group.repo) + logger.info("creating spec with SVN message for %s", group.pkgbase) + spec = create_specification(group.packages[0], log, finder) + spec.save() + except: + logger.exception("error getting SVN log for %s", group.pkgbase) # vim: set ts=4 sw=4 et: -- cgit v1.2.3 From 6897f44fa71e94726a71e7ec9e93dce1041835b7 Mon Sep 17 00:00:00 2001 From: Dan McGee Date: Thu, 2 Apr 2015 09:33:03 -0500 Subject: Shore up some failing tests We really need to add a bunch of new ones for views that have been added and/or changed, such as all the people stuff, but fix the response code here to reflect the new and current reality. Signed-off-by: Dan McGee --- public/tests.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/public/tests.py b/public/tests.py index 565d57ec..aaf5f847 100644 --- a/public/tests.py +++ b/public/tests.py @@ -19,13 +19,13 @@ class PublicTest(TestCase): response = self.client.get('/svn/') self.assertEqual(response.status_code, 200) - def test_developers(self): + def test_developers_old(self): response = self.client.get('/developers/') - self.assertEqual(response.status_code, 200) + self.assertEqual(response.status_code, 301) - def test_fellows(self): + def test_fellows_old(self): response = self.client.get('/fellows/') - self.assertEqual(response.status_code, 200) + self.assertEqual(response.status_code, 301) def test_donate(self): response = self.client.get('/donate/') -- cgit v1.2.3 From becb5b2356b384178002d9db6084547325ff7787 Mon Sep 17 00:00:00 2001 From: Dan McGee Date: Wed, 15 Apr 2015 17:23:18 -0500 Subject: Fix error in test where HTTP_HOST doesn't exist Signed-off-by: Dan McGee --- packages/views/__init__.py | 2 +- public/views.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/views/__init__.py b/packages/views/__init__.py index 6b44206a..7941a265 100644 --- a/packages/views/__init__.py +++ b/packages/views/__init__.py @@ -27,7 +27,7 @@ from .signoff import signoffs, signoff_package, signoff_options, signoffs_json @require_safe @cache_control(public=True, max_age=86400) def opensearch(request): - domain = "%s://%s" % (request.scheme, request.META['HTTP_HOST']) + domain = "%s://%s" % (request.scheme, request.META.get('HTTP_HOST')) return render(request, 'packages/opensearch.xml', {'domain': domain}, diff --git a/public/views.py b/public/views.py index 16f5db22..910b6c2d 100644 --- a/public/views.py +++ b/public/views.py @@ -25,7 +25,7 @@ def index(request): else: def updates(): return get_recent_updates() - domain = "%s://%s" % (request.scheme, request.META['HTTP_HOST']) + domain = "%s://%s" % (request.scheme, request.META.get('HTTP_HOST')) context = { 'news_updates': News.objects.order_by('-postdate', '-id')[:15], 'pkg_updates': updates, -- cgit v1.2.3 From ff1359050f686437b6078e2b12948674d2f7388f Mon Sep 17 00:00:00 2001 From: Dan McGee Date: Fri, 5 Jun 2015 08:15:32 -0500 Subject: Tweak display of todolist descriptions Indent, call out, and add some borders, among other things. Signed-off-by: Dan McGee --- sitestatic/archweb.css | 13 ++++++++++++- templates/todolists/view.html | 23 ++++++++++++++--------- todolists/models.py | 4 ++++ 3 files changed, 30 insertions(+), 10 deletions(-) diff --git a/sitestatic/archweb.css b/sitestatic/archweb.css index cc3b9742..2ea582fb 100644 --- a/sitestatic/archweb.css +++ b/sitestatic/archweb.css @@ -1047,7 +1047,18 @@ ul.admin-actions { /* todo lists (public and private) */ .todo-info { - margin: 0; color: #999; + color: #999; + border-bottom: 1px dotted #bbb; +} + +.todo-description { + margin-top: 1em; + padding-left: 2em; + max-width: 900px; +} + +.todo-pkgbases { + border-top: 1px dotted #bbb; } .todo-list h4 { diff --git a/templates/todolists/view.html b/templates/todolists/view.html index 0045390c..ec203b39 100644 --- a/templates/todolists/view.html +++ b/templates/todolists/view.html @@ -22,16 +22,18 @@ {% endif %} -

{{ list.created|date }} - {{ list.creator.get_full_name }}

+
{{ list.created|date }} - {{ list.creator.get_full_name }}
-
{{list.description|urlize|linebreaks}}
- -

Link to lists of pkgbase values:

- +
+ {{list.stripped_description|default:'(no description)'|urlize|linebreaks}} +
-

{{ list.packages|length }} total todo list package{{ list.packages|pluralize }} found.

+
+

Link to lists of pkgbase values:

+ +

Filter Todo List Packages

@@ -54,7 +56,10 @@
-
{{ list.packages|length }} todo list packages displayed.
+
+ {{ list.packages|length }} packages displayed out of + {{ list.packages|length }} total package{{ list.packages|pluralize }}. +
diff --git a/todolists/models.py b/todolists/models.py index 59b14616..92ca5839 100644 --- a/todolists/models.py +++ b/todolists/models.py @@ -35,6 +35,10 @@ class Todolist(models.Model): def __unicode__(self): return self.name + @property + def stripped_description(self): + return self.description.strip() + def get_absolute_url(self): return '/todo/%s/' % self.slug -- cgit v1.2.3 From 68d85d0526ee605bb661de40387d0dde7f015953 Mon Sep 17 00:00:00 2001 From: Dan McGee Date: Fri, 5 Jun 2015 08:32:52 -0500 Subject: Revert "Force minimum last modified date for package files pages in sitemap" This reverts commit 790def2f4db2afec150bab8dc842f6068fb751db. This has been out there long enough that the fallout should be fixed. Go back to just using the default date. Signed-off-by: Dan McGee --- sitemaps.py | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/sitemaps.py b/sitemaps.py index 7746ecab..03ad9254 100644 --- a/sitemaps.py +++ b/sitemaps.py @@ -37,17 +37,12 @@ class PackagesSitemap(Sitemap): class PackageFilesSitemap(PackagesSitemap): changefreq = "weekly" priority = "0.1" - # we fixed a bug on the package files page on this day, force modification - lastmod_min = datetime(2015, 4, 12).replace(tzinfo=utc) def location(self, obj): return PackagesSitemap.location(self, obj) + 'files/' def lastmod(self, obj): - update = obj.files_last_update - if update is None: - return None - return max(update, self.lastmod_min) + return obj.files_last_update class PackageGroupsSitemap(Sitemap): -- cgit v1.2.3 From b28b46befab52548968a19c068ad5108adaa84a8 Mon Sep 17 00:00:00 2001 From: Dan McGee Date: Thu, 18 Jun 2015 16:00:20 -0500 Subject: Silence DNS errors we see too often in production Signed-off-by: Dan McGee --- mirrors/management/commands/mirrorresolv.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/mirrors/management/commands/mirrorresolv.py b/mirrors/management/commands/mirrorresolv.py index 85a3c654..fcf13fda 100644 --- a/mirrors/management/commands/mirrorresolv.py +++ b/mirrors/management/commands/mirrorresolv.py @@ -54,6 +54,11 @@ def resolve_mirrors(): if newvals != oldvals: logger.debug("values changed for %s", mirrorurl) mirrorurl.save(update_fields=('has_ipv4', 'has_ipv6')) + except socket.gaierror, e: + if e.errno == socket.EAI_NONAME: + logger.debug("gaierror resolving %s: %s", mirrorurl.hostname, e) + else: + logger.warn("gaierror resolving %s: %s", mirrorurl.hostname, e) except socket.error, e: logger.warn("error resolving %s: %s", mirrorurl.hostname, e) -- cgit v1.2.3 From 9b7d5bc93fb1fd7b85c01f4c8a677ae309f9d4eb Mon Sep 17 00:00:00 2001 From: Dan McGee Date: Thu, 18 Jun 2015 16:22:24 -0500 Subject: Catch SSL CertificateErrors and log them Signed-off-by: Dan McGee --- mirrors/management/commands/mirrorcheck.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/mirrors/management/commands/mirrorcheck.py b/mirrors/management/commands/mirrorcheck.py index 1f16a375..374643e7 100644 --- a/mirrors/management/commands/mirrorcheck.py +++ b/mirrors/management/commands/mirrorcheck.py @@ -18,6 +18,7 @@ from optparse import make_option from pytz import utc import re import socket +import ssl import subprocess import sys import time @@ -146,6 +147,10 @@ def check_mirror_url(mirror_url, location, timeout): log.is_success = False log.error = "Exception in processing HTTP request." logger.debug("failed: %s, %s", url, log.error) + except ssl.CertificateError as e: + log.is_success = False + log.error = str(e) + logger.debug("failed: %s, %s", url, log.error) except socket.timeout: log.is_success = False log.error = "Connection timed out." -- cgit v1.2.3 From c12060e51bc4876ed6db2935cbc39879ce7f4f6b Mon Sep 17 00:00:00 2001 From: Dan McGee Date: Thu, 18 Jun 2015 16:31:09 -0500 Subject: Handle Django's level 3 verbosity properly Signed-off-by: Dan McGee --- devel/management/commands/generate_keyring.py | 2 +- devel/management/commands/pgp_import.py | 2 +- devel/management/commands/rematch_developers.py | 2 +- devel/management/commands/reporead.py | 2 +- devel/management/commands/reporead_inotify.py | 2 +- mirrors/management/commands/mirrorcheck.py | 2 +- mirrors/management/commands/mirrorresolv.py | 2 +- packages/management/commands/populate_signoffs.py | 2 +- packages/management/commands/signoff_report.py | 2 +- 9 files changed, 9 insertions(+), 9 deletions(-) diff --git a/devel/management/commands/generate_keyring.py b/devel/management/commands/generate_keyring.py index 34bcd2f8..9c52dadc 100644 --- a/devel/management/commands/generate_keyring.py +++ b/devel/management/commands/generate_keyring.py @@ -32,7 +32,7 @@ class Command(BaseCommand): logger.level = logging.ERROR elif v == 1: logger.level = logging.INFO - elif v == 2: + elif v >= 2: logger.level = logging.DEBUG if len(args) < 2: diff --git a/devel/management/commands/pgp_import.py b/devel/management/commands/pgp_import.py index 3f557fe9..7a124f77 100644 --- a/devel/management/commands/pgp_import.py +++ b/devel/management/commands/pgp_import.py @@ -38,7 +38,7 @@ class Command(BaseCommand): logger.level = logging.ERROR elif v == 1: logger.level = logging.INFO - elif v == 2: + elif v >= 2: logger.level = logging.DEBUG if len(args) < 1: diff --git a/devel/management/commands/rematch_developers.py b/devel/management/commands/rematch_developers.py index 7a06e084..bbb43df0 100644 --- a/devel/management/commands/rematch_developers.py +++ b/devel/management/commands/rematch_developers.py @@ -37,7 +37,7 @@ class Command(NoArgsCommand): logger.level = logging.ERROR elif v == 1: logger.level = logging.INFO - elif v == 2: + elif v >= 2: logger.level = logging.DEBUG finder = UserFinder() diff --git a/devel/management/commands/reporead.py b/devel/management/commands/reporead.py index 3244d593..72061176 100644 --- a/devel/management/commands/reporead.py +++ b/devel/management/commands/reporead.py @@ -70,7 +70,7 @@ class Command(BaseCommand): logger.level = logging.ERROR elif v == 1: logger.level = logging.INFO - elif v == 2: + elif v >= 2: logger.level = logging.DEBUG return read_repo(arch, filename, options) diff --git a/devel/management/commands/reporead_inotify.py b/devel/management/commands/reporead_inotify.py index e3c720bc..1422ae26 100644 --- a/devel/management/commands/reporead_inotify.py +++ b/devel/management/commands/reporead_inotify.py @@ -45,7 +45,7 @@ class Command(BaseCommand): logger.level = logging.ERROR elif v == 1: logger.level = logging.INFO - elif v == 2: + elif v >= 2: logger.level = logging.DEBUG if not path_template: diff --git a/mirrors/management/commands/mirrorcheck.py b/mirrors/management/commands/mirrorcheck.py index 374643e7..1a33073a 100644 --- a/mirrors/management/commands/mirrorcheck.py +++ b/mirrors/management/commands/mirrorcheck.py @@ -58,7 +58,7 @@ class Command(NoArgsCommand): logger.level = logging.ERROR elif v == 1: logger.level = logging.WARNING - elif v == 2: + elif v >= 2: logger.level = logging.DEBUG timeout = options.get('timeout') diff --git a/mirrors/management/commands/mirrorresolv.py b/mirrors/management/commands/mirrorresolv.py index fcf13fda..0e71894b 100644 --- a/mirrors/management/commands/mirrorresolv.py +++ b/mirrors/management/commands/mirrorresolv.py @@ -32,7 +32,7 @@ class Command(NoArgsCommand): logger.level = logging.ERROR elif v == 1: logger.level = logging.WARNING - elif v == 2: + elif v >= 2: logger.level = logging.DEBUG return resolve_mirrors() diff --git a/packages/management/commands/populate_signoffs.py b/packages/management/commands/populate_signoffs.py index 17a05671..8a025f4e 100644 --- a/packages/management/commands/populate_signoffs.py +++ b/packages/management/commands/populate_signoffs.py @@ -38,7 +38,7 @@ is signoff-eligible and does not have an existing comment attached""" logger.level = logging.ERROR elif v == 1: logger.level = logging.INFO - elif v == 2: + elif v >= 2: logger.level = logging.DEBUG return add_signoff_comments() diff --git a/packages/management/commands/signoff_report.py b/packages/management/commands/signoff_report.py index 72fcbe1e..a5022eeb 100644 --- a/packages/management/commands/signoff_report.py +++ b/packages/management/commands/signoff_report.py @@ -44,7 +44,7 @@ class Command(BaseCommand): logger.level = logging.ERROR elif v == 1: logger.level = logging.INFO - elif v == 2: + elif v >= 2: logger.level = logging.DEBUG if len(args) != 2: -- cgit v1.2.3 From 803ba89841468bcf088ea79ea981a849ca159682 Mon Sep 17 00:00:00 2001 From: Dan McGee Date: Thu, 18 Jun 2015 16:33:31 -0500 Subject: Bump several requirements Signed-off-by: Dan McGee --- requirements.txt | 10 +++++----- requirements_prod.txt | 14 +++++++------- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/requirements.txt b/requirements.txt index 7b8c4822..6ca63480 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,12 +1,12 @@ -e git+git://github.com/fredj/cssmin.git@master#egg=cssmin -Django==1.7.7 -IPy==0.81 +Django==1.7.8 +IPy==0.83 Jinja2==2.7.3 -Markdown==2.6.1 +Markdown==2.6.2 MarkupSafe==0.23 bencode==1.0 django-countries==3.3 -django-jinja==1.3.2 +django-jinja==1.3.3 jsmin==2.1.1 pgpdump==1.5 -pytz>=2015.2 +pytz>=2015.4 diff --git a/requirements_prod.txt b/requirements_prod.txt index 3396ebdb..bcb30f3e 100644 --- a/requirements_prod.txt +++ b/requirements_prod.txt @@ -1,15 +1,15 @@ -e git+git://github.com/fredj/cssmin.git@master#egg=cssmin -Django==1.7.7 -IPy==0.81 +Django==1.7.8 +IPy==0.83 Jinja2==2.7.3 -Markdown==2.6.1 +Markdown==2.6.2 MarkupSafe==0.23 bencode==1.0 django-countries==3.3 -django-jinja==1.3.2 +django-jinja==1.3.3 jsmin==2.1.1 pgpdump==1.5 -psycopg2==2.6 -pyinotify==0.9.5 +psycopg2==2.6.1 +pyinotify==0.9.6 python-memcached==1.54 -pytz>=2015.2 +pytz>=2015.4 -- cgit v1.2.3