Skip to content

Commit

Permalink
Merge pull request #55 from dgabrielson/master
Browse files Browse the repository at this point in the history
Change render_to_response() shortcut to render()
  • Loading branch information
popen2 committed Apr 29, 2017
2 parents 8bd381a + 9784746 commit 461ac09
Show file tree
Hide file tree
Showing 13 changed files with 258 additions and 24 deletions.
42 changes: 42 additions & 0 deletions djangopypi2/apps/pypi_frontend/migrations/0001_initial.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.10.6 on 2017-03-31 20:29
from __future__ import unicode_literals

from django.db import migrations, models
import django.db.models.deletion


class Migration(migrations.Migration):

initial = True

dependencies = [
]

operations = [
migrations.CreateModel(
name='MirrorLog',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('created', models.DateTimeField(auto_now_add=True)),
('action', models.CharField(max_length=256)),
],
options={
'get_latest_by': 'created',
},
),
migrations.CreateModel(
name='MirrorSite',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('enabled', models.BooleanField(default=False)),
('name', models.CharField(max_length=64)),
('url', models.CharField(max_length=255, unique=True)),
],
),
migrations.AddField(
model_name='mirrorlog',
name='mirror_site',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='logs', to='pypi_frontend.MirrorSite'),
),
]
Empty file.
15 changes: 7 additions & 8 deletions djangopypi2/apps/pypi_frontend/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,8 @@
from django.core.urlresolvers import reverse
from django.views.decorators.csrf import csrf_exempt
from django.shortcuts import get_object_or_404
from django.template import RequestContext
from django.views.generic.list import ListView
from ..pypi_ui.shortcuts import render_to_response
from ..pypi_ui.shortcuts import render
from ..pypi_packages.models import Package
from ..pypi_packages.models import Release
from .models import MirrorSite
Expand Down Expand Up @@ -53,8 +52,8 @@ def simple_details(request, package_name):
# to the proper url:
if package.name != package_name:
return HttpResponseRedirect(reverse('djangopypi2-simple-package-info', kwargs=dict(package_name=package.name)))
return render_to_response('pypi_frontend/package_detail_simple.html',
context_instance=RequestContext(request, dict(package=package)),
return render(request, 'pypi_frontend/package_detail_simple.html',
context=dict(package=package),
content_type='text/html')

@_mirror_if_not_found('pypi')
Expand All @@ -65,12 +64,12 @@ def package_details(request, package_name):
@_mirror_if_not_found('pypi')
def package_doap(request, package_name):
package = get_object_or_404(Package, name=package_name)
return render_to_response('pypi_frontend/package_doap.xml',
context_instance=RequestContext(request, dict(package=package)),
return render(request, 'pypi_frontend/package_doap.xml',
context=dict(package=package),
content_type='text/xml')

def release_doap(request, package_name, version):
release = get_object_or_404(Release, package__name=package_name, version=version)
return render_to_response('pypi_frontend/release_doap.xml',
context_instance=RequestContext(request, dict(release=release)),
return render(request, 'pypi_frontend/release_doap.xml',
context=dict(release=release),
content_type='text/xml')
7 changes: 3 additions & 4 deletions djangopypi2/apps/pypi_manage/views.py
Original file line number Diff line number Diff line change
@@ -1,15 +1,14 @@
from django.contrib.auth.decorators import login_required
from django.template import RequestContext
from ..pypi_ui.shortcuts import render_to_response
from ..pypi_ui.shortcuts import render

def _administrator_required(func):
@login_required
def _decorator(request, *args, **kwargs):
if not request.user.is_staff:
return render_to_response('pypi_manage/forbidden.html', context_instance=RequestContext(request))
return render(request, 'pypi_manage/forbidden.html')
return func(request, *args, **kwargs)
return _decorator

@_administrator_required
def index(request):
return render_to_response('pypi_manage/index.html', context_instance=RequestContext(request))
return render(request, 'pypi_manage/index.html')
80 changes: 80 additions & 0 deletions djangopypi2/apps/pypi_metadata/migrations/0001_initial.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.10.6 on 2017-03-31 20:30
from __future__ import unicode_literals

from django.db import migrations, models


class Migration(migrations.Migration):

initial = True

dependencies = [
]

operations = [
migrations.CreateModel(
name='Architecture',
fields=[
('key', models.CharField(max_length=16, primary_key=True, serialize=False)),
('name', models.CharField(max_length=64)),
],
options={
'ordering': ('name',),
'verbose_name': 'architecture',
'verbose_name_plural': 'architectures',
},
),
migrations.CreateModel(
name='Classifier',
fields=[
('name', models.CharField(max_length=255, primary_key=True, serialize=False)),
],
options={
'ordering': ('name',),
'verbose_name': 'classifier',
'verbose_name_plural': 'classifiers',
},
),
migrations.CreateModel(
name='DistributionType',
fields=[
('key', models.CharField(max_length=32, primary_key=True, serialize=False)),
('name', models.CharField(max_length=64)),
],
options={
'ordering': ('name',),
'verbose_name': 'distribution type',
'verbose_name_plural': 'distribution types',
},
),
migrations.CreateModel(
name='PlatformName',
fields=[
('key', models.CharField(max_length=32, primary_key=True, serialize=False)),
('name', models.CharField(max_length=32)),
],
options={
'ordering': ('name',),
'verbose_name': 'platform name',
'verbose_name_plural': 'platform names',
},
),
migrations.CreateModel(
name='PythonVersion',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('major', models.IntegerField()),
('minor', models.IntegerField()),
],
options={
'ordering': ('major', 'minor'),
'verbose_name': 'python version',
'verbose_name_plural': 'python versions',
},
),
migrations.AlterUniqueTogether(
name='pythonversion',
unique_together=set([('major', 'minor')]),
),
]
Empty file.
2 changes: 1 addition & 1 deletion djangopypi2/apps/pypi_packages/forms.py
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ def clean_content(self):
log.error('%s does not exist', name)
return content

if settings.DJANGOPYPI_ALLOW_VERSION_OVERWRITE:
if getattr(settings, 'DJANGOPYPI_ALLOW_VERSION_OVERWRITE', False):
raise forms.ValidationError('Version overwrite is not yet handled')

raise forms.ValidationError('That distribution already exists, please '
Expand Down
119 changes: 119 additions & 0 deletions djangopypi2/apps/pypi_packages/migrations/0001_initial.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,119 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.10.6 on 2017-03-31 20:30
from __future__ import unicode_literals

from django.conf import settings
from django.db import migrations, models
import django.db.models.deletion
import djangopypi2.apps.pypi_packages.models


class Migration(migrations.Migration):

initial = True

dependencies = [
('pypi_metadata', '0001_initial'),
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
]

operations = [
migrations.CreateModel(
name='Configuration',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('timestamp', models.DateTimeField(auto_now_add=True)),
('allow_version_overwrite', models.BooleanField(default=False)),
('upload_directory', models.CharField(default=b'dists', help_text=b'Direcory relative to MEDIA_ROOT in which user uploads are kept', max_length=256)),
],
options={
'ordering': ('-timestamp',),
'get_latest_by': 'timestamp',
'verbose_name': 'Configuration',
'verbose_name_plural': 'Configurations',
},
),
migrations.CreateModel(
name='Distribution',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('content', models.FileField(upload_to=djangopypi2.apps.pypi_packages.models.distribution_upload_path)),
('md5_digest', models.CharField(blank=True, editable=False, max_length=32)),
('comment', models.CharField(blank=True, max_length=255)),
('signature', models.TextField(blank=True)),
('created', models.DateTimeField(auto_now_add=True)),
('filetype', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='distributions', to='pypi_metadata.DistributionType')),
('platform', models.ForeignKey(help_text=b'Platform name or None if platform agnostic', null=True, on_delete=django.db.models.deletion.CASCADE, related_name='distributions', to='pypi_metadata.PlatformName')),
('pyversion', models.ForeignKey(help_text=b'Python version, or None for any version of Python', null=True, on_delete=django.db.models.deletion.CASCADE, related_name='distributions', to='pypi_metadata.PythonVersion')),
],
options={
'verbose_name': 'distribution',
'verbose_name_plural': 'distributions',
},
),
migrations.CreateModel(
name='Package',
fields=[
('name', models.CharField(editable=False, max_length=255, primary_key=True, serialize=False, unique=True)),
('auto_hide', models.BooleanField(default=True)),
('allow_comments', models.BooleanField(default=True)),
('maintainers', models.ManyToManyField(blank=True, related_name='packages_maintained', to=settings.AUTH_USER_MODEL)),
('owners', models.ManyToManyField(blank=True, related_name='packages_owned', to=settings.AUTH_USER_MODEL)),
],
options={
'ordering': ['name'],
'get_latest_by': 'releases__latest',
'verbose_name': 'package',
'verbose_name_plural': 'packages',
},
),
migrations.CreateModel(
name='Release',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('version', models.CharField(editable=False, max_length=128)),
('metadata_version', models.CharField(default=b'1.0', max_length=64)),
('package_info', djangopypi2.apps.pypi_packages.models.PackageInfoField(editable=False)),
('hidden', models.BooleanField(default=False)),
('created', models.DateTimeField(auto_now_add=True)),
('package', models.ForeignKey(editable=False, on_delete=django.db.models.deletion.CASCADE, related_name='releases', to='pypi_packages.Package')),
],
options={
'ordering': ['-created'],
'get_latest_by': 'created',
'verbose_name': 'release',
'verbose_name_plural': 'releases',
},
),
migrations.CreateModel(
name='Review',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('rating', models.PositiveSmallIntegerField(blank=True)),
('comment', models.TextField(blank=True)),
('release', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='reviews', to='pypi_packages.Release')),
],
options={
'verbose_name': 'release review',
'verbose_name_plural': 'release reviews',
},
),
migrations.AddField(
model_name='distribution',
name='release',
field=models.ForeignKey(editable=False, on_delete=django.db.models.deletion.CASCADE, related_name='distributions', to='pypi_packages.Release'),
),
migrations.AddField(
model_name='distribution',
name='uploader',
field=models.ForeignKey(blank=True, editable=False, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='distributions_uploaded', to=settings.AUTH_USER_MODEL),
),
migrations.AlterUniqueTogether(
name='release',
unique_together=set([('package', 'version')]),
),
migrations.AlterUniqueTogether(
name='distribution',
unique_together=set([('release', 'filetype', 'pyversion', 'platform')]),
),
]
Empty file.
2 changes: 1 addition & 1 deletion djangopypi2/apps/pypi_packages/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -234,7 +234,7 @@ class Distribution(models.Model):
content = models.FileField(upload_to=distribution_upload_path)
md5_digest = models.CharField(max_length=32, blank=True, editable=False)
filetype = models.ForeignKey(DistributionType, related_name='distributions')
pyversion = models.ForeignKey(PythonVersion, related_name='distributions', null=True,
pyversion = models.ForeignKey(PythonVersion, related_name='distributions', null=True, blank=True,
help_text='Python version, or None for any version of Python')
platform = models.ForeignKey(PlatformName, related_name='distributions', null=True,
help_text='Platform name or None if platform agnostic')
Expand Down
1 change: 0 additions & 1 deletion djangopypi2/apps/pypi_packages/package_views.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@
from django.views.generic.list import ListView

from ..pypi_metadata.models import Classifier
from ..pypi_ui.shortcuts import render_to_response

from .decorators import user_maintains_package, user_owns_package
from .models import Package, Release
Expand Down
12 changes: 4 additions & 8 deletions djangopypi2/apps/pypi_packages/release_views.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,8 @@
from django.views.generic.edit import UpdateView
from django.views.generic.edit import DeleteView
from django.shortcuts import get_object_or_404
from django.template import RequestContext
from django.utils.decorators import method_decorator
from ..pypi_ui.shortcuts import render_to_response
from ..pypi_ui.shortcuts import render
from .decorators import user_maintains_package, user_owns_package
from .models import Package
from .models import Release
Expand Down Expand Up @@ -89,10 +88,9 @@ def manage_metadata(request, package_name, version):
else:
form = form_class(initial=initial)

return render_to_response(
return render(request,
'pypi_packages/release_manage.html',
dict(release=release, form=form),
context_instance = RequestContext(request),
content_type = settings.DEFAULT_CONTENT_TYPE,
)

Expand All @@ -111,10 +109,9 @@ def manage_files(request, package_name, version):
else:
formset = formset_factory(instance=release)

return render_to_response(
return render(request,
'pypi_packages/release_manage_files.html',
dict(release=release, formset=formset, upload_form=DistributionUploadForm()),
context_instance = RequestContext(request),
content_type = settings.DEFAULT_CONTENT_TYPE,
)

Expand All @@ -134,9 +131,8 @@ def upload_file(request, package_name, version):
else:
form = DistributionUploadForm()

return render_to_response(
return render(request,
'pypi_packages/release_upload_file.html',
dict(release=release, form=form),
context_instance = RequestContext(request),
content_type = settings.DEFAULT_CONTENT_TYPE,
)
2 changes: 1 addition & 1 deletion djangopypi2/apps/pypi_ui/shortcuts.py
Original file line number Diff line number Diff line change
@@ -1 +1 @@
from django.shortcuts import render_to_response
from django.shortcuts import render

0 comments on commit 461ac09

Please sign in to comment.