-import urllib
-
import json
import oauth2
+from urllib.parse import urlencode
from apiclient.settings import WL_CONSUMER_KEY, WL_CONSUMER_SECRET, WL_API_URL, BETA_API_URL
client = oauth2.Client(wl_consumer, token)
if data is not None:
data = json.dumps(data)
- data = urllib.urlencode({"data": data})
+ data = urlencode({"data": data})
resp, content = client.request(
"%s%s" % (api_url, path),
method="POST",
-from __future__ import absolute_import
-
from re import split
from django.db.models import Q, Count
from django import template
chunks = chunks.order_by('book__title', 'book', 'number')
- if not request.user.is_authenticated():
+ if not request.user.is_authenticated:
chunks = chunks.filter(book__public=True)
state = arg_or_GET('status')
images = Image.objects.all().select_related('user', 'stage', 'project')
- if not request.user.is_authenticated():
+ if not request.user.is_authenticated:
images = images.filter(public=True)
state = arg_or_GET('status')
-# -*- coding: utf-8 -*-
from collections import defaultdict
from datetime import datetime, date, timedelta
import logging
form = forms.DocumentCreateForm(request.POST, request.FILES)
if form.is_valid():
- if request.user.is_authenticated():
+ if request.user.is_authenticated:
creator = request.user
else:
creator = None
if form.is_valid():
from slugify import slugify
- if request.user.is_authenticated():
+ if request.user.is_authenticated:
creator = request.user
else:
creator = None
if request.method == "POST":
form = forms.ChunkAddForm(request.POST, instance=doc)
if form.is_valid():
- if request.user.is_authenticated():
+ if request.user.is_authenticated:
creator = request.user
else:
creator = None
@login_required
@require_POST
def chunk_mass_edit(request):
- ids = map(int, filter(lambda i: i.strip()!='', request.POST.get('ids').split(',')))
- chunks = map(lambda i: Chunk.objects.get(id=i), ids)
+ ids = [int(i) for i in request.POST.get('ids').split(',') if i.strip()]
+ chunks = list(Chunk.objects.filter(id__in=ids))
stage = request.POST.get('stage')
if stage:
def active_users_list(request):
- since = date(date.today().year, 1, 1)
+ year = int(request.GET.get('y', date.today().year))
by_user = defaultdict(lambda: 0)
by_email = defaultdict(lambda: 0)
names_by_email = defaultdict(set)
for change_model in (Chunk.change_model, Image.change_model):
for c in change_model.objects.filter(
- created_at__gte=since).order_by(
+ created_at__year=year).order_by(
'author', 'author_email', 'author_name').values(
'author', 'author_name', 'author_email').annotate(
c=Count('author'), ce=Count('author_email')).distinct():
by_user[c['author']] += c['c']
else:
by_email[c['author_email']] += c['ce']
- if c['author_name'].strip():
+ if (c['author_name'] or '').strip():
names_by_email[c['author_email']].add(c['author_name'])
for user in User.objects.filter(pk__in=by_user):
by_email[user.email] += by_user[user.pk]
active_users.sort(key=lambda x: -x[2])
return render(request, 'catalogue/active_users_list.html', {
'users': active_users,
- 'since': since,
+ 'year': year,
})