dosage/scripts/scriptutil.py

43 lines
985 B
Python
Raw Normal View History

2012-11-29 05:46:58 +00:00
# Copyright (C) 2012 Bastian Kleineidam
2012-12-12 16:41:29 +00:00
import re
2012-12-19 19:42:53 +00:00
import json
2012-11-29 05:46:58 +00:00
def contains_case_insensitive(adict, akey):
2012-12-19 19:42:53 +00:00
"""Check if key is in adict. The search is case insensitive."""
2012-11-29 05:46:58 +00:00
for key in adict:
if key.lower() == akey.lower():
return True
return False
2012-12-12 16:41:29 +00:00
_tagre = re.compile(r"<.+?>")
def remove_html_tags(text):
2012-12-19 19:42:53 +00:00
"""Remove all HTML tags from text."""
2012-12-12 16:41:29 +00:00
return _tagre.sub("", text)
def capfirst(text):
"""Uppercase the first character of text."""
if not text:
return text
return text[0].upper() + text[1:]
_ws = re.compile(r"\s+")
def compact_whitespace(text):
2012-12-19 19:42:53 +00:00
"""Compact all subsequent whitespace to a single space."""
2012-12-12 16:41:29 +00:00
if not text:
return text
return _ws.sub(" ", text)
2012-12-19 19:42:53 +00:00
def save_result(res, json_file):
"""Save result to file."""
with open(json_file, 'wb') as f:
json.dump(res, f, sort_keys=True)
def load_result(json_file):
with open(json_file, "rb") as f:
return json.load(f)