Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Indicate non-coverage areas #148

Merged
merged 1 commit into from
Dec 24, 2014
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ django-simple-history

django-simple-history stores Django model state on every create/update/delete.

This app requires Django 1.4 or greater and Python 2.6 or greater.
This app requires Django 1.4.2 or greater and Python 2.6 or greater.

Getting Help
------------
Expand Down
11 changes: 4 additions & 7 deletions simple_history/admin.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,15 +11,12 @@
from django.utils.text import capfirst
from django.utils.html import mark_safe
from django.utils.translation import ugettext as _
try:
from django.utils.encoding import force_text
except ImportError: # django 1.3 compatibility
from django.utils.encoding import force_unicode as force_text
from django.utils.encoding import force_text
from django.conf import settings

try:
USER_NATURAL_KEY = settings.AUTH_USER_MODEL
except AttributeError:
except AttributeError: # Django < 1.5
USER_NATURAL_KEY = "auth.User"
USER_NATURAL_KEY = tuple(key.lower() for key in USER_NATURAL_KEY.split('.', 1))

Expand All @@ -35,7 +32,7 @@ def get_urls(self):
opts = self.model._meta
try:
info = opts.app_label, opts.model_name
except AttributeError:
except AttributeError: # Django < 1.7
info = opts.app_label, opts.module_name
history_urls = patterns(
"",
Expand Down Expand Up @@ -115,7 +112,7 @@ def history_form_view(self, request, object_id, version_id):

try:
model_name = original_opts.model_name
except AttributeError:
except AttributeError: # Django < 1.7
model_name = original_opts.module_name
url_triplet = self.admin_site.name, original_opts.app_label, model_name
context = {
Expand Down
15 changes: 2 additions & 13 deletions simple_history/management/commands/_populate_utils.py
Original file line number Diff line number Diff line change
@@ -1,9 +1,4 @@
try:
from django.utils.timezone import now
except ImportError: # pragma: no cover
from datetime import datetime
now = datetime.now
from django.db import transaction
from django.utils.timezone import now


class NotHistorical(TypeError):
Expand All @@ -29,10 +24,4 @@ def bulk_history_create(model, history_model):
**dict((field.attname, getattr(instance, field.attname))
for field in instance._meta.fields)
) for instance in model.objects.all()]
try:
history_model.objects.bulk_create(historical_instances)
except AttributeError: # pragma: no cover
# bulk_create was added in Django 1.4, handle legacy versions
with transaction.commit_on_success():
for instance in historical_instances:
instance.save()
history_model.objects.bulk_create(historical_instances)
3 changes: 1 addition & 2 deletions simple_history/management/commands/populate_history.py
Original file line number Diff line number Diff line change
Expand Up @@ -75,8 +75,7 @@ def _model_from_natural_key(self, natural_key):
else:
try:
model = get_model(app_label, model)
# Django 1.7 raises a LookupError
except LookupError: # pragma: no cover
except LookupError: # Django >= 1.7
model = None
if not model:
raise ValueError(self.MODEL_NOT_FOUND +
Expand Down
2 changes: 1 addition & 1 deletion simple_history/manager.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ def __init__(self, model, instance=None):
def get_super_queryset(self):
try:
return super(HistoryManager, self).get_queryset()
except AttributeError:
except AttributeError: # Django < 1.6
return super(HistoryManager, self).get_query_set()

def get_queryset(self):
Expand Down
23 changes: 8 additions & 15 deletions simple_history/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@
import threading
import copy
try:
from django.apps import apps # Django >= 1.7
except ImportError:
from django.apps import apps
except ImportError: # Django < 1.7
apps = None
from django.db import models, router
from django.db.models import loading
Expand All @@ -15,21 +15,14 @@
from django.contrib import admin
from django.utils import importlib, six
from django.utils.encoding import python_2_unicode_compatible
try:
from django.utils.encoding import smart_text
except ImportError:
from django.utils.encoding import smart_unicode as smart_text
try:
from django.utils.timezone import now
except ImportError:
from datetime import datetime
now = datetime.now
from django.utils.encoding import smart_text
from django.utils.timezone import now
from django.utils.translation import string_concat
try:
from south.modelsinspector import add_introspection_rules
except ImportError:
except ImportError: # south not present
pass
else:
else: # south configuration for CustomForeignKeyField
add_introspection_rules(
[], ["^simple_history.models.CustomForeignKeyField"])
from .manager import HistoryDescriptor
Expand Down Expand Up @@ -100,7 +93,7 @@ def create_history_model(self, model):
# registered under different app
attrs['__module__'] = self.module
elif app_module != self.module:
if apps is None:
if apps is None: # Django < 1.7
# has meta options with app_label
app = loading.get_app(model._meta.app_label)
attrs['__module__'] = app.__name__ # full dotted name
Expand Down Expand Up @@ -154,7 +147,7 @@ def revert_url(self):
opts = model._meta
try:
app_label, model_name = opts.app_label, opts.model_name
except AttributeError:
except AttributeError: # Django < 1.7
app_label, model_name = opts.app_label, opts.module_name
return ('%s:%s_%s_simple_history' %
(admin.site.name, app_label, model_name),
Expand Down