mirror of
https://github.com/evennia/evennia.git
synced 2026-03-26 17:56:32 +01:00
Changed datetime setter to use utils.timezone instead of naive datetime stamps, as per #728.
This commit is contained in:
parent
b0c71ee924
commit
3ebc55da82
7 changed files with 20 additions and 14 deletions
|
|
@ -19,8 +19,8 @@ ChannelConnect object (this object is necessary to easily
|
|||
be able to delete connections on the fly).
|
||||
"""
|
||||
|
||||
from datetime import datetime
|
||||
from django.conf import settings
|
||||
from django.utils import timezone
|
||||
from django.db import models
|
||||
from evennia.typeclasses.models import TypedObject
|
||||
from evennia.utils.idmapper.models import SharedMemoryModel
|
||||
|
|
@ -309,7 +309,7 @@ class TempMsg(object):
|
|||
self.message = message
|
||||
self.lock_storage = lockstring
|
||||
self.hide_from = hide_from and make_iter(hide_from) or []
|
||||
self.date_sent = datetime.now()
|
||||
self.date_sent = timezone.now()
|
||||
|
||||
@lazy_property
|
||||
def locks(self):
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@ The managers for the custom Player object and permissions.
|
|||
"""
|
||||
|
||||
import datetime
|
||||
from django.utils import timezone
|
||||
from django.contrib.auth.models import UserManager
|
||||
#from functools import update_wrapper
|
||||
from evennia.typeclasses.managers import (returns_typeclass_list, returns_typeclass,
|
||||
|
|
@ -59,7 +60,7 @@ class PlayerDBManager(TypedObjectManager, UserManager):
|
|||
Returns a QuerySet containing the player User accounts that have been
|
||||
connected within the last <days> days.
|
||||
"""
|
||||
end_date = datetime.datetime.now()
|
||||
end_date = timezone.now()
|
||||
tdelta = datetime.timedelta(days)
|
||||
start_date = end_date - tdelta
|
||||
return self.filter(date_joined__range=(start_date, end_date))
|
||||
|
|
@ -72,7 +73,7 @@ class PlayerDBManager(TypedObjectManager, UserManager):
|
|||
|
||||
days - number of days backwards to check
|
||||
"""
|
||||
end_date = datetime.datetime.now()
|
||||
end_date = timezone.now()
|
||||
tdelta = datetime.timedelta(days)
|
||||
start_date = end_date - tdelta
|
||||
return self.filter(last_login__range=(
|
||||
|
|
|
|||
|
|
@ -11,8 +11,8 @@ instead for most things).
|
|||
|
||||
"""
|
||||
|
||||
import datetime
|
||||
from django.conf import settings
|
||||
from django.utils import timezone
|
||||
from evennia.typeclasses.models import TypeclassBase
|
||||
from evennia.players.manager import PlayerManager
|
||||
from evennia.players.models import PlayerDB
|
||||
|
|
@ -558,7 +558,7 @@ class DefaultPlayer(PlayerDB):
|
|||
_CONNECT_CHANNEL = ChannelDB.objects.filter(db_key=settings.DEFAULT_CHANNELS[1]["key"])[0]
|
||||
except Exception:
|
||||
logger.log_trace()
|
||||
now = datetime.datetime.now()
|
||||
now = timezone.now()
|
||||
now = "%02i-%02i-%02i(%02i:%02i)" % (now.year, now.month,
|
||||
now.day, now.hour, now.minute)
|
||||
if _CONNECT_CHANNEL:
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ are stored on the Portal side)
|
|||
|
||||
import re
|
||||
from time import time
|
||||
from datetime import datetime
|
||||
from django.utils import timezone
|
||||
from django.conf import settings
|
||||
from evennia.comms.models import ChannelDB
|
||||
from evennia.utils import logger
|
||||
|
|
@ -106,7 +106,7 @@ class ServerSession(Session):
|
|||
self.cmdset_storage = settings.CMDSET_SESSION
|
||||
|
||||
# Update account's last login time.
|
||||
self.player.last_login = datetime.now()
|
||||
self.player.last_login = timezone.now()
|
||||
self.player.save()
|
||||
|
||||
# add the session-level cmdset
|
||||
|
|
@ -122,7 +122,7 @@ class ServerSession(Session):
|
|||
if self.puppet:
|
||||
player.unpuppet_object(sessid)
|
||||
uaccount = player
|
||||
uaccount.last_login = datetime.now()
|
||||
uaccount.last_login = timezone.now()
|
||||
uaccount.save()
|
||||
# calling player hook
|
||||
player.at_disconnect()
|
||||
|
|
|
|||
|
|
@ -119,6 +119,8 @@ CYCLE_LOGFILES = True
|
|||
# Local time zone for this installation. All choices can be found here:
|
||||
# http://www.postgresql.org/docs/8.0/interactive/datetime-keywords.html#DATETIME-TIMEZONE-SET-TABLE
|
||||
TIME_ZONE = 'UTC'
|
||||
# Activate time zone in datetimes
|
||||
USE_TZ = True
|
||||
# Authentication backends. This is the code used to authenticate a user.
|
||||
AUTHENTICATION_BACKENDS = (
|
||||
'evennia.web.utils.backends.CaseInsensitiveModelBackend',)
|
||||
|
|
|
|||
|
|
@ -14,12 +14,13 @@ log_typemsg(). This is for historical, back-compatible reasons.
|
|||
"""
|
||||
|
||||
import os
|
||||
from datetime import datetime
|
||||
from traceback import format_exc
|
||||
from twisted.python import log
|
||||
from twisted.internet.threads import deferToThread
|
||||
|
||||
|
||||
_LOGDIR = None
|
||||
_TIMEZONE = None
|
||||
|
||||
def log_trace(errmsg=None):
|
||||
"""
|
||||
|
|
@ -114,15 +115,17 @@ def log_file(msg, filename="game.log"):
|
|||
'game.log'. All logs will appear in the logs directory and log
|
||||
entries will start on new lines following datetime info.
|
||||
"""
|
||||
global LOG_FILE_HANDLES, _LOGDIR
|
||||
global LOG_FILE_HANDLES, _LOGDIR, _TIMEZONE
|
||||
|
||||
if not _LOGDIR:
|
||||
from django.conf import settings
|
||||
_LOGDIR = settings.LOG_DIR
|
||||
if not _TIMEZONE:
|
||||
from django.utils import timezone as _TIMEZONE
|
||||
|
||||
def callback(filehandle, msg):
|
||||
"Writing to file and flushing result"
|
||||
msg = "\n%s [-] %s" % (datetime.now(), msg.strip())
|
||||
msg = "\n%s [-] %s" % (_TIMEZONE.now(), msg.strip())
|
||||
filehandle.write(msg)
|
||||
# since we don't close the handle, we need to flush
|
||||
# manually or log file won't be written to until the
|
||||
|
|
|
|||
|
|
@ -13,7 +13,6 @@ import types
|
|||
import math
|
||||
import re
|
||||
import textwrap
|
||||
import datetime
|
||||
import random
|
||||
import traceback
|
||||
from importlib import import_module
|
||||
|
|
@ -21,6 +20,7 @@ from inspect import ismodule, trace
|
|||
from collections import defaultdict
|
||||
from twisted.internet import threads, defer, reactor
|
||||
from django.conf import settings
|
||||
from django.utils import timezone
|
||||
|
||||
try:
|
||||
import cPickle as pickle
|
||||
|
|
@ -279,7 +279,7 @@ def datetime_format(dtobj):
|
|||
|
||||
year, month, day = dtobj.year, dtobj.month, dtobj.day
|
||||
hour, minute, second = dtobj.hour, dtobj.minute, dtobj.second
|
||||
now = datetime.datetime.now()
|
||||
now = timezone.now()
|
||||
|
||||
if year < now.year:
|
||||
# another year
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue