Skip to content

Commit

Permalink
Re-added support for django 1.6 / python 2.6.
Browse files Browse the repository at this point in the history
  • Loading branch information
melinath committed Jan 16, 2015
1 parent 8437cbb commit 19953ab
Show file tree
Hide file tree
Showing 8 changed files with 118 additions and 6 deletions.
7 changes: 7 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,13 +1,20 @@
language: python
python:
- "2.6"
- "2.7"
- "3.3"
- "3.4"
env:
- DB=sqlite3 REQUIREMENTS=test_project/requirements-1.6.txt
- DB=mysql REQUIREMENTS=test_project/requirements-1.6.txt
- DB=sqlite3 REQUIREMENTS=test_project/requirements-1.7.txt
- DB=mysql REQUIREMENTS=test_project/requirements-1.7.txt
matrix:
exclude:
- python: "3.3"
env: DB=mysql REQUIREMENTS=test_project/requirements-1.6.txt
- python: "3.4"
env: DB=mysql REQUIREMENTS=test_project/requirements-1.6.txt
- python: "3.3"
env: DB=mysql REQUIREMENTS=test_project/requirements-1.7.txt
- python: "3.4"
Expand Down
15 changes: 12 additions & 3 deletions daguerre/management/commands/daguerre.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,11 @@
import os
import sys

from django.apps import apps
try:
from django.apps import apps
except ImportError:
apps = None
from django.core.management import find_management_module
from django.core.management import load_command_class
from django.core.management.base import BaseCommand
from django.utils.encoding import smart_str
Expand All @@ -14,8 +18,13 @@

class Command(BaseCommand):
def _find_commands(self):
command_dir = os.path.join(apps.get_app_config('daguerre').path,
'management', 'commands')
if apps:
parts = (apps.get_app_config('daguerre').path,
'management', 'commands')
else:
parts = (find_management_module('daguerre'),
'commands')
command_dir = os.path.join(*parts)
try:
return dict((f[10:-3], f[:-3]) for f in os.listdir(command_dir)
if f.startswith('_daguerre_') and f.endswith('.py'))
Expand Down
63 changes: 63 additions & 0 deletions daguerre/south_migrations/0001_initial.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
# -*- coding: utf-8 -*-
from south.utils import datetime_utils as datetime
from south.db import db
from south.v2 import SchemaMigration
from django.db import models


class Migration(SchemaMigration):

def forwards(self, orm):
# Adding model 'Area'
db.create_table(u'daguerre_area', (
(u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
('storage_path', self.gf('django.db.models.fields.CharField')(max_length=300)),
('x1', self.gf('django.db.models.fields.PositiveIntegerField')()),
('y1', self.gf('django.db.models.fields.PositiveIntegerField')()),
('x2', self.gf('django.db.models.fields.PositiveIntegerField')()),
('y2', self.gf('django.db.models.fields.PositiveIntegerField')()),
('name', self.gf('django.db.models.fields.CharField')(max_length=20, blank=True)),
('priority', self.gf('django.db.models.fields.PositiveIntegerField')(default=3)),
))
db.send_create_signal(u'daguerre', ['Area'])

# Adding model 'AdjustedImage'
db.create_table(u'daguerre_adjustedimage', (
(u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
('storage_path', self.gf('django.db.models.fields.CharField')(max_length=200)),
('adjusted', self.gf('django.db.models.fields.files.ImageField')(max_length=45)),
('requested', self.gf('django.db.models.fields.CharField')(max_length=100)),
))
db.send_create_signal(u'daguerre', ['AdjustedImage'])


def backwards(self, orm):
# Deleting model 'Area'
db.delete_table(u'daguerre_area')

# Deleting model 'AdjustedImage'
db.delete_table(u'daguerre_adjustedimage')


models = {
u'daguerre.adjustedimage': {
'Meta': {'object_name': 'AdjustedImage'},
'adjusted': ('django.db.models.fields.files.ImageField', [], {'max_length': '45'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'requested': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
'storage_path': ('django.db.models.fields.CharField', [], {'max_length': '200'})
},
u'daguerre.area': {
'Meta': {'ordering': "('priority',)", 'object_name': 'Area'},
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '20', 'blank': 'True'}),
'priority': ('django.db.models.fields.PositiveIntegerField', [], {'default': '3'}),
'storage_path': ('django.db.models.fields.CharField', [], {'max_length': '300'}),
'x1': ('django.db.models.fields.PositiveIntegerField', [], {}),
'x2': ('django.db.models.fields.PositiveIntegerField', [], {}),
'y1': ('django.db.models.fields.PositiveIntegerField', [], {}),
'y2': ('django.db.models.fields.PositiveIntegerField', [], {})
}
}

complete_apps = ['daguerre']
Empty file.
6 changes: 3 additions & 3 deletions daguerre/utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@
#: Which Exif orientation tags correspond to a 90deg or 270deg rotation.
ROTATION_TAGS = (5, 6, 7, 8)
#: Map human-readable Exif tag names to their markers.
EXIF_TAGS = {y:x for x,y in ExifTags.TAGS.items()}
EXIF_TAGS = dict((y, x) for (x, y) in six.iteritems(ExifTags.TAGS))


def make_hash(*args, **kwargs):
Expand All @@ -45,11 +45,11 @@ def make_hash(*args, **kwargs):
def get_exif_orientation(image):
# Extract the orientation tag
try:
exif_data = image._getexif() # should be careful with that _method
exif_data = image._getexif() # should be careful with that _method
except AttributeError:
# No Exif data, return None
return None
if exif_data is not None and EXIF_TAGS['Orientation'] in exif_data:
if exif_data is not None and EXIF_TAGS['Orientation'] in exif_data:
orientation = exif_data[EXIF_TAGS['Orientation']]
return orientation
# No Exif orientation tag, return None
Expand Down
4 changes: 4 additions & 0 deletions test_project/requirements-1.6.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
Pillow==2.3.0
django==1.6
mock==1.0.1
six==1.5.2
5 changes: 5 additions & 0 deletions test_project/test_project/settings.py
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,11 @@
'django.contrib.messages',
'django.contrib.staticfiles',
'daguerre',
#'south',
)

TEST_RUNNER = 'django.test.runner.DiscoverRunner'

SOUTH_MIGRATION_MODULES = {
'daguerre': 'daguerre.south_migrations',
}
24 changes: 24 additions & 0 deletions tox.ini
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
[tox]
envlist =
py26-django16,
py27-django16,
py27-django17,
py33-django16,
py33-django17,
py34-django17

Expand All @@ -9,13 +12,34 @@ changedir = {toxinidir}/test_project
commands =
{envpython} manage.py test --verbosity=2 {posargs:daguerre}

[testenv:py26-django16]
basepython=python2.6
deps =
--no-deps
--use-mirrors
-r{toxinidir}/test_project/requirements-1.6.txt

[testenv:py27-django16]
basepython=python2.7
deps =
--no-deps
--use-mirrors
-r{toxinidir}/test_project/requirements-1.6.txt

[testenv:py27-django17]
basepython=python2.7
deps =
--no-deps
--use-mirrors
-r{toxinidir}/test_project/requirements-1.7.txt

[testenv:py33-django16]
basepython=python3.3
deps =
--no-deps
--use-mirrors
-r{toxinidir}/test_project/requirements-1.6.txt

[testenv:py33-django17]
basepython=python3.3
deps =
Expand Down

0 comments on commit 19953ab

Please sign in to comment.