Files
krowlog/urlutils.py

29 lines
766 B
Python

import os
from urllib.parse import urlparse
import sys
def urls_to_path(urls: str) -> [str]:
result = []
url_list = urls.splitlines(keepends=False)
for url in url_list:
path = url_to_path(url)
result.append(path)
return result
def url_to_path(url: str) -> str:
p = urlparse(url)
if sys.platform == 'win32' or sys.platform == 'cygwin':
return os.path.abspath(p.path[1:])
return os.path.abspath(os.path.join(p.netloc, p.path))
def url_is_file(string: str) -> bool:
url_candidates = string.splitlines(keepends=False)
for url in url_candidates:
if url.startswith("file://"):
path = url_to_path(url)
if not os.path.isfile(path):
return False
return True