Compare commits
No commits in common. "774450d263079302b91078b848387a146166e5ba" and "853efbba9a1d792386fefd6e3c73b8ae89410236" have entirely different histories.
774450d263
...
853efbba9a
16 changed files with 45 additions and 52 deletions
|
@ -375,3 +375,13 @@ def update_geoip(force=False):
|
||||||
|
|
||||||
def init():
|
def init():
|
||||||
load_config(True)
|
load_config(True)
|
||||||
|
|
||||||
|
def shutdown():
|
||||||
|
if settings.RELOADER_RUNNING:
|
||||||
|
RUN_RELOADER = False
|
||||||
|
settings.RELOADER_RUNNING = False
|
||||||
|
if NOTIFIER:
|
||||||
|
NOTIFIER.stop()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,17 +1,16 @@
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
from distutils.spawn import find_executable
|
import os
|
||||||
from glob import glob
|
|
||||||
from os.path import exists
|
from os.path import exists
|
||||||
import fractions
|
import fractions
|
||||||
import logging
|
|
||||||
import math
|
import math
|
||||||
import os
|
|
||||||
import re
|
import re
|
||||||
import shutil
|
import shutil
|
||||||
import subprocess
|
import subprocess
|
||||||
import tempfile
|
import tempfile
|
||||||
import time
|
import time
|
||||||
|
from distutils.spawn import find_executable
|
||||||
|
from glob import glob
|
||||||
|
|
||||||
import numpy as np
|
import numpy as np
|
||||||
import ox
|
import ox
|
||||||
|
@ -22,9 +21,6 @@ from PIL import Image
|
||||||
|
|
||||||
from .chop import Chop, make_keyframe_index
|
from .chop import Chop, make_keyframe_index
|
||||||
|
|
||||||
|
|
||||||
logger = logging.getLogger('pandora.' + __name__)
|
|
||||||
|
|
||||||
img_extension = 'jpg'
|
img_extension = 'jpg'
|
||||||
|
|
||||||
MAX_DISTANCE = math.sqrt(3 * pow(255, 2))
|
MAX_DISTANCE = math.sqrt(3 * pow(255, 2))
|
||||||
|
|
|
@ -832,7 +832,7 @@ class Stream(models.Model):
|
||||||
# get current version from db and update
|
# get current version from db and update
|
||||||
try:
|
try:
|
||||||
self.refresh_from_db()
|
self.refresh_from_db()
|
||||||
except Stream.DoesNotExist:
|
except archive.models.DoesNotExist:
|
||||||
pass
|
pass
|
||||||
else:
|
else:
|
||||||
self.update_status(ok, error)
|
self.update_status(ok, error)
|
||||||
|
|
|
@ -65,7 +65,7 @@ def fill_queue():
|
||||||
def get_celery_worker_status():
|
def get_celery_worker_status():
|
||||||
ERROR_KEY = "ERROR"
|
ERROR_KEY = "ERROR"
|
||||||
try:
|
try:
|
||||||
insp = app.control.inspect()
|
insp = celery.task.control.inspect()
|
||||||
d = insp.stats()
|
d = insp.stats()
|
||||||
if not d:
|
if not d:
|
||||||
d = {ERROR_KEY: 'No running Celery workers were found.'}
|
d = {ERROR_KEY: 'No running Celery workers were found.'}
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
from datetime import datetime
|
|
||||||
import unicodedata
|
import unicodedata
|
||||||
|
|
||||||
from django.db.models import Q, Manager
|
from django.db.models import Q, Manager
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
from datetime import datetime
|
|
||||||
import unicodedata
|
import unicodedata
|
||||||
|
|
||||||
from six import string_types
|
from six import string_types
|
||||||
|
|
|
@ -6,12 +6,11 @@ import os
|
||||||
import re
|
import re
|
||||||
import unicodedata
|
import unicodedata
|
||||||
|
|
||||||
from django.conf import settings
|
|
||||||
from django.contrib.auth import get_user_model
|
|
||||||
from django.db import models, transaction
|
from django.db import models, transaction
|
||||||
from django.db.models import Q, Sum, Max
|
from django.db.models import Q, Sum, Max
|
||||||
|
from django.contrib.auth import get_user_model
|
||||||
from django.db.models.signals import pre_delete
|
from django.db.models.signals import pre_delete
|
||||||
from django.utils import datetime_safe
|
from django.conf import settings
|
||||||
from oxdjango.fields import JSONField
|
from oxdjango.fields import JSONField
|
||||||
|
|
||||||
from PIL import Image
|
from PIL import Image
|
||||||
|
@ -80,7 +79,7 @@ class Document(models.Model, FulltextMixin):
|
||||||
current_values = []
|
current_values = []
|
||||||
for k in settings.CONFIG['documentKeys']:
|
for k in settings.CONFIG['documentKeys']:
|
||||||
if k.get('sortType') == 'person':
|
if k.get('sortType') == 'person':
|
||||||
current_values += self.get_value(k['id'], [])
|
current_values += self.get(k['id'], [])
|
||||||
if not isinstance(current_values, list):
|
if not isinstance(current_values, list):
|
||||||
if not current_values:
|
if not current_values:
|
||||||
current_values = []
|
current_values = []
|
||||||
|
|
|
@ -60,25 +60,6 @@ def _order_query(qs, sort):
|
||||||
qs = qs.distinct()
|
qs = qs.distinct()
|
||||||
return qs
|
return qs
|
||||||
|
|
||||||
def _order_by_group(query):
|
|
||||||
prefix = 'document__sort__'
|
|
||||||
if 'sort' in query:
|
|
||||||
op = '-' if query['sort'][0]['operator'] == '-' else ''
|
|
||||||
if len(query['sort']) == 1 and query['sort'][0]['key'] == 'items':
|
|
||||||
order_by = op + prefix + 'items'
|
|
||||||
if query['group'] == "year":
|
|
||||||
secondary = op + prefix + 'sortvalue'
|
|
||||||
order_by = (order_by, secondary)
|
|
||||||
elif query['group'] != "keyword":
|
|
||||||
order_by = (order_by, prefix + 'sortvalue')
|
|
||||||
else:
|
|
||||||
order_by = (order_by, 'value')
|
|
||||||
else:
|
|
||||||
order_by = op + prefix + 'sortvalue'
|
|
||||||
order_by = (order_by, prefix + 'items')
|
|
||||||
else:
|
|
||||||
order_by = ('-' + prefix + 'sortvalue', prefix + 'items')
|
|
||||||
return order_by
|
|
||||||
|
|
||||||
def findPages(request, data):
|
def findPages(request, data):
|
||||||
'''
|
'''
|
||||||
|
|
|
@ -3,16 +3,14 @@
|
||||||
import os
|
import os
|
||||||
import re
|
import re
|
||||||
|
|
||||||
from oxdjango.api import actions
|
|
||||||
from oxdjango.decorators import login_required_json
|
|
||||||
from oxdjango.http import HttpFileResponse
|
|
||||||
from oxdjango.shortcuts import render_to_json_response, get_object_or_404_json, json_response
|
|
||||||
import ox
|
import ox
|
||||||
|
from oxdjango.decorators import login_required_json
|
||||||
from django.conf import settings
|
from oxdjango.shortcuts import render_to_json_response, get_object_or_404_json, json_response
|
||||||
from django.db import transaction
|
from django.db import transaction
|
||||||
from django.db.models import Max
|
from django.db.models import Max
|
||||||
from django.db.models import Sum
|
from oxdjango.http import HttpFileResponse
|
||||||
|
from oxdjango.api import actions
|
||||||
|
from django.conf import settings
|
||||||
|
|
||||||
from item import utils
|
from item import utils
|
||||||
from changelog.models import add_changelog
|
from changelog.models import add_changelog
|
||||||
|
|
|
@ -1209,7 +1209,7 @@ class Item(models.Model):
|
||||||
if not r:
|
if not r:
|
||||||
return False
|
return False
|
||||||
path = video.name
|
path = video.name
|
||||||
duration = sum(self.item.cache['durations'])
|
duration = sum(item.cache['durations'])
|
||||||
else:
|
else:
|
||||||
path = stream.media.path
|
path = stream.media.path
|
||||||
duration = stream.info['duration']
|
duration = stream.info['duration']
|
||||||
|
|
|
@ -16,13 +16,11 @@ from wsgiref.util import FileWrapper
|
||||||
from django.conf import settings
|
from django.conf import settings
|
||||||
|
|
||||||
from ox.utils import json, ET
|
from ox.utils import json, ET
|
||||||
import ox
|
|
||||||
|
|
||||||
from oxdjango.api import actions
|
|
||||||
from oxdjango.decorators import login_required_json
|
from oxdjango.decorators import login_required_json
|
||||||
from oxdjango.http import HttpFileResponse
|
|
||||||
from oxdjango.shortcuts import render_to_json_response, get_object_or_404_json, json_response
|
from oxdjango.shortcuts import render_to_json_response, get_object_or_404_json, json_response
|
||||||
import oxdjango
|
from oxdjango.http import HttpFileResponse
|
||||||
|
import ox
|
||||||
|
|
||||||
from . import models
|
from . import models
|
||||||
from . import utils
|
from . import utils
|
||||||
|
@ -34,6 +32,7 @@ from clip.models import Clip
|
||||||
from user.models import has_capability
|
from user.models import has_capability
|
||||||
from changelog.models import add_changelog
|
from changelog.models import add_changelog
|
||||||
|
|
||||||
|
from oxdjango.api import actions
|
||||||
|
|
||||||
|
|
||||||
def _order_query(qs, sort, prefix='sort__'):
|
def _order_query(qs, sort, prefix='sort__'):
|
||||||
|
@ -596,7 +595,7 @@ def add(request, data):
|
||||||
if p:
|
if p:
|
||||||
p.wait()
|
p.wait()
|
||||||
else:
|
else:
|
||||||
item.make_poster()
|
i.make_poster()
|
||||||
del data['title']
|
del data['title']
|
||||||
if data:
|
if data:
|
||||||
response = edit_item(request.user, item, data)
|
response = edit_item(request.user, item, data)
|
||||||
|
|
|
@ -11,7 +11,7 @@ keymap = {
|
||||||
default_key = 'name'
|
default_key = 'name'
|
||||||
|
|
||||||
def parseCondition(condition, user):
|
def parseCondition(condition, user):
|
||||||
k = condition.get('key', default_key)
|
k = condition.get('key', defauly_key)
|
||||||
k = keymap.get(k, k)
|
k = keymap.get(k, k)
|
||||||
if not k:
|
if not k:
|
||||||
k = default_key
|
k = default_key
|
||||||
|
|
|
@ -167,7 +167,7 @@ class Task(models.Model):
|
||||||
job = self.get_job()
|
job = self.get_job()
|
||||||
if job:
|
if job:
|
||||||
print(job)
|
print(job)
|
||||||
r = app.control.revoke(job['id'])
|
r = celery.task.control.revoke(job['id'])
|
||||||
print(r)
|
print(r)
|
||||||
for f in self.item.files.filter(encoding=True):
|
for f in self.item.files.filter(encoding=True):
|
||||||
f.delete()
|
f.delete()
|
||||||
|
|
12
pandora/user/urls.py
Normal file
12
pandora/user/urls.py
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
|
from django.conf.urls.defaults import *
|
||||||
|
|
||||||
|
|
||||||
|
urlpatterns = patterns("user.views",
|
||||||
|
(r'^preferences', 'preferences'),
|
||||||
|
(r'^login', 'login'),
|
||||||
|
(r'^logout', 'logout'),
|
||||||
|
(r'^register', 'register'),
|
||||||
|
)
|
||||||
|
|
|
@ -24,7 +24,7 @@ def get_location(ip):
|
||||||
location = g.city(ip)
|
location = g.city(ip)
|
||||||
except:
|
except:
|
||||||
try:
|
try:
|
||||||
location = g.country(ip)
|
location = g.country(s.ip)
|
||||||
except:
|
except:
|
||||||
location = None
|
location = None
|
||||||
if location:
|
if location:
|
||||||
|
|
|
@ -1,11 +1,11 @@
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
|
from celery.execute import send_task
|
||||||
from django.conf import settings
|
from django.conf import settings
|
||||||
from app.celery import app
|
|
||||||
|
|
||||||
|
|
||||||
key = 'websocket'
|
key = 'websocket'
|
||||||
|
|
||||||
def trigger_event(event, data):
|
def trigger_event(event, data):
|
||||||
if settings.WEBSOCKET:
|
if settings.WEBSOCKET:
|
||||||
app.send_task('trigger_event', [event, data], exchange=key, routing_key=key)
|
send_task('trigger_event', [event, data], exchange=key, routing_key=key)
|
||||||
|
|
Loading…
Reference in a new issue