Move truthystring to stringtools.
This commit is contained in:
		
							parent
							
								
									fc8bcb9502
								
							
						
					
					
						commit
						0c51201901
					
				
					 6 changed files with 19 additions and 47 deletions
				
			
		|  | @ -226,9 +226,6 @@ You can\'t order "{column}" by "{direction}". Defaulting to descending. | ||||||
| # Janitorial stuff ################################################################################# | # Janitorial stuff ################################################################################# | ||||||
| 
 | 
 | ||||||
| FILENAME_BADCHARS = '\\/:*?<>|"' | FILENAME_BADCHARS = '\\/:*?<>|"' | ||||||
| TRUTHYSTRING_TRUE = {s.lower() for s in ('1', 'true', 't', 'yes', 'y', 'on')} |  | ||||||
| TRUTHYSTRING_FALSE = {s.lower() for s in ('0', 'false', 'f', 'no', 'n', 'off')} |  | ||||||
| TRUTHYSTRING_NONE = {s.lower() for s in ('null', 'none')} |  | ||||||
| 
 | 
 | ||||||
| USER_ID_CHARACTERS = string.digits + string.ascii_uppercase | USER_ID_CHARACTERS = string.digits + string.ascii_uppercase | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -459,32 +459,6 @@ def split_easybake_string(ebstring) -> tuple[str, str, str]: | ||||||
|     tagname = tagname.strip('.') |     tagname = tagname.strip('.') | ||||||
|     return (tagname, synonym, rename_to) |     return (tagname, synonym, rename_to) | ||||||
| 
 | 
 | ||||||
| def truthystring(s, fallback=False) -> typing.Union[bool, None]: |  | ||||||
|     ''' |  | ||||||
|     If s is already a boolean, int, or None, return a boolean or None. |  | ||||||
|     If s is a string, return True, False, or None based on the options presented |  | ||||||
|     in constants.TRUTHYSTRING_TRUE, TRUTHYSTRING_FALSE, TRUTHYSTRING_NONE where |  | ||||||
|     s is treated case-insensitively. |  | ||||||
|     If s is not in any of those sets, return the fallback. |  | ||||||
|     ''' |  | ||||||
|     if s is None: |  | ||||||
|         return None |  | ||||||
| 
 |  | ||||||
|     if isinstance(s, (bool, int)): |  | ||||||
|         return bool(s) |  | ||||||
| 
 |  | ||||||
|     if not isinstance(s, str): |  | ||||||
|         return fallback |  | ||||||
| 
 |  | ||||||
|     s = s.lower() |  | ||||||
|     if s in constants.TRUTHYSTRING_TRUE: |  | ||||||
|         return True |  | ||||||
|     if s in constants.TRUTHYSTRING_FALSE: |  | ||||||
|         return False |  | ||||||
|     if s in constants.TRUTHYSTRING_NONE: |  | ||||||
|         return None |  | ||||||
|     return False |  | ||||||
| 
 |  | ||||||
| def zip_album(album, recursive=True) -> zipstream.ZipFile: | def zip_album(album, recursive=True) -> zipstream.ZipFile: | ||||||
|     ''' |     ''' | ||||||
|     Given an album, return a zipstream zipfile that contains the album's |     Given an album, return a zipstream zipfile that contains the album's | ||||||
|  |  | ||||||
|  | @ -193,21 +193,21 @@ def normalize_filename(filename_terms): | ||||||
| 
 | 
 | ||||||
| def normalize_has_tags(has_tags): | def normalize_has_tags(has_tags): | ||||||
|     ''' |     ''' | ||||||
|     See etiquette.helpers.truthystring. |     See voussoirkit.stringtools.truthystring. | ||||||
|     ''' |     ''' | ||||||
|     return helpers.truthystring(has_tags) |     return stringtools.truthystring(has_tags, None) | ||||||
| 
 | 
 | ||||||
| def normalize_has_thumbnail(has_thumbnail): | def normalize_has_thumbnail(has_thumbnail): | ||||||
|     ''' |     ''' | ||||||
|     See etiquette.helpers.truthystring. |     See voussoirkit.stringtools.truthystring. | ||||||
|     ''' |     ''' | ||||||
|     return helpers.truthystring(has_thumbnail) |     return stringtools.truthystring(has_thumbnail, None) | ||||||
| 
 | 
 | ||||||
