blob: aed97063636d60d6c6feac0dc84a1760bdc8391b (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
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]
|