import os from datetime import datetime, timezone from typing import List, Optional, Text, Union def file_exists(path: Union[bytes, str, "os.PathLike[Text]"]) -> bool: """Validates file path as existing local file""" return os.path.isfile(path) def get_file_modtime(path: Union[bytes, str, "os.PathLike[Text]"]) -> Text: """Returns ISO formatted file modification time in local system timezone""" return ( datetime.fromtimestamp(os.stat(path).st_mtime, timezone.utc) .astimezone() .isoformat() ) def get_tables_argument_list(table_list: Optional[List[Text]]) -> Optional[List[Text]]: """Converts a list of OpenType table string into a Python list or return None if the table_list was not defined (i.e., it was not included in an option on the command line). Tables that are composed of three characters must be right padded with a space.""" if table_list is None: return None else: return [table.ljust(4) for table in table_list]