Add Album.normalize_title and _description.
This commit is contained in:
parent
dddd8a3aa1
commit
6ee86431e5
3 changed files with 35 additions and 12 deletions
|
@ -5,6 +5,7 @@ but are returned by the PDB accesses.
|
||||||
|
|
||||||
import os
|
import os
|
||||||
import PIL.Image
|
import PIL.Image
|
||||||
|
import string
|
||||||
import traceback
|
import traceback
|
||||||
|
|
||||||
from . import constants
|
from . import constants
|
||||||
|
@ -232,8 +233,8 @@ class Album(ObjectBase, GroupableMixin):
|
||||||
db_row = dict(zip(constants.SQL_COLUMNS['albums'], db_row))
|
db_row = dict(zip(constants.SQL_COLUMNS['albums'], db_row))
|
||||||
|
|
||||||
self.id = db_row['id']
|
self.id = db_row['id']
|
||||||
self.title = db_row['title'] or ''
|
self.title = self.normalize_title(db_row['title'])
|
||||||
self.description = db_row['description'] or ''
|
self.description = self.normalize_description(db_row['description'])
|
||||||
self.author_id = self.normalize_author_id(db_row['author_id'])
|
self.author_id = self.normalize_author_id(db_row['author_id'])
|
||||||
|
|
||||||
self.name = 'Album %s' % self.id
|
self.name = 'Album %s' % self.id
|
||||||
|
@ -249,6 +250,32 @@ class Album(ObjectBase, GroupableMixin):
|
||||||
def __repr__(self):
|
def __repr__(self):
|
||||||
return 'Album:{id}'.format(id=self.id)
|
return 'Album:{id}'.format(id=self.id)
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def normalize_description(description):
|
||||||
|
if description is None:
|
||||||
|
return ''
|
||||||
|
|
||||||
|
if not isinstance(description, str):
|
||||||
|
raise TypeError('Description must be string, not %s' % type(description))
|
||||||
|
|
||||||
|
description = description.strip()
|
||||||
|
|
||||||
|
return description
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def normalize_title(title):
|
||||||
|
if title is None:
|
||||||
|
return ''
|
||||||
|
|
||||||
|
if not isinstance(title, str):
|
||||||
|
raise TypeError('Title must be string, not %s' % type(title))
|
||||||
|
|
||||||
|
title = title.strip()
|
||||||
|
for whitespace in string.whitespace:
|
||||||
|
title = title.replace(whitespace, ' ')
|
||||||
|
|
||||||
|
return title
|
||||||
|
|
||||||
def _uncache(self):
|
def _uncache(self):
|
||||||
self._uncache_sums()
|
self._uncache_sums()
|
||||||
self.photodb.caches['album'].remove(self.id)
|
self.photodb.caches['album'].remove(self.id)
|
||||||
|
@ -393,10 +420,10 @@ class Album(ObjectBase, GroupableMixin):
|
||||||
return
|
return
|
||||||
|
|
||||||
if title is not None:
|
if title is not None:
|
||||||
self.title = title
|
self.title = self.normalize_title(title)
|
||||||
|
|
||||||
if description is not None:
|
if description is not None:
|
||||||
self.description = description
|
self.description = self.normalize_description(description)
|
||||||
|
|
||||||
data = {
|
data = {
|
||||||
'id': self.id,
|
'id': self.id,
|
||||||
|
|
|
@ -80,14 +80,10 @@ class PDBAlbumMixin:
|
||||||
'''
|
'''
|
||||||
Create a new album. Photos can be added now or later.
|
Create a new album. Photos can be added now or later.
|
||||||
'''
|
'''
|
||||||
album_id = self.generate_id('albums')
|
title = objects.Album.normalize_title(title)
|
||||||
title = title or ''
|
description = objects.Album.normalize_description(description)
|
||||||
description = description or ''
|
|
||||||
if not isinstance(title, str):
|
|
||||||
raise TypeError('Title must be string, not %s' % type(title))
|
|
||||||
|
|
||||||
if not isinstance(description, str):
|
album_id = self.generate_id('albums')
|
||||||
raise TypeError('Description must be string, not %s' % type(description))
|
|
||||||
|
|
||||||
self.log.debug('New Album: %s %s', album_id, title)
|
self.log.debug('New Album: %s %s', album_id, title)
|
||||||
|
|
||||||
|
|
|
@ -55,7 +55,7 @@ p
|
||||||
id="description_text"
|
id="description_text"
|
||||||
data-editor-id="description"
|
data-editor-id="description"
|
||||||
data-editor-placeholder="description"
|
data-editor-placeholder="description"
|
||||||
{% if album.description == "" %}class="hidden"{% endif %}
|
{% if not album.description %}class="hidden"{% endif %}
|
||||||
>
|
>
|
||||||
{{-album.description-}}
|
{{-album.description-}}
|
||||||
</pre>
|
</pre>
|
||||||
|
|
Loading…
Reference in a new issue