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)
|