LCM/scripts/python3/OperationStatusUtility.py (32 lines of code) (raw):

#!/usr/bin/env python3 from datetime import datetime from errno import EINVAL import warnings with warnings.catch_warnings(): warnings.filterwarnings("ignore",category=DeprecationWarning) from imp import load_source from json import dump from os import chmod, mkdir, stat from os.path import dirname, join, isdir, isfile, realpath from re import search from sys import exc_info, version_info if hasattr(datetime, 'strptime'): # Only available in this module in Python 2.5+ strptime = datetime.strptime else: # Only for Python 2.4 import time strptime = lambda date_string, format: datetime(*(time.strptime(date_string, format)[0:6])) pathToCurrentScript = realpath(__file__) pathToCommonScriptsFolder = dirname(pathToCurrentScript) def get_current_timestamp(): currentDateTime = datetime.now() currentDateTimeFormattedString = datetime.strftime(currentDateTime, "%Y/%m/%d %H:%M:%S") return str(currentDateTimeFormattedString) def get_permission_in_oct(threeDigitString): # Note: Python 2.4 and 3 recognize different formats for octal strMode = "0o" + threeDigitString octMode = int(strMode, base = 8) return octMode def ensure_file_permissions(filePath, permissionString): desiredPermission = get_permission_in_oct(permissionString) # Ensure that the file has the desired permissions if it exists if (isfile(filePath)): filePermission = oct(stat(filePath).st_mode & desiredPermission) if (not (filePermission == desiredPermission)): chmod(filePath, desiredPermission)