Use voussoirkit.stringtools for comma_space_split.

master
voussoir 2020-11-15 22:18:40 -08:00
parent 98b6d93094
commit 469103e0ac
5 changed files with 19 additions and 25 deletions

View File

@ -149,17 +149,6 @@ def checkerboard_image(color_1, color_2, image_size, checker_size):
offset = not offset
return image
def comma_space_split(s):
'''
Split the string apart by commas and spaces, discarding all extra
whitespace and blank phrases.
'a b, c,,d' -> ['a', 'b', 'c', 'd']
'''
if s is None:
return s
return re.split(r'[ ,]+', s.strip())
def decollide_names(things, namer):
'''
When generating zip files, or otherwise exporting photos to disk, it is

View File

@ -11,6 +11,7 @@ from . import objects
from voussoirkit import expressionmatch
from voussoirkit import pathclass
from voussoirkit import sqlhelpers
from voussoirkit import stringtools
def expand_mmf(tag_musts, tag_mays, tag_forbids):
'''
@ -131,7 +132,7 @@ def normalize_author(authors, photodb, warning_bag=None):
authors = []
if isinstance(authors, str):
authors = helpers.comma_space_split(authors)
authors = stringtools.comma_space_split(authors)
users = set()
for requested_author in authors:
@ -165,7 +166,7 @@ def normalize_extension(extensions):
extensions = set()
elif isinstance(extensions, str):
extensions = helpers.comma_space_split(extensions)
extensions = stringtools.comma_space_split(extensions)
extensions = [e.lower().strip('.').strip() for e in extensions]
extensions = set(e for e in extensions if e)
@ -468,7 +469,7 @@ def normalize_tagset(photodb, tags, warning_bag=None):
return None
if isinstance(tags, str):
tags = helpers.comma_space_split(tags)
tags = stringtools.comma_space_split(tags)
tagset = set()
for tag in tags:

View File

@ -3,6 +3,7 @@ import sys
from voussoirkit import getpermission
from voussoirkit import pathclass
from voussoirkit import stringtools
from voussoirkit import vlogging
import etiquette
@ -376,8 +377,8 @@ def main(argv):
photo_search_args = p_search.parse_args(photo_search_args) if photo_search_args else None
album_search_args = p_search.parse_args(album_search_args) if album_search_args else None
photo_id_args = [id for arg in photo_id_args for id in etiquette.helpers.comma_space_split(arg)]
album_id_args = [id for arg in album_id_args for id in etiquette.helpers.comma_space_split(arg)]
photo_id_args = [id for arg in photo_id_args for id in stringtools.comma_space_split(arg)]
album_id_args = [id for arg in album_id_args for id in stringtools.comma_space_split(arg)]
args.photo_search_args = photo_search_args
args.album_search_args = album_search_args

View File

@ -2,6 +2,8 @@ import flask; from flask import request
import time
import urllib.parse
from voussoirkit import stringtools
import etiquette
from .. import caching
@ -59,7 +61,7 @@ def get_album_zip(album_id):
def post_album_add_child(album_id):
album = common.P_album(album_id, response_type='json')
child_ids = etiquette.helpers.comma_space_split(request.form['child_id'])
child_ids = stringtools.comma_space_split(request.form['child_id'])
children = list(common.P_albums(child_ids, response_type='json'))
print(children)
album.add_children(children, commit=True)
@ -71,7 +73,7 @@ def post_album_add_child(album_id):
def post_album_remove_child(album_id):
album = common.P_album(album_id, response_type='json')
child_ids = etiquette.helpers.comma_space_split(request.form['child_id'])
child_ids = stringtools.comma_space_split(request.form['child_id'])
children = list(common.P_albums(child_ids, response_type='json'))
album.remove_children(children, commit=True)
response = etiquette.jsonify.album(album)
@ -96,7 +98,7 @@ def post_album_add_photo(album_id):
'''
album = common.P_album(album_id, response_type='json')
photo_ids = etiquette.helpers.comma_space_split(request.form['photo_id'])
photo_ids = stringtools.comma_space_split(request.form['photo_id'])
photos = list(common.P_photos(photo_ids, response_type='json'))
album.add_photos(photos, commit=True)
response = etiquette.jsonify.album(album)
@ -110,7 +112,7 @@ def post_album_remove_photo(album_id):
'''
album = common.P_album(album_id, response_type='json')
photo_ids = etiquette.helpers.comma_space_split(request.form['photo_id'])
photo_ids = stringtools.comma_space_split(request.form['photo_id'])
photos = list(common.P_photos(photo_ids, response_type='json'))
album.remove_photos(photos, commit=True)
response = etiquette.jsonify.album(album)

View File

@ -3,6 +3,7 @@ import traceback
import urllib.parse
from voussoirkit import cacheclass
from voussoirkit import stringtools
import etiquette
@ -80,7 +81,7 @@ def post_photo_delete(photo_id):
def post_photo_add_remove_tag_core(photo_ids, tagname, add_or_remove):
if isinstance(photo_ids, str):
photo_ids = etiquette.helpers.comma_space_split(photo_ids)
photo_ids = stringtools.comma_space_split(photo_ids)
photos = list(common.P_photos(photo_ids, response_type='json'))
tag = common.P_tag(tagname, response_type='json')
@ -156,7 +157,7 @@ def post_photo_generate_thumbnail(photo_id):
def post_photo_refresh_metadata_core(photo_ids):
if isinstance(photo_ids, str):
photo_ids = etiquette.helpers.comma_space_split(photo_ids)
photo_ids = stringtools.comma_space_split(photo_ids)
photos = list(common.P_photos(photo_ids, response_type='json'))
@ -199,7 +200,7 @@ def post_photo_unset_searchhidden(photo_id):
def post_batch_photos_searchhidden_core(photo_ids, searchhidden):
if isinstance(photo_ids, str):
photo_ids = etiquette.helpers.comma_space_split(photo_ids)
photo_ids = stringtools.comma_space_split(photo_ids)
photos = list(common.P_photos(photo_ids, response_type='json'))
@ -235,7 +236,7 @@ def get_clipboard_page():
def post_batch_photos_photo_cards():
photo_ids = request.form['photo_ids']
photo_ids = etiquette.helpers.comma_space_split(photo_ids)
photo_ids = stringtools.comma_space_split(photo_ids)
photos = list(common.P_photos(photo_ids, response_type='json'))
# Photo filenames are prevented from having colons, so using it as a split
@ -294,7 +295,7 @@ def post_batch_photos_download_zip():
that they want, and then they can retrieve the zip itself via GET.
'''
photo_ids = request.form['photo_ids']
photo_ids = etiquette.helpers.comma_space_split(photo_ids)
photo_ids = stringtools.comma_space_split(photo_ids)
photos = list(common.P_photos(photo_ids, response_type='json'))
if not photos: