forked from 0x2620/pandora
use python_2_unicode_compatible
This commit is contained in:
parent
72fdc8ed4d
commit
f0a4aba751
24 changed files with 130 additions and 53 deletions
pandora
annotation
app
archive
changelog
clip
document
documentcollection
edit
entity
event
home
item
itemlist
log
news
person
place
sequence
taskqueue
text
title
tv
urlalias
user
|
@ -5,6 +5,7 @@ from __future__ import division, print_function, absolute_import
|
|||
import re
|
||||
import unicodedata
|
||||
|
||||
from django.utils.encoding import python_2_unicode_compatible
|
||||
from django.db import models, transaction
|
||||
from django.db.models import Q
|
||||
from django.contrib.auth.models import User
|
||||
|
@ -81,6 +82,7 @@ def get_matches(obj, model, layer_type, qs=None):
|
|||
matches = [-1]
|
||||
return Annotation.objects.filter(id__in=matches)
|
||||
|
||||
@python_2_unicode_compatible
|
||||
class Annotation(models.Model):
|
||||
objects = managers.AnnotationManager()
|
||||
|
||||
|
@ -380,7 +382,7 @@ class Annotation(models.Model):
|
|||
|
||||
return j
|
||||
|
||||
def __unicode__(self):
|
||||
def __str__(self):
|
||||
return u"%s %s-%s" % (self.public_id, self.start, self.end)
|
||||
|
||||
def cleanup_related(sender, **kwargs):
|
||||
|
|
|
@ -5,20 +5,23 @@ from __future__ import division, print_function, absolute_import
|
|||
import json
|
||||
|
||||
from django.db import models
|
||||
from django.utils.encoding import python_2_unicode_compatible
|
||||
|
||||
from . import monkey_patch
|
||||
from . import tasks
|
||||
|
||||
|
||||
@python_2_unicode_compatible
|
||||
class Page(models.Model):
|
||||
created = models.DateTimeField(auto_now_add=True)
|
||||
modified = models.DateTimeField(auto_now=True)
|
||||
name = models.CharField(max_length=1024, unique=True)
|
||||
text = models.TextField(blank=True)
|
||||
|
||||
def __unicode__(self):
|
||||
def __str__(self):
|
||||
return self.name
|
||||
|
||||
@python_2_unicode_compatible
|
||||
class Settings(models.Model):
|
||||
|
||||
created = models.DateTimeField(auto_now_add=True)
|
||||
|
@ -26,7 +29,7 @@ class Settings(models.Model):
|
|||
key = models.CharField(max_length=1024, unique=True)
|
||||
value = models.TextField(blank=True)
|
||||
|
||||
def __unicode__(self):
|
||||
def __str__(self):
|
||||
return self.key
|
||||
|
||||
@classmethod
|
||||
|
|
|
@ -13,6 +13,7 @@ from django.conf import settings
|
|||
from django.contrib.auth.models import User
|
||||
from django.db import models
|
||||
from django.db.models.signals import pre_delete
|
||||
from django.utils.encoding import python_2_unicode_compatible
|
||||
|
||||
from oxdjango import fields
|
||||
import ox
|
||||
|
@ -33,6 +34,7 @@ if not PY2:
|
|||
def data_path(f, x):
|
||||
return f.get_path('data.bin')
|
||||
|
||||
@python_2_unicode_compatible
|
||||
class File(models.Model):
|
||||
AV_INFO = (
|
||||
'duration', 'video', 'audio', 'oshash', 'size',
|
||||
|
@ -103,7 +105,7 @@ class File(models.Model):
|
|||
|
||||
objects = managers.FileManager()
|
||||
|
||||
def __unicode__(self):
|
||||
def __str__(self):
|
||||
return self.path
|
||||
|
||||
def parse_info(self):
|
||||
|
@ -562,6 +564,7 @@ def delete_file(sender, **kwargs):
|
|||
f.delete_files()
|
||||
pre_delete.connect(delete_file, sender=File)
|
||||
|
||||
@python_2_unicode_compatible
|
||||
class Volume(models.Model):
|
||||
|
||||
class Meta:
|
||||
|
@ -573,7 +576,7 @@ class Volume(models.Model):
|
|||
user = models.ForeignKey(User, related_name='volumes')
|
||||
name = models.CharField(max_length=1024)
|
||||
|
||||
def __unicode__(self):
|
||||
def __str__(self):
|
||||
return u"%s's %s" % (self.user, self.name)
|
||||
|
||||
def json(self):
|
||||
|
@ -586,6 +589,7 @@ class Volume(models.Model):
|
|||
def inttime():
|
||||
return int(time.time())
|
||||
|
||||
@python_2_unicode_compatible
|
||||
class Instance(models.Model):
|
||||
|
||||
class Meta:
|
||||
|
@ -604,7 +608,7 @@ class Instance(models.Model):
|
|||
file = models.ForeignKey(File, related_name='instances')
|
||||
volume = models.ForeignKey(Volume, related_name='files')
|
||||
|
||||
def __unicode__(self):
|
||||
def __str__(self):
|
||||
return u"%s's %s <%s>" % (self.volume.user, self.path, self.file.oshash)
|
||||
|
||||
@property
|
||||
|
@ -624,7 +628,7 @@ def frame_path(frame, name):
|
|||
name = "%s%s" % (frame.position, ext)
|
||||
return frame.file.get_path(name)
|
||||
|
||||
|
||||
@python_2_unicode_compatible
|
||||
class Frame(models.Model):
|
||||
|
||||
class Meta:
|
||||
|
@ -643,7 +647,7 @@ class Frame(models.Model):
|
|||
self.height = self.frame.height
|
||||
super(Frame, self).save(*args, **kwargs)
|
||||
|
||||
def __unicode__(self):
|
||||
def __str__(self):
|
||||
return u'%s/%s' % (self.file, self.position)
|
||||
|
||||
def delete_frame(sender, **kwargs):
|
||||
|
@ -655,6 +659,7 @@ pre_delete.connect(delete_frame, sender=Frame)
|
|||
def stream_path(f, x):
|
||||
return f.path(x)
|
||||
|
||||
@python_2_unicode_compatible
|
||||
class Stream(models.Model):
|
||||
|
||||
class Meta:
|
||||
|
@ -686,7 +691,7 @@ class Stream(models.Model):
|
|||
def name(self):
|
||||
return u"%sp.%s" % (self.resolution, self.format)
|
||||
|
||||
def __unicode__(self):
|
||||
def __str__(self):
|
||||
return u"%s/%s" % (self.file, self.name())
|
||||
|
||||
def get(self, resolution, format):
|
||||
|
|
|
@ -6,6 +6,8 @@ from datetime import datetime
|
|||
|
||||
from django.contrib.auth.models import User
|
||||
from django.db import models
|
||||
from django.utils.encoding import python_2_unicode_compatible
|
||||
|
||||
from oxdjango import fields
|
||||
import ox
|
||||
|
||||
|
@ -16,12 +18,13 @@ from . import managers
|
|||
'''
|
||||
FIXME: remove this table more migrate to new ChangeLog
|
||||
'''
|
||||
@python_2_unicode_compatible
|
||||
class Changelog(models.Model):
|
||||
created = models.DateTimeField(auto_now_add=True)
|
||||
type = models.CharField(max_length=255, db_index=True)
|
||||
value = fields.DictField(default={})
|
||||
|
||||
def __unicode__(self):
|
||||
def __str__(self):
|
||||
return u'%s %s' % (self.type, self.created)
|
||||
|
||||
def json(self):
|
||||
|
@ -46,6 +49,7 @@ def add_changelog(request, data, id=None):
|
|||
'user': c.user.username,
|
||||
})
|
||||
|
||||
@python_2_unicode_compatible
|
||||
class Log(models.Model):
|
||||
|
||||
action = models.CharField(max_length=255, db_index=True)
|
||||
|
@ -56,7 +60,7 @@ class Log(models.Model):
|
|||
|
||||
objects = managers.LogManager()
|
||||
|
||||
def __unicode__(self):
|
||||
def __str__(self):
|
||||
return u'%s %s %s' % (self.created, self.action, self.changeid)
|
||||
|
||||
def get_id(self):
|
||||
|
|
|
@ -4,6 +4,7 @@ from __future__ import division, print_function, absolute_import
|
|||
|
||||
from django.db import models
|
||||
from django.conf import settings
|
||||
from django.utils.encoding import python_2_unicode_compatible
|
||||
|
||||
import ox
|
||||
|
||||
|
@ -45,6 +46,7 @@ def get_layers(item, interval=None, user=None):
|
|||
return layers
|
||||
|
||||
|
||||
@python_2_unicode_compatible
|
||||
class MetaClip(object):
|
||||
def update_calculated_values(self):
|
||||
start = self.start
|
||||
|
@ -182,7 +184,7 @@ class MetaClip(object):
|
|||
def public_id(self):
|
||||
return u"%s/%0.03f-%0.03f" % (self.item.public_id, float(self.start), float(self.end))
|
||||
|
||||
def __unicode__(self):
|
||||
def __str__(self):
|
||||
return self.public_id
|
||||
|
||||
class Meta:
|
||||
|
@ -218,7 +220,7 @@ attrs = {
|
|||
for name in [k['id'] for k in settings.CONFIG['layers']]:
|
||||
attrs[name] = models.BooleanField(default=False, db_index=True)
|
||||
|
||||
Clip = type('Clip', (MetaClip,models.Model), attrs)
|
||||
Clip = type('Clip', (MetaClip, models.Model), attrs)
|
||||
|
||||
class ClipRandom(models.Model):
|
||||
id = models.BigIntegerField(primary_key=True)
|
||||
|
|
|
@ -14,6 +14,7 @@ from django.db.models import Q, Sum, Max
|
|||
from django.contrib.auth.models import User, Group
|
||||
from django.db.models.signals import pre_delete
|
||||
from django.conf import settings
|
||||
from django.utils.encoding import python_2_unicode_compatible
|
||||
|
||||
from PIL import Image
|
||||
import ox
|
||||
|
@ -36,6 +37,7 @@ if not PY2:
|
|||
def get_path(f, x):
|
||||
return f.path(x)
|
||||
|
||||
@python_2_unicode_compatible
|
||||
class Document(models.Model):
|
||||
|
||||
created = models.DateTimeField(auto_now_add=True)
|
||||
|
@ -283,7 +285,7 @@ class Document(models.Model):
|
|||
self.update_matches()
|
||||
self.update_linked_documents()
|
||||
|
||||
def __unicode__(self):
|
||||
def __str__(self):
|
||||
return self.get_id()
|
||||
|
||||
def add(self, item):
|
||||
|
@ -659,6 +661,7 @@ class ItemProperties(models.Model):
|
|||
super(ItemProperties, self).save(*args, **kwargs)
|
||||
|
||||
|
||||
@python_2_unicode_compatible
|
||||
class Access(models.Model):
|
||||
class Meta:
|
||||
unique_together = ("document", "user")
|
||||
|
@ -676,11 +679,12 @@ class Access(models.Model):
|
|||
timesaccessed = Access.objects.filter(document=self.document).aggregate(Sum('accessed'))['accessed__sum']
|
||||
Sort.objects.filter(document=self.document).update(timesaccessed=timesaccessed, accessed=self.access)
|
||||
|
||||
def __unicode__(self):
|
||||
def __str__(self):
|
||||
if self.user:
|
||||
return u"%s/%s/%s" % (self.user, self.document, self.access)
|
||||
return u"%s/%s" % (self.item, self.access)
|
||||
|
||||
@python_2_unicode_compatible
|
||||
class Facet(models.Model):
|
||||
'''
|
||||
used for keys that can have multiple values like people, languages etc.
|
||||
|
@ -696,7 +700,7 @@ class Facet(models.Model):
|
|||
value = models.CharField(max_length=1000, db_index=True)
|
||||
sortvalue = models.CharField(max_length=1000, db_index=True)
|
||||
|
||||
def __unicode__(self):
|
||||
def __str__(self):
|
||||
return u"%s=%s" % (self.key, self.value)
|
||||
|
||||
def save(self, *args, **kwargs):
|
||||
|
@ -716,6 +720,7 @@ for key in settings.CONFIG['itemKeys']:
|
|||
if key.get('sortType') == 'person':
|
||||
Document.person_keys.append(key['id'])
|
||||
|
||||
@python_2_unicode_compatible
|
||||
class Find(models.Model):
|
||||
|
||||
class Meta:
|
||||
|
@ -725,7 +730,7 @@ class Find(models.Model):
|
|||
key = models.CharField(max_length=200, db_index=True)
|
||||
value = models.TextField(blank=True, db_index=settings.DB_GIN_TRGM)
|
||||
|
||||
def __unicode__(self):
|
||||
def __str__(self):
|
||||
return u'%s=%s' % (self.key, self.value)
|
||||
|
||||
'''
|
||||
|
|
|
@ -11,6 +11,8 @@ from django.db import models
|
|||
from django.db.models import Max
|
||||
from django.contrib.auth.models import User
|
||||
from django.conf import settings
|
||||
from django.utils.encoding import python_2_unicode_compatible
|
||||
|
||||
import ox
|
||||
|
||||
from oxdjango.fields import DictField, TupleField
|
||||
|
@ -32,6 +34,7 @@ def get_collectionview():
|
|||
def get_collectionsort():
|
||||
return tuple(settings.CONFIG['user']['ui']['collectionSort'])
|
||||
|
||||
@python_2_unicode_compatible
|
||||
class Collection(models.Model):
|
||||
|
||||
class Meta:
|
||||
|
@ -107,7 +110,7 @@ class Collection(models.Model):
|
|||
if documents:
|
||||
CollectionDocument.objects.all().filter(document__id__in=documents, collection=self).delete()
|
||||
|
||||
def __unicode__(self):
|
||||
def __str__(self):
|
||||
return self.get_id()
|
||||
|
||||
def get_id(self):
|
||||
|
@ -306,6 +309,7 @@ class Collection(models.Model):
|
|||
path = source
|
||||
return path
|
||||
|
||||
@python_2_unicode_compatible
|
||||
class CollectionDocument(models.Model):
|
||||
created = models.DateTimeField(auto_now_add=True)
|
||||
modified = models.DateTimeField(auto_now=True)
|
||||
|
@ -313,9 +317,10 @@ class CollectionDocument(models.Model):
|
|||
index = models.IntegerField(default=0)
|
||||
document = models.ForeignKey('document.Document')
|
||||
|
||||
def __unicode__(self):
|
||||
def __str__(self):
|
||||
return u'%s in %s' % (self.document, self.collection)
|
||||
|
||||
@python_2_unicode_compatible
|
||||
class Position(models.Model):
|
||||
|
||||
class Meta:
|
||||
|
@ -326,6 +331,6 @@ class Position(models.Model):
|
|||
section = models.CharField(max_length=255)
|
||||
position = models.IntegerField(default=0)
|
||||
|
||||
def __unicode__(self):
|
||||
def __str__(self):
|
||||
return u'%s/%s/%s' % (self.section, self.position, self.collection)
|
||||
|
||||
|
|
|
@ -16,6 +16,7 @@ from django.conf import settings
|
|||
from django.db import models, transaction
|
||||
from django.db.models import Max
|
||||
from django.contrib.auth.models import User
|
||||
from django.utils.encoding import python_2_unicode_compatible
|
||||
|
||||
from annotation.models import Annotation
|
||||
from item.models import Item
|
||||
|
@ -29,6 +30,7 @@ from . import managers
|
|||
def get_path(f, x): return f.path(x)
|
||||
def get_icon_path(f, x): return get_path(f, 'icon.jpg')
|
||||
|
||||
@python_2_unicode_compatible
|
||||
class Edit(models.Model):
|
||||
|
||||
class Meta:
|
||||
|
@ -54,7 +56,7 @@ class Edit(models.Model):
|
|||
poster_frames = TupleField(default=[], editable=False)
|
||||
subscribed_users = models.ManyToManyField(User, related_name='subscribed_edits')
|
||||
|
||||
def __unicode__(self):
|
||||
def __str__(self):
|
||||
return u'%s (%s)' % (self.name, self.user)
|
||||
|
||||
@classmethod
|
||||
|
@ -413,6 +415,7 @@ class Edit(models.Model):
|
|||
#p.wait()
|
||||
shutil.rmtree(tmp)
|
||||
|
||||
@python_2_unicode_compatible
|
||||
class Clip(models.Model):
|
||||
created = models.DateTimeField(auto_now_add=True)
|
||||
modified = models.DateTimeField(auto_now=True)
|
||||
|
@ -433,7 +436,7 @@ class Clip(models.Model):
|
|||
|
||||
objects = managers.ClipManager()
|
||||
|
||||
def __unicode__(self):
|
||||
def __str__(self):
|
||||
if self.annotation:
|
||||
return u'%s' % self.annotation.public_id
|
||||
return u'%s/%0.3f-%0.3f' % (self.item.public_id, self.start, self.end)
|
||||
|
@ -521,6 +524,7 @@ class Clip(models.Model):
|
|||
|
||||
return clip.models.get_layers(item=item, interval=(start, end), user=user)
|
||||
|
||||
@python_2_unicode_compatible
|
||||
class Position(models.Model):
|
||||
|
||||
class Meta:
|
||||
|
@ -531,6 +535,6 @@ class Position(models.Model):
|
|||
section = models.CharField(max_length=255)
|
||||
position = models.IntegerField(default=0)
|
||||
|
||||
def __unicode__(self):
|
||||
def __str__(self):
|
||||
return u'%s/%s/%s' % (self.section, self.position, self.edit)
|
||||
|
||||
|
|
|
@ -14,6 +14,7 @@ from django.db.models import Max
|
|||
from django.contrib.auth.models import User
|
||||
from django.db.models.signals import pre_delete, post_init
|
||||
from django.conf import settings
|
||||
from django.utils.encoding import python_2_unicode_compatible
|
||||
|
||||
import ox
|
||||
from oxdjango import fields
|
||||
|
@ -25,6 +26,7 @@ from document.models import Document
|
|||
from . import managers
|
||||
|
||||
|
||||
@python_2_unicode_compatible
|
||||
class Entity(models.Model):
|
||||
|
||||
class Meta:
|
||||
|
@ -64,7 +66,7 @@ class Entity(models.Model):
|
|||
self.update_annotations()
|
||||
self.update_find()
|
||||
|
||||
def __unicode__(self):
|
||||
def __str__(self):
|
||||
return self.get_id()
|
||||
|
||||
@classmethod
|
||||
|
@ -253,6 +255,7 @@ post_init.connect(
|
|||
)
|
||||
|
||||
|
||||
@python_2_unicode_compatible
|
||||
class DocumentProperties(models.Model):
|
||||
|
||||
class Meta:
|
||||
|
@ -266,13 +269,14 @@ class DocumentProperties(models.Model):
|
|||
index = models.IntegerField(default=0)
|
||||
data = fields.DictField(default={})
|
||||
|
||||
def __unicode__(self):
|
||||
def __str__(self):
|
||||
return u"%r-%r" % (self.document, self.entity)
|
||||
|
||||
def save(self, *args, **kwargs):
|
||||
|
||||
super(DocumentProperties, self).save(*args, **kwargs)
|
||||
|
||||
@python_2_unicode_compatible
|
||||
class Find(models.Model):
|
||||
|
||||
class Meta:
|
||||
|
@ -282,5 +286,5 @@ class Find(models.Model):
|
|||
key = models.CharField(max_length=200, db_index=True)
|
||||
value = models.TextField(blank=True, db_index=settings.DB_GIN_TRGM)
|
||||
|
||||
def __unicode__(self):
|
||||
def __str__(self):
|
||||
return u"%s=%s" % (self.key, self.value)
|
||||
|
|
|
@ -4,6 +4,8 @@ from __future__ import division, print_function, absolute_import
|
|||
|
||||
from django.db import models, transaction
|
||||
from django.contrib.auth.models import User
|
||||
from django.utils.encoding import python_2_unicode_compatible
|
||||
|
||||
import ox
|
||||
from oxdjango import fields
|
||||
|
||||
|
@ -16,6 +18,7 @@ from title.models import get_title_sort
|
|||
from . import managers
|
||||
|
||||
|
||||
@python_2_unicode_compatible
|
||||
class Event(models.Model):
|
||||
'''
|
||||
Events are events in time that can be once or recurring,
|
||||
|
@ -57,7 +60,7 @@ class Event(models.Model):
|
|||
items = models.ManyToManyField(Item, blank=True, related_name='events')
|
||||
annotations = models.ManyToManyField(Annotation, blank=True, related_name='events')
|
||||
|
||||
def __unicode__(self):
|
||||
def __str__(self):
|
||||
return self.name
|
||||
|
||||
@classmethod
|
||||
|
|
|
@ -8,6 +8,8 @@ from six.moves.urllib.parse import quote
|
|||
from django.db import models
|
||||
from django.db.models import Max
|
||||
from django.db.models.signals import pre_delete
|
||||
from django.utils.encoding import python_2_unicode_compatible
|
||||
|
||||
import ox
|
||||
|
||||
from oxdjango import fields
|
||||
|
@ -16,6 +18,7 @@ from edit.models import Edit
|
|||
from documentcollection.models import Collection
|
||||
|
||||
|
||||
@python_2_unicode_compatible
|
||||
class Item(models.Model):
|
||||
created = models.DateTimeField(auto_now_add=True)
|
||||
modified = models.DateTimeField(auto_now=True)
|
||||
|
@ -150,7 +153,7 @@ class Item(models.Model):
|
|||
del j[key]
|
||||
return j
|
||||
|
||||
def __unicode__(self):
|
||||
def __str__(self):
|
||||
return u"%s" % (self.get_id())
|
||||
|
||||
def delete_item(type, contentid):
|
||||
|
|
|
@ -21,6 +21,7 @@ from django.conf import settings
|
|||
from django.contrib.auth.models import User, Group
|
||||
from django.db.models.signals import pre_delete
|
||||
from django.utils import datetime_safe
|
||||
from django.utils.encoding import python_2_unicode_compatible
|
||||
|
||||
import ox
|
||||
from oxdjango import fields
|
||||
|
@ -158,6 +159,7 @@ def get_poster_path(f, x):
|
|||
def get_torrent_path(f, x):
|
||||
return get_path(f, 'torrent.torrent')
|
||||
|
||||
@python_2_unicode_compatible
|
||||
class Item(models.Model):
|
||||
created = models.DateTimeField(auto_now_add=True)
|
||||
modified = models.DateTimeField(auto_now=True)
|
||||
|
@ -337,7 +339,7 @@ class Item(models.Model):
|
|||
del c[t]
|
||||
return c
|
||||
|
||||
def __unicode__(self):
|
||||
def __str__(self):
|
||||
year = self.get('year')
|
||||
if year:
|
||||
string = u'%s (%s)' % (ox.decode_html(self.get('title', 'Untitled')), self.get('year'))
|
||||
|
@ -1708,6 +1710,7 @@ for key in settings.CONFIG['itemKeys']:
|
|||
if key.get('sortType') == 'person':
|
||||
Item.person_keys.append(key['id'])
|
||||
|
||||
@python_2_unicode_compatible
|
||||
class ItemFind(models.Model):
|
||||
"""
|
||||
used to find items,
|
||||
|
@ -1722,7 +1725,7 @@ class ItemFind(models.Model):
|
|||
key = models.CharField(max_length=200, db_index=True)
|
||||
value = models.TextField(blank=True, db_index=settings.DB_GIN_TRGM)
|
||||
|
||||
def __unicode__(self):
|
||||
def __str__(self):
|
||||
return u"%s=%s" % (self.key, self.value)
|
||||
'''
|
||||
ItemSort
|
||||
|
@ -1749,6 +1752,7 @@ for key in list(filter(lambda k: k.get('sort', False) or k['type'] in ('integer'
|
|||
ItemSort = type('ItemSort', (models.Model,), attrs)
|
||||
ItemSort.fields = [f.name for f in ItemSort._meta.fields]
|
||||
|
||||
@python_2_unicode_compatible
|
||||
class Access(models.Model):
|
||||
class Meta:
|
||||
unique_together = ("item", "user")
|
||||
|
@ -1766,11 +1770,12 @@ class Access(models.Model):
|
|||
timesaccessed = Access.objects.filter(item=self.item).aggregate(Sum('accessed'))['accessed__sum']
|
||||
ItemSort.objects.filter(item=self.item).update(timesaccessed=timesaccessed, accessed=self.access)
|
||||
|
||||
def __unicode__(self):
|
||||
def __str__(self):
|
||||
if self.user:
|
||||
return u"%s/%s/%s" % (self.user, self.item, self.access)
|
||||
return u"%s/%s" % (self.item, self.access)
|
||||
|
||||
@python_2_unicode_compatible
|
||||
class Facet(models.Model):
|
||||
'''
|
||||
used for keys that can have multiple values like people, languages etc.
|
||||
|
@ -1786,7 +1791,7 @@ class Facet(models.Model):
|
|||
value = models.CharField(max_length=1000, db_index=True)
|
||||
sortvalue = models.CharField(max_length=1000, db_index=True)
|
||||
|
||||
def __unicode__(self):
|
||||
def __str__(self):
|
||||
return u"%s=%s" % (self.key, self.value)
|
||||
|
||||
def save(self, *args, **kwargs):
|
||||
|
|
|
@ -11,6 +11,7 @@ from django.db import models
|
|||
from django.db.models import Max
|
||||
from django.contrib.auth.models import User
|
||||
from django.conf import settings
|
||||
from django.utils.encoding import python_2_unicode_compatible
|
||||
import ox
|
||||
|
||||
from oxdjango.fields import DictField, TupleField
|
||||
|
@ -25,6 +26,7 @@ def get_icon_path(f, x): return get_path(f, 'icon.jpg')
|
|||
def get_listview(): return settings.CONFIG['user']['ui']['listView']
|
||||
def get_listsort(): return tuple(settings.CONFIG['user']['ui']['listSort'])
|
||||
|
||||
@python_2_unicode_compatible
|
||||
class List(models.Model):
|
||||
|
||||
class Meta:
|
||||
|
@ -101,7 +103,7 @@ class List(models.Model):
|
|||
if items:
|
||||
ListItem.objects.all().filter(item__public_id__in=items, list=self).delete()
|
||||
|
||||
def __unicode__(self):
|
||||
def __str__(self):
|
||||
return self.get_id()
|
||||
|
||||
def get_id(self):
|
||||
|
@ -287,6 +289,7 @@ class List(models.Model):
|
|||
path = source
|
||||
return path
|
||||
|
||||
@python_2_unicode_compatible
|
||||
class ListItem(models.Model):
|
||||
created = models.DateTimeField(auto_now_add=True)
|
||||
modified = models.DateTimeField(auto_now=True)
|
||||
|
@ -294,10 +297,11 @@ class ListItem(models.Model):
|
|||
index = models.IntegerField(default=0)
|
||||
item = models.ForeignKey('item.Item')
|
||||
|
||||
def __unicode__(self):
|
||||
def __str__(self):
|
||||
return u'%s in %s' % (self.item, self.list)
|
||||
|
||||
|
||||
@python_2_unicode_compatible
|
||||
class Position(models.Model):
|
||||
|
||||
class Meta:
|
||||
|
@ -308,6 +312,6 @@ class Position(models.Model):
|
|||
section = models.CharField(max_length=255)
|
||||
position = models.IntegerField(default=0)
|
||||
|
||||
def __unicode__(self):
|
||||
def __str__(self):
|
||||
return u'%s/%s/%s' % (self.section, self.position, self.list)
|
||||
|
||||
|
|
|
@ -4,10 +4,12 @@ from __future__ import division, print_function, absolute_import
|
|||
|
||||
from django.db import models
|
||||
from django.contrib.auth.models import User
|
||||
from django.utils.encoding import python_2_unicode_compatible
|
||||
import ox
|
||||
|
||||
from . import managers
|
||||
|
||||
@python_2_unicode_compatible
|
||||
class Log(models.Model):
|
||||
created = models.DateTimeField(auto_now_add=True, db_index=True)
|
||||
modified = models.DateTimeField(auto_now=True)
|
||||
|
@ -18,7 +20,7 @@ class Log(models.Model):
|
|||
|
||||
objects = managers.LogManager()
|
||||
|
||||
def __unicode__(self):
|
||||
def __str__(self):
|
||||
return u"%s" % self.id
|
||||
|
||||
def json(self, keys=None):
|
||||
|
|
|
@ -3,11 +3,13 @@
|
|||
from __future__ import division, print_function, absolute_import
|
||||
|
||||
from django.db import models
|
||||
from django.utils.encoding import python_2_unicode_compatible
|
||||
import ox
|
||||
|
||||
from . import managers
|
||||
|
||||
|
||||
@python_2_unicode_compatible
|
||||
class News(models.Model):
|
||||
objects = managers.NewsManager()
|
||||
|
||||
|
@ -40,6 +42,6 @@ class News(models.Model):
|
|||
del j[key]
|
||||
return j
|
||||
|
||||
def __unicode__(self):
|
||||
return u"%s/%s" %(self.date, self.title)
|
||||
def __str__(self):
|
||||
return u"%s/%s" % (self.date, self.title)
|
||||
|
||||
|
|
|
@ -5,6 +5,7 @@ from __future__ import division, print_function, absolute_import
|
|||
import unicodedata
|
||||
|
||||
from django.db import models
|
||||
from django.utils.encoding import python_2_unicode_compatible
|
||||
|
||||
from oxdjango import fields
|
||||
import ox
|
||||
|
@ -27,6 +28,7 @@ def get_name_sort(name, sortname=None):
|
|||
sortname = u''
|
||||
return sortname
|
||||
|
||||
@python_2_unicode_compatible
|
||||
class Person(models.Model):
|
||||
name = models.CharField(max_length=200, unique=True)
|
||||
sortname = models.CharField(max_length=200)
|
||||
|
@ -42,7 +44,7 @@ class Person(models.Model):
|
|||
|
||||
objects = managers.PersonManager()
|
||||
|
||||
def __unicode__(self):
|
||||
def __str__(self):
|
||||
return self.name
|
||||
|
||||
def save(self, *args, **kwargs):
|
||||
|
|
|
@ -4,6 +4,7 @@ from __future__ import division, print_function, absolute_import
|
|||
|
||||
from django.db import models, transaction
|
||||
from django.contrib.auth.models import User
|
||||
from django.utils.encoding import python_2_unicode_compatible
|
||||
import ox
|
||||
from oxdjango import fields
|
||||
|
||||
|
@ -13,6 +14,7 @@ from item.models import Item
|
|||
from . import managers
|
||||
|
||||
|
||||
@python_2_unicode_compatible
|
||||
class Place(models.Model):
|
||||
'''
|
||||
Places are named locations, they should have geographical information attached to them.
|
||||
|
@ -52,7 +54,7 @@ class Place(models.Model):
|
|||
class Meta:
|
||||
ordering = ('name_sort', )
|
||||
|
||||
def __unicode__(self):
|
||||
def __str__(self):
|
||||
return self.name
|
||||
|
||||
@classmethod
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
from __future__ import division, print_function, absolute_import
|
||||
|
||||
from django.db import models
|
||||
from django.utils.encoding import python_2_unicode_compatible
|
||||
|
||||
from item.models import ItemSort
|
||||
|
||||
|
@ -15,6 +16,7 @@ def parse_hash(value):
|
|||
def format_hash(value):
|
||||
return hex(value + 9223372036854775808)[2:-1].upper()
|
||||
|
||||
@python_2_unicode_compatible
|
||||
class Sequence(models.Model):
|
||||
class Meta:
|
||||
unique_together = ("sort", "start", "end", "mode")
|
||||
|
@ -41,7 +43,7 @@ class Sequence(models.Model):
|
|||
def public_id(self):
|
||||
return u"%s/%0.03f-%0.03f" % (self.sort.item.public_id, float(self.start), float(self.end))
|
||||
|
||||
def __unicode__(self):
|
||||
def __str__(self):
|
||||
return self.public_id
|
||||
|
||||
def json(self, keys=None, user=None):
|
||||
|
|
|
@ -11,6 +11,7 @@ from django.contrib.auth.models import User
|
|||
from django.conf import settings
|
||||
from django.db import models
|
||||
from django.db.models import Q
|
||||
from django.utils.encoding import python_2_unicode_compatible
|
||||
import celery.task.control
|
||||
import kombu.five
|
||||
import ox
|
||||
|
@ -40,6 +41,7 @@ def get_tasks(username):
|
|||
tasks.append(task.json())
|
||||
return tasks
|
||||
|
||||
@python_2_unicode_compatible
|
||||
class Task(models.Model):
|
||||
DONE = ['finished', 'failed', 'canceled']
|
||||
|
||||
|
@ -53,7 +55,7 @@ class Task(models.Model):
|
|||
item = models.ForeignKey("item.Item", related_name='tasks')
|
||||
user = models.ForeignKey(User, related_name='tasks', null=True)
|
||||
|
||||
def __unicode__(self):
|
||||
def __str__(self):
|
||||
return "%s [%s]" % (self.item.public_id, self.status)
|
||||
|
||||
@property
|
||||
|
|
|
@ -13,6 +13,7 @@ from django.db.models import Max
|
|||
from django.contrib.auth.models import User
|
||||
from django.conf import settings
|
||||
from django.db.models.signals import pre_delete
|
||||
from django.utils.encoding import python_2_unicode_compatible
|
||||
import ox
|
||||
from oxdjango.fields import TupleField
|
||||
|
||||
|
@ -25,6 +26,7 @@ from . import managers
|
|||
def get_path(i, x): return i.path(x)
|
||||
def get_icon_path(i, x): return get_path(i, 'icon.jpg')
|
||||
|
||||
@python_2_unicode_compatible
|
||||
class Text(models.Model):
|
||||
|
||||
class Meta:
|
||||
|
@ -55,7 +57,7 @@ class Text(models.Model):
|
|||
self.rightslevel = min(self.rightslevel, len(settings.CONFIG['textRightsLevels']) - 1)
|
||||
super(Text, self).save(*args, **kwargs)
|
||||
|
||||
def __unicode__(self):
|
||||
def __str__(self):
|
||||
return self.get_id()
|
||||
|
||||
@classmethod
|
||||
|
@ -302,6 +304,7 @@ def delete_file(sender, **kwargs):
|
|||
t.file.delete(save=False)
|
||||
pre_delete.connect(delete_file, sender=Text)
|
||||
|
||||
@python_2_unicode_compatible
|
||||
class Position(models.Model):
|
||||
|
||||
class Meta:
|
||||
|
@ -312,6 +315,6 @@ class Position(models.Model):
|
|||
section = models.CharField(max_length=255)
|
||||
position = models.IntegerField(default=0)
|
||||
|
||||
def __unicode__(self):
|
||||
def __str__(self):
|
||||
return u'%s/%s/%s' % (self.section, self.position, self.text)
|
||||
|
||||
|
|
|
@ -5,6 +5,7 @@ from __future__ import division, print_function, absolute_import
|
|||
import unicodedata
|
||||
|
||||
from django.db import models
|
||||
from django.utils.encoding import python_2_unicode_compatible
|
||||
|
||||
import ox
|
||||
|
||||
|
@ -25,6 +26,7 @@ def get_title_sort(title):
|
|||
sorttitle = u''
|
||||
return sorttitle
|
||||
|
||||
@python_2_unicode_compatible
|
||||
class Title(models.Model):
|
||||
title = models.CharField(max_length=1000, unique=True)
|
||||
sorttitle = models.CharField(max_length=1000)
|
||||
|
@ -35,7 +37,7 @@ class Title(models.Model):
|
|||
|
||||
objects = managers.TitleManager()
|
||||
|
||||
def __unicode__(self):
|
||||
def __str__(self):
|
||||
return self.title
|
||||
|
||||
def save(self, *args, **kwargs):
|
||||
|
|
|
@ -8,10 +8,12 @@ from random import randint
|
|||
from django.db import models
|
||||
from django.db.models import Max
|
||||
from django.conf import settings
|
||||
from django.utils.encoding import python_2_unicode_compatible
|
||||
|
||||
from item.models import Item
|
||||
|
||||
|
||||
@python_2_unicode_compatible
|
||||
class Channel(models.Model):
|
||||
created = models.DateTimeField(auto_now_add=True)
|
||||
modified = models.DateTimeField(auto_now=True)
|
||||
|
@ -20,7 +22,7 @@ class Channel(models.Model):
|
|||
list = models.OneToOneField('itemlist.List', related_name='channel', null=True, blank=True)
|
||||
#list = models.ForeignKey('itemlist.List', related_name='channel', null=True, unique=True, blank=True)
|
||||
|
||||
def __unicode__(self):
|
||||
def __str__(self):
|
||||
return u"%s %s" % (self.list or 'All', self.run)
|
||||
|
||||
def update_program(self, now=None):
|
||||
|
@ -72,6 +74,7 @@ class Channel(models.Model):
|
|||
else:
|
||||
return program.json(user, now)
|
||||
|
||||
@python_2_unicode_compatible
|
||||
class Program(models.Model):
|
||||
created = models.DateTimeField(auto_now_add=True)
|
||||
modified = models.DateTimeField(auto_now=True)
|
||||
|
@ -81,7 +84,7 @@ class Program(models.Model):
|
|||
item = models.ForeignKey('item.Item', related_name='program')
|
||||
channel = models.ForeignKey(Channel, related_name='program')
|
||||
|
||||
def __unicode__(self):
|
||||
def __str__(self):
|
||||
return u"%s %s" % (self.item, self.start)
|
||||
|
||||
def json(self, user, current=False):
|
||||
|
|
|
@ -1,32 +1,37 @@
|
|||
from django.db import models
|
||||
from django.utils.encoding import python_2_unicode_compatible
|
||||
|
||||
|
||||
@python_2_unicode_compatible
|
||||
class IDAlias(models.Model):
|
||||
old = models.CharField(max_length=255, unique=True)
|
||||
new = models.CharField(max_length=255)
|
||||
|
||||
def __unicode__(self):
|
||||
def __str__(self):
|
||||
return u"%s=%s" % (self.old, self.new)
|
||||
|
||||
@python_2_unicode_compatible
|
||||
class LayerAlias(models.Model):
|
||||
old = models.CharField(max_length=255, unique=True)
|
||||
new = models.CharField(max_length=255)
|
||||
|
||||
def __unicode__(self):
|
||||
def __str__(self):
|
||||
return u"%s=%s" % (self.old, self.new)
|
||||
|
||||
@python_2_unicode_compatible
|
||||
class ListAlias(models.Model):
|
||||
|
||||
old = models.CharField(max_length=255, unique=True)
|
||||
new = models.CharField(max_length=255)
|
||||
|
||||
def __unicode__(self):
|
||||
def __str__(self):
|
||||
return u"%s=%s" % (self.old, self.new)
|
||||
|
||||
@python_2_unicode_compatible
|
||||
class Alias(models.Model):
|
||||
url = models.CharField(max_length=255, unique=True)
|
||||
target = models.CharField(max_length=255)
|
||||
|
||||
def __unicode__(self):
|
||||
def __str__(self):
|
||||
return u"%s=%s" % (self.url, self.target)
|
||||
|
||||
|
|
|
@ -10,6 +10,7 @@ from django.db import models
|
|||
from django.db.models import Max
|
||||
from django.conf import settings
|
||||
from django.contrib.gis.geoip2 import GeoIP2
|
||||
from django.utils.encoding import python_2_unicode_compatible
|
||||
|
||||
import ox
|
||||
from oxdjango.fields import DictField
|
||||
|
@ -24,6 +25,7 @@ from . import managers
|
|||
from . import tasks
|
||||
|
||||
|
||||
@python_2_unicode_compatible
|
||||
class SessionData(models.Model):
|
||||
session_key = models.CharField(max_length=40, primary_key=True)
|
||||
user = models.OneToOneField(User, null=True, blank=True, related_name='data')
|
||||
|
@ -51,7 +53,7 @@ class SessionData(models.Model):
|
|||
|
||||
groupssort = models.CharField(default=None, blank=True, null=True, max_length=255)
|
||||
|
||||
def __unicode__(self):
|
||||
def __str__(self):
|
||||
return u"%s" % self.session_key
|
||||
|
||||
def parse_useragent(self):
|
||||
|
@ -184,6 +186,7 @@ class SessionData(models.Model):
|
|||
del j[key]
|
||||
return j
|
||||
|
||||
@python_2_unicode_compatible
|
||||
class UserProfile(models.Model):
|
||||
reset_code = models.CharField(max_length=255, blank=True, null=True, unique=True)
|
||||
user = models.OneToOneField(User, related_name='profile')
|
||||
|
@ -196,7 +199,7 @@ class UserProfile(models.Model):
|
|||
|
||||
notes = models.TextField(default='')
|
||||
|
||||
def __unicode__(self):
|
||||
def __str__(self):
|
||||
return self.user.username
|
||||
|
||||
def get_ui(self):
|
||||
|
|
Loading…
Add table
Reference in a new issue