Changeset - b7e2ce2a4d44
[Not reviewed]
0 31 0
Ben Sturmfels (bsturmfels) - 6 months ago 2023-10-19 22:45:53
ben@sturm.com.au
Switch to relative imports

The relative imports make it clearer what code is within the project and where
it's coming from.
31 files changed with 131 insertions and 84 deletions:
0 comments (0 inline, 0 general)
www/conservancy/__init__.py
Show inline comments
...
 
@@ -2,10 +2,6 @@ import hashlib
 

	
 
from django.conf import settings
 

	
 
# This is backwards compatibilty support for a custom function we wrote
 
# ourselves that is no longer necessary in modern Django.
 
from django.shortcuts import render as render_template_with_context
 

	
 

	
 
class ParameterValidator:
 
    def __init__(self, given_hash_or_params, params_hash_key=None):
www/conservancy/apps/assignment/migrations/0004_auto_20230127_0602.py
Show inline comments
 
# Generated by Django 1.11.29 on 2023-01-27 06:02
 

	
 
import conservancy.apps.assignment.models
 
from django.db import migrations, models
 

	
 
from ..models import validate_mutiple_urls
 

	
 
class Migration(migrations.Migration):
 

	
...
 
@@ -24,6 +23,6 @@ class Migration(migrations.Migration):
 
        migrations.AlterField(
 
            model_name='assignment',
 
            name='repositories',
 
            field=models.TextField(help_text='List of URLs, one per line', validators=[conservancy.apps.assignment.models.validate_mutiple_urls], verbose_name='Code repositories containing contributions of yours whose copyright you are assigning'),
 
            field=models.TextField(help_text='List of URLs, one per line', validators=[validate_mutiple_urls], verbose_name='Code repositories containing contributions of yours whose copyright you are assigning'),
 
        ),
 
    ]
www/conservancy/apps/blog/admin.py
Show inline comments
 
from django.contrib import admin
 
from conservancy.apps.blog.models import EntryTag, Entry
 

	
 
from .models import EntryTag, Entry
 

	
 

	
 
class EntryTagAdmin(admin.ModelAdmin):
 
    prepopulated_fields = {'slug': ('label',)}
 

	
 
admin.site.register(EntryTag, EntryTagAdmin)
 

	
 

	
 
class EntryAdmin(admin.ModelAdmin):
 
    list_display = ('pub_date', 'headline', 'author')
 
    list_filter = ['pub_date']
www/conservancy/apps/blog/models.py
Show inline comments
 
from datetime import datetime, timedelta
 

	
 
from django.db import models
 
from django.conf import settings
 
from conservancy import bsoup
 
from conservancy.apps.staff.models import Person
 
from datetime import datetime, timedelta
 

	
 
from ... import bsoup
 
from ..staff.models import Person
 

	
 

	
 
class EntryTag(models.Model):
 
    """Tagging for blog entries"""
www/conservancy/apps/blog/urls.py
Show inline comments
 
from django.conf.urls import url, include
 
from conservancy.apps.blog.models import Entry, EntryTag # relative import
 
from conservancy.apps.staff.models import Person
 
from datetime import datetime
 
from conservancy.apps.blog.views import last_name, BlogYearArchiveView, BlogMonthArchiveView, BlogDayArchiveView, BlogDateDetailView, custom_index, query
 

	
 
from django.conf.urls import url, include
 

	
 
from .models import Entry, EntryTag
 
from ..staff.models import Person
 
from .views import last_name, BlogYearArchiveView, BlogMonthArchiveView, BlogDayArchiveView, BlogDateDetailView, custom_index, query
 

	
 
extra_context = {}
 

	
www/conservancy/apps/blog/views.py
Show inline comments
 
from conservancy.apps.blog.models import Entry, EntryTag # relative import
 
# from django.views.generic.list_detail import object_list
 
from datetime import datetime
 
from functools import reduce
 

	
 
from django.views.generic import ListView
 
from django.views.generic.dates import YearArchiveView, MonthArchiveView, DayArchiveView, DateDetailView
 
from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger
 
from conservancy.apps.staff.models import Person
 
from django.shortcuts import get_object_or_404, render
 
from datetime import datetime
 
from functools import reduce
 

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

	
 

	
 
def OR_filter(field_name, objs):
 
    from django.db.models import Q
www/conservancy/apps/contacts/admin.py
Show inline comments
 
from django.contrib import admin
 
from conservancy.apps.contacts.models import ContactEntry
 

	
 
