Changeset - c5289f39bb3c
[Not reviewed]
0 9 0
Ben Sturmfels (bsturmfels) - 2 months ago 2024-07-22 08:39:00
ben@sturm.com.au
Fix flake8 warnings
9 files changed with 37 insertions and 31 deletions:
0 comments (0 inline, 0 general)
conservancy/blog/models.py
Show inline comments
...
 
@@ -71,12 +71,12 @@ class Entry(models.Model, bsoup.SoupModelMixin):
 
        import xmlrpc.client
 

	
 
        # Ping Technorati
 
        j = xmlrpc.client.Server('http://rpc.technorati.com/rpc/ping')
 
        reply = j.weblogUpdates.ping(blog_name, blog_url)
 
        j.weblogUpdates.ping(blog_name, blog_url)
 

	
 
        # Ping Google Blog Search
 
        j = xmlrpc.client.Server('http://blogsearch.google.com/ping/RPC2')
 
        reply = j.weblogUpdates.ping(blog_name, blog_url, post_url)
 
        j.weblogUpdates.ping(blog_name, blog_url, post_url)
 

	
 
        # Call any superclass's method
 
        super().save()
conservancy/blog/views.py
Show inline comments
...
 
@@ -2,18 +2,17 @@ from datetime import datetime
 
from functools import reduce
 

	
 
from django.core.paginator import EmptyPage, PageNotAnInteger, Paginator
 
from django.shortcuts import get_object_or_404, render
 
from django.views.generic import ListView
 
from django.views.generic.dates import (
 
    DateDetailView,
 
    DayArchiveView,
 
    MonthArchiveView,
 
    YearArchiveView,
 
)
 

	
 
from ..staff.models import Person
 
from .models import Entry, EntryTag
 
from .models import EntryTag
 

	
 

	
 
def OR_filter(field_name, objs):
 
    from django.db.models import Q
conservancy/content/projects/policies/publish-policy.py
Show inline comments
...
 
@@ -45,12 +45,14 @@ def run(cmd, encoding=None, ok_exitcodes=frozenset([0]), **kwargs):
 
        mode = 'r'
 
        no_data = ''
 
    with contextlib.ExitStack() as exit_stack:
 
        proc = exit_stack.enter_context(subprocess.Popen(cmd, **kwargs))
 
        pipes = [exit_stack.enter_context(open(
 
                   getattr(proc, name).fileno(), mode, encoding=encoding, closefd=False))
 
                 for name in ['stdout', 'stderr']
 
                 if kwargs.get(name) is subprocess.PIPE]
 
        pipes = [
 
            exit_stack.enter_context(open(
 
                getattr(proc, name).fileno(), mode, encoding=encoding, closefd=False))
 
            for name in ['stdout', 'stderr']
 
            if kwargs.get(name) is subprocess.PIPE
 
        ]
 
        if pipes:
 
            yield (proc, *pipes)
 
        else:
 
            yield proc
...
 
@@ -87,8 +89,9 @@ class GitPath:
 
        return run(cmd, encoding, ok_exitcodes, **self.run_defaults, **kwargs)
 

	
 
    def _cache(orig_func):
 
        attr_name = '_cached_' + orig_func.__name__
 

	
 
        @functools.wraps(orig_func)
 
        def cache_wrapper(self):
 
            try:
 
                return getattr(self, attr_name)
conservancy/feeds.py
Show inline comments
...
 
@@ -12,11 +12,13 @@ from .blog.models import Entry as BlogEntry
 
from .news.models import PressRelease
 

	
 

	
 
class ConservancyFeedBase(Feed):
 
    def copyright_holder(self): return "Software Freedom Conservancy"
 
    def copyright_holder(self):
 
        return "Software Freedom Conservancy"
 

	
 
    def license_no_html(self): return "Licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License."
 
    def license_no_html(self):
 
        return "Licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License."
 

	
 
    def item_copyright(self, item):
 
        year = 2008
 
        for attr in ('pub_date', 'date_created', 'date_last_modified'):
...
 
@@ -88,20 +90,18 @@ class OmnibusFeed(ConservancyFeedBase):
 

	
 
    def item_description(self, item):
 
        return item.summary
 

	
 
    def item_enclosure_mime_type(self): return "audio/mpeg"
 
    def item_enclosure_mime_type(self):
 
        return "audio/mpeg"
 

	
 
    def item_enclosure_url(self, item):
 
        if hasattr(item, 'mp3_path'):
 
            return "https://sfconservancy.org" + item.mp3_path
 
    def item_enclosure_length(self, item):
 
        if hasattr(item, 'mp3_path'):
 
            return item.mp3_length
 

	
 
    def item_pubdate(self, item):
 
        return item.pub_date
 

	
 
    def item_author_name(self, item):
 
        if item.omnibus_type == "blog":
 
            return item.author.formal_name
 
        else:
...
 
@@ -173,9 +173,10 @@ class BlogFeed(ConservancyFeedBase):
 
        elif len(tags) > 1:
 
            firstTime = True
 
            done = {}
 
            for tag in tags:
 
                if tag in done: continue
 
                if tag in done:
 
                    continue
 
                if firstTime:
 
                    answer += " ("
 
                    firstTime = False
 
                else:
...
 
@@ -191,18 +192,21 @@ class BlogFeed(ConservancyFeedBase):
 
        answer = "Blogs at the Software Freedom Conservancy"
 

	
 
        GET = obj.GET
 
        tags = []
 
        if 'author' in GET: tags = GET.getlist('author')
 
        if 'tag' in GET:    tags += GET.getlist('tag')
 
        if 'author' in GET:
 
            tags = GET.getlist('author')
 
        if 'tag' in GET:
 
            tags += GET.getlist('tag')
 

	
 
        done = {}
 
        if len(tags) == 1:
 
            answer += " tagged with " + tags[0]
 
        elif len(tags) > 1:
 
            firstTime = True
 
            for tag in tags:
 
                if tag in done: continue
 
                if tag in done:
 
                    continue
 
                if firstTime:
 
                    answer += " tagged with "
 
                    firstTime = False
 
                else:
conservancy/news/models.py
Show inline comments
...
 
@@ -33,10 +33,12 @@ class PressRelease(models.Model, bsoup.SoupModelMixin):
 
    def __str__(self):
 
        return self.headline
 

	
 
    def get_absolute_url(self):
 
        return "/news/{}/{}/".format(self.pub_date.strftime("%Y/%b/%d").lower(),
 
                                  self.slug)
 
        return "/news/{}/{}/".format(
 
            self.pub_date.strftime("%Y/%b/%d").lower(),
 
            self.slug,
 
        )
 

	
 
    def is_recent(self):
 
        return self.pub_date > (datetime.now() - timedelta(days=5))
 
        # question: does datetime.now() do a syscall each time is it called?
...
 
@@ -59,13 +61,13 @@ class PressRelease(models.Model, bsoup.SoupModelMixin):
 
        import xmlrpc.client
 

	
 
        # Ping Technorati
 
        j = xmlrpc.client.Server('http://rpc.technorati.com/rpc/ping')
 
        reply = j.weblogUpdates.ping(blog_name, blog_url)
 
        j.weblogUpdates.ping(blog_name, blog_url)
 

	
 
        # Ping Google Blog Search
 
        j = xmlrpc.client.Server('http://blogsearch.google.com/ping/RPC2')
 
        reply = j.weblogUpdates.ping(blog_name, blog_url, post_url)
 
        j.weblogUpdates.ping(blog_name, blog_url, post_url)
 

	
 
        # Call any superclass's method
 
        super().save()
 

	
conservancy/news/views.py
Show inline comments
 
from datetime import datetime
 

	
 
from django.core.paginator import EmptyPage, PageNotAnInteger, Paginator
 
from django.http import HttpResponse
 
from django.shortcuts import render
 
from django.views.generic import ListView
 
from django.views.generic.dates import (
 
    DateDetailView,
...
 
@@ -10,10 +9,9 @@ from django.views.generic.dates import (
 
    MonthArchiveView,
 
    YearArchiveView,
 
)
 

	
 
from ..events.models import Event
 
from .models import ExternalArticle, PressRelease
 
from .models import PressRelease
 

	
 

	
 
class NewsListView(ListView):
 
    extra_context = {}
...
 
@@ -26,10 +24,11 @@ class NewsListView(ListView):
 
def listing(request, *args, **kwargs):
 
    news_queryset = PressRelease.objects.all()
 

	
 
#    if (not kwargs.has_key('allow_future')) or not kwargs['allow_future']:
 
    news_queryset = news_queryset.filter(**{'%s__lte' % kwargs['date_field']:
 
                          datetime.now()})
 
    news_queryset = news_queryset.filter(
 
        **{'%s__lte' % kwargs['date_field']: datetime.now()}
 
    )
 

	
 
    date_list = news_queryset.dates(kwargs['date_field'], 'year')
 

	
 
    paginate_by = kwargs.get('paginate_by', 6)  # Show 6 news items per page, by default
conservancy/podjango/models.py
Show inline comments
...
 
@@ -18,9 +18,8 @@
 
#
 
from datetime import datetime, timedelta
 

	
 
from django.db import models
 
from django.urls import reverse
 

	
 

	
 
class Podcast(models.Model):
 
    """An ongoing series of episodes."""
conservancy/settings/dev.py
Show inline comments
 
from .base import *
 
from .base import *  # NOQA
 

	
 
DEBUG = True
 
ALLOWED_HOSTS = ['*']
 

	
conservancy/settings/prod.py
Show inline comments
 
import json
 

	
 
from django.core.exceptions import ImproperlyConfigured
 

	
 
from .base import *
 
from .base import *  # NOQA
 

	
 
DEBUG = False
 
ALLOWED_HOSTS = ['www.sfconservancy.org', 'sfconservancy.org']
 

	
...
 
@@ -24,9 +24,9 @@ DATABASES = {
 
}
 

	
 
# Apache/mod_wsgi doesn't make it straightforward to pass environment variables
 
# to Django (can't use the Apache config).
 
with open(BASE_DIR.parent / 'secrets.json') as f:
 
with open(BASE_DIR.parent / 'secrets.json') as f:  # NOQA
 
    secrets = json.load(f)
 

	
 
def get_secret(secrets, setting):
 
    try:
0 comments (0 inline, 0 general)