| def normalize_is_searchhidden(is_searchhidden): | def normalize_is_searchhidden(is_searchhidden): | ||||||
|     ''' |     ''' | ||||||
|     See etiquette.helpers.truthystring. |     See voussoirkit.stringtools.truthystring. | ||||||
|     ''' |     ''' | ||||||
|     return helpers.truthystring(is_searchhidden) |     return stringtools.truthystring(is_searchhidden, None) | ||||||
| 
 | 
 | ||||||
| def _limit_offset(number, warning_bag): | def _limit_offset(number, warning_bag): | ||||||
|     if number is None: |     if number is None: | ||||||
|  | @ -447,15 +447,15 @@ def normalize_within_directory(paths, warning_bag=None): | ||||||
| 
 | 
 | ||||||
| def normalize_yield_albums(yield_albums): | def normalize_yield_albums(yield_albums): | ||||||
|     ''' |     ''' | ||||||
|     See etiquette.helpers.truthystring. |     See voussoirkit.stringtools.truthystring. | ||||||
|     ''' |     ''' | ||||||
|     return helpers.truthystring(yield_albums) |     return stringtools.truthystring(yield_albums, None) | ||||||
| 
 | 
 | ||||||
| def normalize_yield_photos(yield_photos): | def normalize_yield_photos(yield_photos): | ||||||
|     ''' |     ''' | ||||||
|     See etiquette.helpers.truthystring. |     See voussoirkit.stringtools.truthystring. | ||||||
|     ''' |     ''' | ||||||
|     return helpers.truthystring(yield_photos) |     return stringtools.truthystring(yield_photos, None) | ||||||
| 
 | 
 | ||||||
