def infer_url_title(url): """ Guess what the page title is going to be from the path and FQDN in the URL >>> infer_url_title('https://ai.googleblog.com/2018/09/the-what-if-tool-code-free-probing-of.html') 'the what if tool code free probing of' """ meta = get_url_filemeta(url) title = '' if meta: title = meta.get('filename', meta['hostname']) or meta['hostname'] title, fileext = splitext(title) else: logging.error('Unable to retrieve URL: {}'.format(url)) return None return delimit_slug(title, ' ')
def ensure_dir_exists(dest): if dest is not None: dest = dest.rstrip(os.path.sep) if os.path.isdir(dest): pass elif os.path.isdir(os.path.dirname(dest)): parent = os.path.dirname(dest) dest = os.path.join(parent, dest[len(parent):].lstrip(os.path.sep)) elif os.path.sep in dest: raise FileNotFoundError('Unable to find destination directory for the path: {}'.format(dest)) elif splitext(dest)[1]: raise FileNotFoundError( 'Unable to find destination directory for the path. It looks like a file path rather than a directory: {}'.format( dest)) if not os.path.isdir(dest): log.warning('Creating directory with mkdir_p({})'.format(repr(dest))) mkdir_p(dest) log.info('Saving translated files in {}{}*'.format(dest, os.path.sep)) return dest