Update usage of datetime.now to Django timezone aware now()
This commit is contained in:
@@ -64,18 +64,16 @@ if YAML_AVAILABLE:
|
||||
FIXTURE_TYPES_CHOICES += (FIXTURE_TYPE_BETTER_YAML, _(u'Better YAML')),
|
||||
# better_yaml is not working with natural keys
|
||||
|
||||
FIXTURE_METADATA_REMARK_CHARACTER = '#'
|
||||
BOOTSTRAP_EXTENSION = 'txt'
|
||||
BOOTSTRAP_REPOSITORY_INDEX_FILE = '_repo_index.txt'
|
||||
BOOTSTRAP_REPOSITORY_URL = 'http://bootstrap.mayan-edms.com'
|
||||
BOOTSTRAP_SETUP_MAGIC_NUMBER = 'bootstrap setup'
|
||||
DATETIME_STRING_FORMAT = '%a, %d %b %Y %H:%M:%S +0000'
|
||||
FIXTURE_METADATA_CREATED = 'created'
|
||||
FIXTURE_METADATA_EDITED = 'edited'
|
||||
FIXTURE_METADATA_MAYAN_VERSION = 'mayan_edms_version'
|
||||
FIXTURE_METADATA_FORMAT = 'format'
|
||||
FIXTURE_METADATA_NAME = 'name'
|
||||
FIXTURE_METADATA_SLUG = 'slug'
|
||||
FIXTURE_METADATA_DESCRIPTION = 'description'
|
||||
BOOTSTRAP_EXTENSION = 'txt'
|
||||
|
||||
BOOTSTRAP_SETUP_MAGIC_NUMBER = 'bootstrap setup'
|
||||
|
||||
BOOTSTRAP_REPOSITORY_URL = 'http://bootstrap.mayan-edms.com'
|
||||
BOOTSTRAP_REPOSITORY_INDEX_FILE = '_repo_index.txt'
|
||||
FIXTURE_METADATA_EDITED = 'edited'
|
||||
FIXTURE_METADATA_FORMAT = 'format'
|
||||
FIXTURE_METADATA_MAYAN_VERSION = 'mayan_edms_version'
|
||||
FIXTURE_METADATA_NAME = 'name'
|
||||
FIXTURE_METADATA_REMARK_CHARACTER = '#'
|
||||
FIXTURE_METADATA_SLUG = 'slug'
|
||||
|
||||
@@ -15,6 +15,7 @@ except ImportError:
|
||||
from django.core import management
|
||||
from django.core.files.uploadedfile import SimpleUploadedFile
|
||||
from django.db import models
|
||||
from django.utils.timezone import now
|
||||
from django.utils.translation import ugettext_lazy as _
|
||||
|
||||
from .classes import BootstrapModel, FixtureMetadata
|
||||
@@ -32,7 +33,7 @@ class BootstrapSetup(models.Model):
|
||||
description = models.TextField(verbose_name=_(u'description'), blank=True)
|
||||
fixture = models.TextField(verbose_name=_(u'fixture'), help_text=_(u'These are the actual database structure creation instructions.'))
|
||||
type = models.CharField(max_length=16, verbose_name=_(u'type'), choices=FIXTURE_TYPES_CHOICES)
|
||||
created = models.DateTimeField(verbose_name=_('creation date and time'), default=lambda: datetime.datetime.now(), editable=False)
|
||||
created = models.DateTimeField(verbose_name=_('creation date and time'), default=lambda: now(), editable=False)
|
||||
|
||||
objects = BootstrapSetupManager()
|
||||
|
||||
|
||||
@@ -2,6 +2,8 @@ from __future__ import absolute_import
|
||||
|
||||
import datetime
|
||||
|
||||
from django.utils.timezone import now
|
||||
|
||||
from mayan import __version__
|
||||
from navigation.api import register_links
|
||||
|
||||
@@ -21,7 +23,7 @@ register_links([BootstrapSetup], [link_bootstrap_setup_list, link_bootstrap_setu
|
||||
register_links(['bootstrap_setup_list', 'bootstrap_setup_create', 'bootstrap_setup_dump', 'bootstrap_setup_import_from_file', 'bootstrap_setup_import_from_url', 'bootstrap_setup_repository_sync'], [link_bootstrap_setup_list, link_bootstrap_setup_create, link_bootstrap_setup_dump, link_bootstrap_setup_import_from_file, link_bootstrap_setup_import_from_url, link_bootstrap_setup_repository_sync], menu_name='secondary_menu')
|
||||
|
||||
FixtureMetadata(FIXTURE_METADATA_CREATED, generate_function=lambda fixture_instance: fixture_instance.created.strftime(DATETIME_STRING_FORMAT), read_function=lambda x: datetime.datetime.strptime(x, DATETIME_STRING_FORMAT), property_name='created')
|
||||
FixtureMetadata(FIXTURE_METADATA_EDITED, generate_function=lambda fixture_instance: datetime.datetime.now().strftime(DATETIME_STRING_FORMAT))
|
||||
FixtureMetadata(FIXTURE_METADATA_EDITED, generate_function=lambda fixture_instance: now().strftime(DATETIME_STRING_FORMAT))
|
||||
FixtureMetadata(FIXTURE_METADATA_MAYAN_VERSION, generate_function=lambda fixture_instance: __version__)
|
||||
FixtureMetadata(FIXTURE_METADATA_FORMAT, generate_function=lambda fixture_instance: fixture_instance.type, property_name='type')
|
||||
FixtureMetadata(FIXTURE_METADATA_NAME, generate_function=lambda fixture_instance: fixture_instance.name, property_name='name')
|
||||
|
||||
@@ -5,6 +5,7 @@ import logging
|
||||
|
||||
from django.db import models
|
||||
from django.core.exceptions import PermissionDenied
|
||||
from django.utils.timezone import now
|
||||
|
||||
from acls.models import AccessEntry
|
||||
from documents.models import Document
|
||||
@@ -25,7 +26,7 @@ class DocumentCheckoutManager(models.Manager):
|
||||
return Document.objects.filter(pk__in=self.model.objects.all().values_list('document__pk', flat=True))
|
||||
|
||||
def expired_check_outs(self):
|
||||
expired_list = Document.objects.filter(pk__in=self.model.objects.filter(expiration_datetime__lte=datetime.datetime.now()).values_list('document__pk', flat=True))
|
||||
expired_list = Document.objects.filter(pk__in=self.model.objects.filter(expiration_datetime__lte=now()).values_list('document__pk', flat=True))
|
||||
logger.debug('expired_list: %s' % expired_list)
|
||||
return expired_list
|
||||
|
||||
|
||||
@@ -6,6 +6,7 @@ import logging
|
||||
from django.contrib.contenttypes import generic
|
||||
from django.contrib.contenttypes.models import ContentType
|
||||
from django.db import models
|
||||
from django.utils.timezone import now
|
||||
from django.utils.translation import ugettext_lazy as _
|
||||
|
||||
from documents.models import Document
|
||||
@@ -41,7 +42,7 @@ class DocumentCheckout(models.Model):
|
||||
|
||||
def save(self, *args, **kwargs):
|
||||
if not self.pk:
|
||||
self.checkout_datetime = datetime.datetime.now()
|
||||
self.checkout_datetime = now()
|
||||
result = super(DocumentCheckout, self).save(*args, **kwargs)
|
||||
create_history(HISTORY_DOCUMENT_CHECKED_OUT, source_object=self.document, data={'user': self.user_object, 'document': self.document})
|
||||
return result
|
||||
|
||||
@@ -6,6 +6,7 @@ from django import forms
|
||||
from django.conf import settings
|
||||
from django.core import validators
|
||||
from django.utils.safestring import mark_safe
|
||||
from django.utils.timezone import now
|
||||
from django.utils.translation import ugettext_lazy as _
|
||||
|
||||
from .literals import STATE_ICONS, STATE_LABELS
|
||||
@@ -103,5 +104,5 @@ class SplitTimeDeltaField(forms.MultiValueField):
|
||||
raise forms.ValidationError(self.error_messages['invalid_minutes'])
|
||||
|
||||
timedelta = datetime.timedelta(days=data_list[0], hours=data_list[1], minutes=data_list[2])
|
||||
return datetime.datetime.now() + timedelta
|
||||
return now() + timedelta
|
||||
return None
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
from __future__ import absolute_import
|
||||
|
||||
from ast import literal_eval
|
||||
import datetime
|
||||
|
||||
from django.db import models
|
||||
from django.utils.timezone import now
|
||||
|
||||
from .conf.settings import RECENT_COUNT
|
||||
|
||||
@@ -35,7 +35,7 @@ class RecentDocumentManager(models.Manager):
|
||||
new_recent, created = self.model.objects.get_or_create(user=user, document=document)
|
||||
if not created:
|
||||
# document already in the recent list, just update the accessed date and time
|
||||
new_recent.datetime_accessed = datetime.datetime.now()
|
||||
new_recent.datetime_accessed = now()
|
||||
new_recent.save()
|
||||
for recent_to_delete in self.model.objects.filter(user=user)[RECENT_COUNT:]:
|
||||
recent_to_delete.delete()
|
||||
|
||||
@@ -16,6 +16,7 @@ except ImportError:
|
||||
from django.db import models
|
||||
from django.contrib.auth.models import User
|
||||
from django.core.exceptions import ValidationError
|
||||
from django.utils.timezone import now
|
||||
from django.utils.translation import ugettext
|
||||
from django.utils.translation import ugettext_lazy as _
|
||||
|
||||
@@ -103,7 +104,7 @@ class Document(models.Model):
|
||||
def save(self, *args, **kwargs):
|
||||
if not self.pk:
|
||||
self.uuid = UUID_FUNCTION()
|
||||
self.date_added = datetime.datetime.now()
|
||||
self.date_added = now()
|
||||
super(Document, self).save(*args, **kwargs)
|
||||
|
||||
def get_cached_image_name(self, page, version):
|
||||
@@ -368,7 +369,7 @@ class DocumentVersion(models.Model):
|
||||
"""
|
||||
new_document = not self.pk
|
||||
if not self.pk:
|
||||
self.timestamp = datetime.datetime.now()
|
||||
self.timestamp = now()
|
||||
|
||||
# Only do this for new documents
|
||||
transformations = kwargs.pop('transformations', None)
|
||||
@@ -633,7 +634,7 @@ class RecentDocument(models.Model):
|
||||
"""
|
||||
user = models.ForeignKey(User, verbose_name=_(u'user'), editable=False)
|
||||
document = models.ForeignKey(Document, verbose_name=_(u'document'), editable=False)
|
||||
datetime_accessed = models.DateTimeField(verbose_name=_(u'accessed'), default=lambda: datetime.datetime.now(), db_index=True)
|
||||
datetime_accessed = models.DateTimeField(verbose_name=_(u'accessed'), default=lambda: now(), db_index=True)
|
||||
|
||||
objects = RecentDocumentManager()
|
||||
|
||||
|
||||
@@ -1,18 +1,17 @@
|
||||
from __future__ import absolute_import
|
||||
|
||||
import urlparse
|
||||
import urllib
|
||||
import urlparse
|
||||
|
||||
from datetime import datetime
|
||||
|
||||
from django.db import models
|
||||
from django.utils.translation import ugettext as _
|
||||
from django.contrib.auth.models import User
|
||||
from django.core.urlresolvers import reverse
|
||||
from django.db import models
|
||||
from django.utils.encoding import smart_unicode, smart_str
|
||||
from django.utils.timezone import now
|
||||
from django.utils.translation import ugettext as _
|
||||
|
||||
from .managers import RecentSearchManager
|
||||
from .classes import SearchModel
|
||||
from .managers import RecentSearchManager
|
||||
|
||||
|
||||
class RecentSearch(models.Model):
|
||||
@@ -28,7 +27,7 @@ class RecentSearch(models.Model):
|
||||
|
||||
def __unicode__(self):
|
||||
document_search = SearchModel.get('documents.Document')
|
||||
|
||||
|
||||
query_dict = urlparse.parse_qs(urllib.unquote_plus(smart_str(self.query)))
|
||||
|
||||
if self.is_advanced():
|
||||
@@ -46,7 +45,7 @@ class RecentSearch(models.Model):
|
||||
return u'%s (%s)' % (display_string, self.hits)
|
||||
|
||||
def save(self, *args, **kwargs):
|
||||
self.datetime_created = datetime.now()
|
||||
self.datetime_created = now()
|
||||
super(RecentSearch, self).save(*args, **kwargs)
|
||||
|
||||
def url(self):
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
from datetime import datetime
|
||||
|
||||
from django.db import models
|
||||
from django.utils.translation import ugettext as _
|
||||
from django.contrib.auth.models import User
|
||||
from django.db import models
|
||||
from django.utils.timezone import now
|
||||
from django.utils.translation import ugettext as _
|
||||
|
||||
from documents.models import Document
|
||||
|
||||
@@ -17,7 +18,7 @@ class Folder(models.Model):
|
||||
|
||||
def save(self, *args, **kwargs):
|
||||
if not self.pk:
|
||||
self.datetime_created = datetime.now()
|
||||
self.datetime_created = now()
|
||||
super(Folder, self).save(*args, **kwargs)
|
||||
|
||||
@models.permalink
|
||||
|
||||
@@ -2,15 +2,14 @@ from __future__ import absolute_import
|
||||
|
||||
import json
|
||||
import pickle
|
||||
from datetime import datetime
|
||||
|
||||
from django.db import models
|
||||
from django.contrib.contenttypes.models import ContentType
|
||||
from django.contrib.contenttypes import generic
|
||||
from django.utils.translation import ugettext_lazy as _
|
||||
from django.contrib.contenttypes.models import ContentType
|
||||
from django.core import serializers
|
||||
from django.db import models
|
||||
from django.utils.timezone import now
|
||||
from django.utils.translation import ugettext_lazy as _
|
||||
|
||||
#from history.managers import HistoryManager
|
||||
from .runtime_data import history_types_dict
|
||||
|
||||
|
||||
@@ -48,7 +47,7 @@ class History(models.Model):
|
||||
|
||||
def save(self, *args, **kwargs):
|
||||
if not self.pk:
|
||||
self.datetime = datetime.now()
|
||||
self.datetime = now()
|
||||
super(History, self).save(*args, **kwargs)
|
||||
|
||||
def get_label(self):
|
||||
|
||||
@@ -5,6 +5,7 @@ import logging
|
||||
|
||||
from django.db import models, transaction
|
||||
from django.db.utils import IntegrityError
|
||||
from django.utils.timezone import now
|
||||
|
||||
from .exceptions import LockError
|
||||
|
||||
@@ -32,7 +33,7 @@ class LockManager(models.Manager):
|
||||
logger.debug('lock: %s does not exist' % name)
|
||||
raise LockError('Unable to acquire lock')
|
||||
|
||||
if datetime.datetime.now() > lock.creation_datetime + datetime.timedelta(seconds=lock.timeout):
|
||||
if now() > lock.creation_datetime + datetime.timedelta(seconds=lock.timeout):
|
||||
logger.debug('reseting deleting stale lock: %s' % name)
|
||||
lock.timeout = timeout
|
||||
logger.debug('trying to reacquire stale lock: %s' % name)
|
||||
|
||||
@@ -1,9 +1,8 @@
|
||||
from __future__ import absolute_import
|
||||
|
||||
import datetime
|
||||
|
||||
from django.db import models
|
||||
from django.utils.translation import ugettext_lazy as _
|
||||
from django.utils.timezone import now
|
||||
|
||||
from .managers import LockManager
|
||||
from .conf.settings import DEFAULT_LOCK_TIMEOUT
|
||||
@@ -20,7 +19,7 @@ class Lock(models.Model):
|
||||
return self.name
|
||||
|
||||
def save(self, *args, **kwargs):
|
||||
self.creation_datetime = datetime.datetime.now()
|
||||
self.creation_datetime = now()
|
||||
if not self.timeout and not kwargs.get('timeout'):
|
||||
self.timeout = DEFAULT_LOCK_TIMEOUT
|
||||
|
||||
@@ -31,7 +30,7 @@ class Lock(models.Model):
|
||||
lock = Lock.objects.get(name=self.name, creation_datetime=self.creation_datetime)
|
||||
lock.delete()
|
||||
except Lock.DoesNotExist:
|
||||
# Out lock expired and was reassigned
|
||||
# Our lock has expired and was reassigned
|
||||
pass
|
||||
|
||||
class Meta:
|
||||
|
||||
@@ -3,12 +3,13 @@
|
||||
import datetime
|
||||
|
||||
from django.contrib.auth.models import User
|
||||
from django.utils.timezone import now
|
||||
|
||||
from smart_settings.api import register_settings
|
||||
|
||||
|
||||
default_available_functions = {
|
||||
'current_date': datetime.datetime.now().date,
|
||||
'current_date': now().date,
|
||||
}
|
||||
|
||||
default_available_models = {
|
||||
|
||||
@@ -4,6 +4,7 @@ from datetime import datetime
|
||||
|
||||
from django.db import models
|
||||
from django.core.exceptions import ObjectDoesNotExist
|
||||
from django.utils.timezone import now
|
||||
from django.utils.translation import ugettext
|
||||
from django.utils.translation import ugettext_lazy as _
|
||||
|
||||
@@ -55,7 +56,7 @@ class QueueDocument(models.Model):
|
||||
if self.state == QUEUEDOCUMENT_STATE_PROCESSING:
|
||||
raise ReQueueError
|
||||
else:
|
||||
self.datetime_submitted = datetime.now()
|
||||
self.datetime_submitted = now()
|
||||
self.state = QUEUEDOCUMENT_STATE_PENDING
|
||||
self.delay = False
|
||||
self.result = None
|
||||
|
||||
@@ -5,6 +5,7 @@ import logging
|
||||
import platform
|
||||
|
||||
from django.db.models import Q
|
||||
from django.utils.timezone import now
|
||||
|
||||
from job_processor.api import process_job
|
||||
from lock_manager import Lock, LockError
|
||||
@@ -51,7 +52,7 @@ def task_process_document_queues():
|
||||
# TODO: reset_orphans()
|
||||
q_pending = Q(state=QUEUEDOCUMENT_STATE_PENDING)
|
||||
q_delayed = Q(delay=True)
|
||||
q_delay_interval = Q(datetime_submitted__lt=datetime.now() - timedelta(seconds=REPLICATION_DELAY))
|
||||
q_delay_interval = Q(datetime_submitted__lt=now() - timedelta(seconds=REPLICATION_DELAY))
|
||||
for document_queue in DocumentQueue.objects.filter(state=DOCUMENTQUEUE_STATE_ACTIVE):
|
||||
current_local_processing_count = QueueDocument.objects.filter(
|
||||
state=QUEUEDOCUMENT_STATE_PROCESSING).filter(
|
||||
|
||||
Reference in New Issue
Block a user