from .models import ContactEntry
 

	
 

	
 
class ContactEntryAdmin(admin.ModelAdmin):
 
    list_display = ('email', 'subscribe_conservancy')
www/conservancy/apps/contacts/views.py
Show inline comments
 
from django.shortcuts import render
 
from django import forms
 
from conservancy.apps.contacts.models import ContactEntry
 
from django.forms import ModelForm
 

	
 
from .models import ContactEntry
 

	
 

	
 
def subscribe(request):
 
    """Mailing list subscription form
 
    """
www/conservancy/apps/contractpatch/urls.py
Show inline comments
 
from django.conf.urls import url, include
 
from conservancy.apps.contractpatch import views as cpatch_views
 

	
 
from . import views as cpatch_views
 

	
 
urlpatterns = [
 
    url(r'', cpatch_views.index),
www/conservancy/apps/contractpatch/views.py
Show inline comments
 
from conservancy import render_template_with_context
 
from conservancy.apps.blog.models import Entry as BlogEntry
 
from datetime import datetime
 

	
 
from django.shortcuts import render
 

	
 
from ..blog.models import Entry
 

	
 

	
 
def index(request):
 
    filters = {
 
        'pub_date__lte': datetime.now(),
 
        'tags__slug': 'ContractPatch',
 
    }
 
    context = {
 
        'blog_entries': BlogEntry.objects.filter(**filters)[:3],
 
        'blog_entries': Entry.objects.filter(**filters)[:3],
 
    }
 
    return render_template_with_context(request, "contractpatch/index.html", context)
 
    return render(request, "contractpatch/index.html", context)
www/conservancy/apps/events/admin.py
Show inline comments
 
from django.contrib import admin
 
from conservancy.apps.events.models import EventTag, Event, EventMedia
 

	
 
from .models import EventTag, Event, EventMedia
 

	
 
admin.site.register(EventTag)
 

	
www/conservancy/apps/events/models.py
Show inline comments
 
from django.db import models
 
from conservancy.apps.staff.models import Person
 
from conservancy.apps.worldmap.models import EarthLocation
 
from datetime import datetime, timedelta
 

	
 
from django.db import models
 

	
 
from ..staff.models import Person
 
from ..worldmap.models import EarthLocation
 

	
 

	
 
class EventTag(models.Model):
 
    """Tagging for events
 

	
www/conservancy/apps/events/urls.py
Show inline comments
 
from django.conf.urls import patterns, url, include
 
from conservancy.apps.events.models import Event
 

	
 
from .models import Event
 

	
 
info_dict = {
 
    'queryset': Event.objects.all(),
www/conservancy/apps/events/views.py
Show inline comments
...
 
@@ -3,9 +3,9 @@ from django.shortcuts import render
 
from django.http import Http404, HttpResponse
 
from django.template import loader
 
from django.core.exceptions import ObjectDoesNotExist
 
from conservancy.apps.events.models import Event
 
# for debugging...
 
from django.http import HttpResponse
 

	
 
from .models import Event
 

	
 

	
 
def event_detail(request, year, slug, queryset, **kwargs):
 
    """This view shows event detail.
www/conservancy/apps/fundgoal/admin.py
Show inline comments
 
from django.contrib import admin
 
from conservancy.apps.fundgoal import models as fundgoal_models
 

	
 
from . import models
 

	
 

	
 
class FundraisingGoalAdmin(admin.ModelAdmin):
 
    list_display = ('fundraiser_code_name', 'fundraiser_goal_amount')
 

	
 

	
 
class GoalProviderAdmin(admin.ModelAdmin):
 
    fields = [
 
        'fundraising_goal',
 
        'provider_name',
 
    ]
 

	
 
admin.site.register(fundgoal_models.FundraisingGoal, FundraisingGoalAdmin)
 
admin.site.register(fundgoal_models.GoalProvider, GoalProviderAdmin)
 
admin.site.register(models.FundraisingGoal, FundraisingGoalAdmin)
 
admin.site.register(models.GoalProvider, GoalProviderAdmin)
www/conservancy/apps/fundgoal/views.py
Show inline comments
 
from conservancy.apps.fundgoal.models import FundraisingGoal
 
from django.http import JsonResponse
 

	
 
from .models import FundraisingGoal
 

	
 

	
 
def view(request):
 
    """JSON version of request
...
 
@@ -20,4 +21,4 @@ def view(request):
 
            if hasattr(fundGoal, kk):
 
                returnDict[codeName][kk] = getattr(fundGoal, kk)
 

	
 
    return JsonResponse( returnDict)
 
    return JsonResponse(returnDict)
www/conservancy/apps/news/admin.py
Show inline comments
 
from django.contrib import admin
 
from conservancy.apps.news.models import PressRelease, ExternalArticleTag, ExternalArticle
 

	
 
from .models import PressRelease, ExternalArticleTag, ExternalArticle
 

	
 

	
 
class PressReleaseAdmin(admin.ModelAdmin):
 
    list_display = ("headline", "pub_date")
www/conservancy/apps/news/models.py
Show inline comments
 
from datetime import datetime, timedelta
 

	
 
from django.db import models
 
from django.conf import settings
 
from conservancy import bsoup
 
from conservancy.apps.staff.models import Person
 
from conservancy.apps.events.models import Event
 
from django.contrib.sites.models import Site
 
from datetime import datetime, timedelta
 

	
 
from ... import bsoup
 
from ..staff.models import Person
 
from ..events.models import Event
 

	
 

	
 
class PressRelease(models.Model, bsoup.SoupModelMixin):
 
    """News release model"""
www/conservancy/apps/news/urls.py
Show inline comments
...
 
@@ -19,8 +19,9 @@
 

	
 
from django.conf.urls import url, include
 
from django.conf import settings
 
from conservancy.apps.news.models import PressRelease, ExternalArticle
 
from conservancy.apps.news.views import NewsYearArchiveView, NewsMonthArchiveView, NewsDayArchiveView, NewsDateDetailView, listing
 

	
 
from .models import PressRelease, ExternalArticle
 
from .views import NewsYearArchiveView, NewsMonthArchiveView, NewsDayArchiveView, NewsDateDetailView, listing
 

	
 
info_dict = {
 
    'queryset': PressRelease.objects.all().filter(sites__id__exact=settings.SITE_ID),
www/conservancy/apps/news/views.py
Show inline comments
 
# from django.views.generic.list_detail import object_list
 
from datetime import datetime
 

	
 
from django.views.generic import ListView
 
from django.shortcuts import render
 
from django.views.generic.dates import YearArchiveView, MonthArchiveView, DayArchiveView, DateDetailView
 
from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger
 
from conservancy.apps.news.models import ExternalArticle
 
from conservancy.apps.news.models import PressRelease
 
from conservancy.apps.events.models import Event
 
from datetime import datetime
 
# for debugging...
 
from django.http import HttpResponse
 

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

	
 

	
 
class NewsListView(ListView):
 
    extra_context = {}
www/conservancy/apps/staff/admin.py
Show inline comments
 
from django.contrib import admin
 
from conservancy.apps.staff.models import Person
 

	
 
from .models import Person
 

	
 

	
 
class PersonAdmin(admin.ModelAdmin):
 
    list_display = ("username", "formal_name", "casual_name",
www/conservancy/apps/summit_registration/admin.py
Show inline comments
 
from django.contrib import admin
 
from conservancy.apps.summit_registration.models import SummitRegistration
 

	
 
from .models import SummitRegistration
 

	
 

	
 
class SummitRegistrationAdmin(admin.ModelAdmin):
 
    list_display = ('name', 'email', 'affiliation', 'cle_credit')
www/conservancy/apps/supporter/urls.py
Show inline comments
 
from django.conf.urls import url
 
from django.views.generic import TemplateView
 
from conservancy.apps.supporter import views as supp_views
 
from conservancy.static import views as static_views
 

	
 
from . import views as supp_views
 
from ...static import views as static_views
 

	
 
INDEX_VIEW = supp_views.index
 
urlpatterns = [
www/conservancy/apps/supporter/views.py
Show inline comments
 
from django.shortcuts import render
 

	
 
import conservancy
 

	
 

	
 
def index(request):
 
    with conservancy.ParameterValidator(request.GET, 'upgrade_id') as validator:
 
        try:
...
 
@@ -13,4 +16,4 @@ def index(request):
 
        'partial_amount': partial_amount,
 
        'minimum_amount': 120 - partial_amount,
 
    }
 
    return conservancy.render_template_with_context(request, "supporter/index.html", context)
 
    return render(request, "supporter/index.html", context)
www/conservancy/apps/supporters/admin.py
Show inline comments
 
from django.contrib import admin
 
from conservancy.apps.supporters.models import Supporter
 

	
 
from .models import Supporter
 

	
 

	
 
class SupporterAdmin(admin.ModelAdmin):
 
    list_display = ('display_name', 'display_until_date')
www/conservancy/apps/worldmap/admin.py
Show inline comments
 
from django.contrib import admin
 
from conservancy.apps.worldmap.models import EarthLocation
 

	
 
from .models import EarthLocation
 

	
 

	
 
class EarthLocationAdmin(admin.ModelAdmin):
 
    list_display = ("label", "html_map_link")
www/conservancy/feeds.py
Show inline comments
 
from django.contrib.syndication.views import Feed
 
from django.utils.feedgenerator import Rss201rev2Feed 
 
from conservancy.apps.news.models import PressRelease
 
from conservancy.apps.blog.models import Entry as BlogEntry
 
from django.shortcuts import render
 
from django.conf import settings
 
from datetime import datetime
 

	
 
from functools import reduce
 
import itertools
 
import operator
 
from functools import reduce
 

	
 
from django.conf import settings
 
from django.contrib.syndication.views import Feed
 
from django.shortcuts import render
 
from django.utils.feedgenerator import Rss201rev2Feed
 

	
 
from .apps.blog.models import Entry as BlogEntry
 
from .apps.news.models import PressRelease
 

	
 

	
 
class ConservancyFeedBase(Feed):
 
    def copyright_holder(self): return "Software Freedom Conservancy"
www/conservancy/frontpage.py
Show inline comments
 
from conservancy import render_template_with_context
 
from conservancy.apps.supporters.models import Supporter as Supporter
 
from conservancy.apps.news.models import PressRelease
 
from conservancy.apps.blog.models import Entry as BlogEntry
 
from datetime import datetime
 

	
 
from django.shortcuts import render
 

	
 
from .apps.blog.models import Entry
 
from .apps.news.models import PressRelease
 
from .apps.supporters.models import Supporter
 

	
 

	
 
def view(request):
 
    """Conservancy front page view
 

	
 
    Performs all object queries necessary to render the front page.
 
    """
 

	
 
    now = datetime.now()
 
    context = {
 
        'press_releases': PressRelease.objects.all().filter(pub_date__lte=now, sites=2)[:5],
 
        'supporters_count': Supporter.objects.all().filter(display_until_date__gte=now).count(),
 
        'blog': BlogEntry.objects.all().filter(pub_date__lte=now)[:5],
 
        'blog': Entry.objects.all().filter(pub_date__lte=now)[:5],
 
    }
 
    return render_template_with_context(request, "frontpage.html", context)
 
    return render(request, "frontpage.html", context)
www/conservancy/local_context_processors.py
Show inline comments
 
from datetime import datetime as DateTime
 

	
 
import conservancy.settings
 
from conservancy.apps.fundgoal.models import FundraisingGoal as FundraisingGoal
 
from . import settings
 
from .apps.fundgoal.models import FundraisingGoal
 

	
 
SITE_FUNDGOAL = 'cy2022-end-year-match'
 

	
...
 
@@ -18,8 +18,8 @@ def sitefundraiser(request):
 
        'sitefundgoal': fundgoal_lookup(SITE_FUNDGOAL),
 
    }
 

	
 
if conservancy.settings.FORCE_CANONICAL_HOSTNAME:
 
    _HOST_URL_VAR = {'host_url': 'https://' + conservancy.settings.FORCE_CANONICAL_HOSTNAME}
 
if settings.FORCE_CANONICAL_HOSTNAME:
 
    _HOST_URL_VAR = {'host_url': 'https://' + settings.FORCE_CANONICAL_HOSTNAME}
 
    def host_url(request):
 
        return _HOST_URL_VAR
 
else:
www/conservancy/sponsors.py
Show inline comments
 
from django.shortcuts import render
 
from conservancy.apps.supporters.models import Supporter as Supporter
 
from datetime import datetime, timedelta
 

	
 
from django.shortcuts import render
 

	
 
from .apps.supporters.models import Supporter
 

	
 

	
 
def view(request):
 
    """Conservancy Sponsors Page view
 

	
www/conservancy/urls.py
Show inline comments
...
 
@@ -20,9 +20,9 @@
 
from django.conf.urls import url, include
 
from django.contrib import admin
 

	
 
from conservancy import feeds, frontpage, sponsors
 
import conservancy.apps.fundgoal.views as fundgoal_views
 
import conservancy.static.views as static_views
 
from . import feeds, frontpage, sponsors
 
from .apps.fundgoal import views as fundgoal_views
 
from .static import views as static_views
 

	
 
admin.autodiscover()
 

	
0 comments (0 inline, 0 general)