| EXIST_FORMAT = ''' | EXIST_FORMAT = ''' | ||||||
| {operator} ( | {operator} ( | ||||||
|  |  | ||||||
|  | @ -37,7 +37,7 @@ def get_album_zip(album_id): | ||||||
|     album = common.P_album(album_id, response_type='html') |     album = common.P_album(album_id, response_type='html') | ||||||
| 
 | 
 | ||||||
|     recursive = request.args.get('recursive', True) |     recursive = request.args.get('recursive', True) | ||||||
|     recursive = etiquette.helpers.truthystring(recursive) |     recursive = stringtools.truthystring(recursive) | ||||||
| 
 | 
 | ||||||
|     streamed_zip = etiquette.helpers.zip_album(album, recursive=recursive) |     streamed_zip = etiquette.helpers.zip_album(album, recursive=recursive) | ||||||
| 
 | 
 | ||||||
|  | @ -152,7 +152,7 @@ def post_album_add_tag(album_id): | ||||||
|         response = exc.jsonify() |         response = exc.jsonify() | ||||||
|         return flasktools.make_json_response(response, status=404) |         return flasktools.make_json_response(response, status=404) | ||||||
|     recursive = request.form.get('recursive', False) |     recursive = request.form.get('recursive', False) | ||||||
|     recursive = etiquette.helpers.truthystring(recursive) |     recursive = stringtools.truthystring(recursive) | ||||||
|     album.add_tag_to_all(tag, nested_children=recursive, commit=True) |     album.add_tag_to_all(tag, nested_children=recursive, commit=True) | ||||||
|     response['action'] = 'add_tag' |     response['action'] = 'add_tag' | ||||||
|     response['tagname'] = tag.name |     response['tagname'] = tag.name | ||||||
|  |  | ||||||
|  | @ -37,10 +37,10 @@ def get_file(photo_id, basename=None): | ||||||
|     photo = common.P.get_photo(photo_id) |     photo = common.P.get_photo(photo_id) | ||||||
| 
 | 
 | ||||||
|     do_download = request.args.get('download', False) |     do_download = request.args.get('download', False) | ||||||
|     do_download = etiquette.helpers.truthystring(do_download) |     do_download = stringtools.truthystring(do_download) | ||||||
| 
 | 
 | ||||||
|     use_original_filename = request.args.get('original_filename', False) |     use_original_filename = request.args.get('original_filename', False) | ||||||
|     use_original_filename = etiquette.helpers.truthystring(use_original_filename) |     use_original_filename = stringtools.truthystring(use_original_filename) | ||||||
| 
 | 
 | ||||||
|     if do_download: |     if do_download: | ||||||
|         if use_original_filename: |         if use_original_filename: | ||||||
|  | @ -73,7 +73,7 @@ def post_photo_delete(photo_id): | ||||||
|     print(photo_id) |     print(photo_id) | ||||||
|     photo = common.P_photo(photo_id, response_type='json') |     photo = common.P_photo(photo_id, response_type='json') | ||||||
|     delete_file = request.form.get('delete_file', False) |     delete_file = request.form.get('delete_file', False) | ||||||
|     delete_file = etiquette.helpers.truthystring(delete_file) |     delete_file = stringtools.truthystring(delete_file) | ||||||
|     photo.delete(delete_file=delete_file, commit=True) |     photo.delete(delete_file=delete_file, commit=True) | ||||||
|     return flasktools.make_json_response({}) |     return flasktools.make_json_response({}) | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -1,6 +1,7 @@ | ||||||
| import flask; from flask import request | import flask; from flask import request | ||||||
| 
 | 
 | ||||||
| from voussoirkit import flasktools | from voussoirkit import flasktools | ||||||
|  | from voussoirkit import stringtools | ||||||
| 
 | 
 | ||||||
| import etiquette | import etiquette | ||||||
| 
 | 
 | ||||||
|  | @ -36,7 +37,7 @@ def get_tag_json(specific_tag_name): | ||||||
|         return flask.redirect(new_url) |         return flask.redirect(new_url) | ||||||
| 
 | 
 | ||||||
|     include_synonyms = request.args.get('synonyms') |     include_synonyms = request.args.get('synonyms') | ||||||
|     include_synonyms = include_synonyms is None or etiquette.helpers.truthystring(include_synonyms) |     include_synonyms = include_synonyms is None or stringtools.truthystring(include_synonyms) | ||||||
| 
 | 
 | ||||||
|     response = specific_tag.jsonify(include_synonyms=include_synonyms) |     response = specific_tag.jsonify(include_synonyms=include_synonyms) | ||||||
|     return flasktools.make_json_response(response) |     return flasktools.make_json_response(response) | ||||||
|  | @ -117,7 +118,7 @@ def get_tags_html(specific_tag_name=None): | ||||||
|             return flask.redirect(new_url) |             return flask.redirect(new_url) | ||||||
| 
 | 
 | ||||||
|     include_synonyms = request.args.get('include_synonyms') |     include_synonyms = request.args.get('include_synonyms') | ||||||
|     include_synonyms = include_synonyms is None or etiquette.helpers.truthystring(include_synonyms) |     include_synonyms = include_synonyms is None or stringtools.truthystring(include_synonyms) | ||||||
| 
 | 
 | ||||||
|     if specific_tag is None: |     if specific_tag is None: | ||||||
|         tags = common.P.get_root_tags() |         tags = common.P.get_root_tags() | ||||||
|  | @ -147,7 +148,7 @@ def get_tags_html(specific_tag_name=None): | ||||||
| @site.route('/tags.json') | @site.route('/tags.json') | ||||||
| def get_tags_json(): | def get_tags_json(): | ||||||
|     include_synonyms = request.args.get('synonyms') |     include_synonyms = request.args.get('synonyms') | ||||||
|     include_synonyms = include_synonyms is None or etiquette.helpers.truthystring(include_synonyms) |     include_synonyms = include_synonyms is None or stringtools.truthystring(include_synonyms) | ||||||
| 
 | 
 | ||||||
|     tags = list(common.P.get_tags()) |     tags = list(common.P.get_tags()) | ||||||
|     response = [tag.jsonify(include_synonyms=include_synonyms) for tag in tags] |     response = [tag.jsonify(include_synonyms=include_synonyms) for tag in tags] | ||||||
|  |  | ||||||
		Loading…
	
		Reference in a new issue