PBinCLI/pbincli/utils.py
r4sas 635c87dabd
[wip] url shortener support (#19)
Signed-off-by: r4sas <r4sas@i2pmail.org>
2019-09-17 08:55:59 +00:00

37 lines
800 B
Python

import json, ntpath, os, sys
class PBinCLIException(Exception):
pass
def PBinCLIError(message):
print("PBinCLI Error: {}".format(message), file=sys.stderr)
exit(1)
def path_leaf(path):
head, tail = ntpath.split(path)
return tail or ntpath.basename(head)
def check_readable(f):
# Checks if path exists and readable
if not os.path.exists(f) or not os.access(f, os.R_OK):
PBinCLIError("Error accessing path: {}".format(f))
def check_writable(f):
# Checks if path is writable
if not os.access(os.path.dirname(f) or ".", os.W_OK):
PBinCLIError("Path is not writable: {}".format(f))
def json_encode(s):
return json.dumps(s, separators=(',',':')).encode()
def validate_url(s):
if not s.endswith('/'):
s = s + "/"
return s