Add extracted tools: CitrineOS, OpenOCPP, ShapeShifter
- CitrineOS core extracted (CSMS OCPP 2.0.1) - OpenOCPP extracted (firmware OCPP 1.6J/2.0.1) - ShapeShifter library installed (pip install -e) - ShapeShifter specification extracted - EVerest extracted TODO updated with progress
This commit is contained in:
107
tools/EVerest-main/cmake/trailbook/check_path_exists.py
Executable file
107
tools/EVerest-main/cmake/trailbook/check_path_exists.py
Executable file
@@ -0,0 +1,107 @@
|
||||
#!/usr/bin/env python3
|
||||
# -*- coding: utf-8 -*-
|
||||
#
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
# Copyright Pionix GmbH and Contributors to EVerest
|
||||
#
|
||||
"""
|
||||
author: andreas.heinrich@pionix.de
|
||||
This script checks whether a directory exists or not and returns zero based on the flags provided.
|
||||
"""
|
||||
|
||||
|
||||
import argparse
|
||||
from pathlib import Path
|
||||
|
||||
|
||||
def main():
|
||||
parser = argparse.ArgumentParser(description='Checks whether a directory exists or not and returns zero based on the flags provided')
|
||||
parser.add_argument(
|
||||
'--directory',
|
||||
type=Path,
|
||||
dest='directory',
|
||||
action='store',
|
||||
required=False,
|
||||
help='Directory to check for existence'
|
||||
)
|
||||
parser.add_argument(
|
||||
'--file',
|
||||
type=Path,
|
||||
dest='file',
|
||||
action='store',
|
||||
required=False,
|
||||
help='Path to a file to check for existence'
|
||||
)
|
||||
parser.add_argument(
|
||||
'--return-zero-if-exists',
|
||||
action='store_true',
|
||||
help='Return zero if the file/directory exists',
|
||||
dest='return_zero_if_exists',
|
||||
)
|
||||
parser.add_argument(
|
||||
'--return-zero-if-not-exists',
|
||||
action='store_true',
|
||||
help='Return zero if the file/directory does not exist',
|
||||
dest='return_zero_if_not_exists',
|
||||
)
|
||||
args = parser.parse_args()
|
||||
|
||||
if not args.directory and not args.file:
|
||||
raise ValueError("Either --directory or --file must be specified")
|
||||
if args.return_zero_if_exists and args.return_zero_if_not_exists:
|
||||
raise ValueError("Cannot use both --return-zero-if-exists and --return-zero-if-not-exists at the same time")
|
||||
|
||||
if args.file:
|
||||
if not args.file.is_absolute():
|
||||
raise ValueError("File path must be absolute")
|
||||
if args.return_zero_if_exists:
|
||||
if not args.file.exists():
|
||||
print(f"❌ File does not exist at {args.file}")
|
||||
exit(1)
|
||||
if not args.file.is_file():
|
||||
print(f"❌ Path exists but is not a file at {args.file}")
|
||||
exit(2)
|
||||
print(f"✅ File exists at {args.file}")
|
||||
exit(0)
|
||||
elif args.return_zero_if_not_exists:
|
||||
if args.file.is_file():
|
||||
print(f"❌ File exists at {args.file}")
|
||||
exit(1)
|
||||
if args.file.exists():
|
||||
print(f"❌ Path exists but is not a file at {args.file}")
|
||||
exit(2)
|
||||
print(f"✅ File does not exist at {args.file}")
|
||||
exit(0)
|
||||
else:
|
||||
raise ValueError("Either --return-zero-if-exists or --return-zero-if-not-exists must be specified")
|
||||
else:
|
||||
if not args.directory.is_absolute():
|
||||
raise ValueError("Directory path must be absolute")
|
||||
if args.return_zero_if_exists:
|
||||
if not args.directory.exists():
|
||||
print(f"❌ Directory does not exist at {args.directory}")
|
||||
exit(1)
|
||||
if not args.directory.is_dir():
|
||||
print(f"❌ Path exists but is not a directory at {args.directory}")
|
||||
exit(2)
|
||||
print(f"✅ Directory exists at {args.directory}")
|
||||
exit(0)
|
||||
elif args.return_zero_if_not_exists:
|
||||
if args.directory.is_dir():
|
||||
print(f"❌ Directory exists at {args.directory}")
|
||||
exit(1)
|
||||
if args.directory.exists():
|
||||
print(f"❌ Path exists but is not a directory at {args.directory}")
|
||||
exit(2)
|
||||
print(f"✅ Directory does not exist at {args.directory}")
|
||||
exit(0)
|
||||
else:
|
||||
raise ValueError("Either --return-zero-if-exists or --return-zero-if-not-exists must be specified")
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
try:
|
||||
main()
|
||||
except Exception as e:
|
||||
print(f"Error: {e}")
|
||||
exit(1)
|
||||
Reference in New Issue
Block a user