towards supporting python 2 and 3
- use absolute_imports - make use of six.moves - use exec instead of execfile - use list(dict) instead if dict.keys()
This commit is contained in:
parent
728ed14499
commit
1468ddbecb
89 changed files with 400 additions and 265 deletions
|
|
@ -1,5 +1,7 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
# vi:si:et:sw=4:sts=4:ts=4
|
||||
from __future__ import division, print_function, absolute_import
|
||||
|
||||
import copy
|
||||
from datetime import datetime
|
||||
|
||||
|
|
@ -9,8 +11,6 @@ from django.db.models import Max
|
|||
from django.conf import settings
|
||||
from django.contrib.gis.geoip2 import GeoIP2
|
||||
|
||||
|
||||
|
||||
import ox
|
||||
from oxdjango.fields import DictField
|
||||
from ox.utils import json
|
||||
|
|
@ -19,8 +19,9 @@ from itemlist.models import List, Position
|
|||
import text
|
||||
import edit
|
||||
|
||||
import managers
|
||||
import tasks
|
||||
from . import managers
|
||||
from . import tasks
|
||||
|
||||
|
||||
class SessionData(models.Model):
|
||||
session_key = models.CharField(max_length=40, primary_key=True)
|
||||
|
|
@ -170,7 +171,7 @@ class SessionData(models.Model):
|
|||
j['notes'] = p.notes
|
||||
j['numberoflists'] = self.numberoflists
|
||||
if keys:
|
||||
for key in j.keys():
|
||||
for key in list(j):
|
||||
if key not in keys:
|
||||
del j[key]
|
||||
return j
|
||||
|
|
@ -323,7 +324,7 @@ def get_ui(user_ui, user=None):
|
|||
ids += add(user.lists.exclude(status="featured"), 'personal')
|
||||
ids += add(user.subscribed_lists.filter(status='public'), 'public')
|
||||
ids += add(List.objects.filter(status='featured'), 'featured')
|
||||
for i in ui['lists'].keys():
|
||||
for i in list(ui['lists']):
|
||||
if i not in ids:
|
||||
del ui['lists'][i]
|
||||
tids = ['']
|
||||
|
|
@ -373,7 +374,7 @@ def user_json(user, keys=None):
|
|||
'username': user.username,
|
||||
}
|
||||
if keys:
|
||||
for key in j.keys():
|
||||
for key in list(j):
|
||||
if key not in keys:
|
||||
del j[key]
|
||||
return j
|
||||
|
|
|
|||
|
|
@ -1,22 +1,24 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
# vi:si:et:sw=4:sts=4:ts=4
|
||||
from __future__ import division, print_function, absolute_import
|
||||
|
||||
import json
|
||||
from datetime import timedelta
|
||||
from itertools import izip_longest
|
||||
|
||||
from six.moves import zip_longest
|
||||
from celery.task import task, periodic_task
|
||||
|
||||
import models
|
||||
from app.models import Settings
|
||||
from statistics import Statistics
|
||||
from .statistics import Statistics
|
||||
|
||||
@periodic_task(run_every=timedelta(hours=1), queue='encoding')
|
||||
def cronjob(**kwargs):
|
||||
update_statistics()
|
||||
|
||||
def update_statistics():
|
||||
from . import models
|
||||
def chunker(iterable, chunksize, filler):
|
||||
return izip_longest(*[iter(iterable)]*chunksize, fillvalue=filler)
|
||||
return zip_longest(*[iter(iterable)]*chunksize, fillvalue=filler)
|
||||
|
||||
stats = Statistics()
|
||||
ids = [i['session_key']
|
||||
|
|
@ -30,12 +32,14 @@ def update_statistics():
|
|||
|
||||
@task(ignore_results=True, queue='default')
|
||||
def parse_data(key):
|
||||
from . import models
|
||||
session_data = models.SessionData.objects.get(session_key=key)
|
||||
session_data.parse_data()
|
||||
session_data.save()
|
||||
|
||||
@task(ignore_results=True, queue='default')
|
||||
def update_numberoflists(username):
|
||||
from . import models
|
||||
user = models.User.objects.get(username=username)
|
||||
models.SessionData.objects.filter(
|
||||
user=user
|
||||
|
|
|
|||
|
|
@ -1,5 +1,7 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
# vi:si:et:sw=4:sts=4:ts=4
|
||||
from __future__ import division, print_function, absolute_import
|
||||
|
||||
import random
|
||||
random.seed()
|
||||
import re
|
||||
|
|
@ -25,8 +27,8 @@ from item.models import Access, Item
|
|||
from item import utils
|
||||
from changelog.models import add_changelog
|
||||
|
||||
import models
|
||||
from decorators import capability_required_json
|
||||
from . import models
|
||||
from .decorators import capability_required_json
|
||||
|
||||
|
||||
def get_user_or_404(data):
|
||||
|
|
@ -770,10 +772,10 @@ def setUI(request, data):
|
|||
else:
|
||||
ui = json.loads(request.session.get('ui', '{}'))
|
||||
for key in data:
|
||||
keys = map(lambda p: p.replace('\0', '\\.'), key.replace('\\.', '\0').split('.'))
|
||||
keys = [p.replace('\0', '\\.') for p in key.replace('\\.', '\0').split('.')]
|
||||
value = data[key]
|
||||
p = ui
|
||||
while len(keys)>1:
|
||||
while len(keys) > 1:
|
||||
key = keys.pop(0)
|
||||
if isinstance(p, list):
|
||||
p = p[getPositionById(p, key)]
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue