Source code for fborm.util

"""
==========================================
Utility Functions (fborm.util)
==========================================

"""
import re
import os

_re_coma_or_space_sep = re.compile('(?:\s*,\s*)+|\s+')

[docs]def comma_or_space_split(sdata): """smart comma splitting that can deal with empty sets. >>> comma_or_space_split(' asdf, ,, a df , ,, sad f,') ['asdf', 'a', 'df', 'sad', 'f'] >>> comma_or_space_split(',asdf,') ['asdf'] >>> comma_or_space_split(' asdf ') ['asdf'] """ return [x for x in _re_coma_or_space_sep.split(sdata) if x]
_shared_connection = None def _connection(): global _shared_connection if _shared_connection is None: import httplib2 _shared_connection = httplib2.Http() return _shared_connection
[docs]def download(url): response, content = _connection().request(url) if response.status != 200: raise RuntimeError("URL (%s) returned status code %d: %s" % (url, response.status, response.reason)) return content
[docs]def download_to_file(url, filename): try: data = download(url) fn = open(filename, 'wb') fn.write(data) fn.close() except Exception, e: if os.path.exists(filename) and os.path.isfile(filename): try: os.unlink(filename) except: pass raise e