Utility Functions

Overview

File Name: utils.py

This file provides various utility functions and classes for tasks such as file operations, generating random strings, and measuring execution time. It also includes a class for optimized progress updates.

Functions

get_current_user_name

get_current_user_name() str

Returns the name of the currently logged-in user.

Returns

The current user’s name.

Return type

str

make_int128

make_int128(hi: int, lo: int) int

Makes a 128-bit integer from two 64-bit integers.

Parameters
  • hi (int) – High 64 bits.

  • lo (int) – Low 64 bits.

Returns

128-bit integer combining hi and lo.

Return type

int

html_escape

html_escape(t: str) str

Escapes special HTML characters in the provided text.

Parameters

t (str) – Text to escape.

Returns

Escaped text.

Return type

str

get_available_system_memory

get_available_system_memory() int

Returns available system memory in bytes.

Returns

Available system memory in bytes.

Return type

int

file_exists

file_exists(path_name: str) bool

Checks if a file specified by path_name exists.

Parameters

path_name (str) – Path to the file to check.

Returns

True if the file exists, False otherwise.

Return type

bool

get_random_word

get_random_word(length: int) str

Generates a random ASCII lowercase word of ‘length’ characters.

Parameters

length (int) – Length of the random word.

Returns

Randomly generated word.

Return type

str

get_temp_file_path_name

get_temp_file_path_name(suffix: str = None) str

Generates a temporary file path name.

Parameters

suffix (str, optional) – Optional suffix for the file name.

Returns

Temporary file path name.

Return type

str

get_unique_temp_file_path_name

get_unique_temp_file_path_name(suffix: str = None) str

Generates a unique temporary file path name that does not exist yet.

Parameters

suffix (str, optional) – Optional suffix for the file name.

Returns

Unique temporary file path name.

Return type

str

is_local_url

is_local_url(url: str) bool

Determines if the URL points to a local file.

Parameters

url (str) – URL to check.

Returns

True if the URL is local, False otherwise.

Return type

bool

safe_copy_file

safe_copy_file(src: str, dst: str, follow_symlinks=True) bool

Copies src to dst and returns True on success. Supports URLs.

Parameters
  • src (str) – Source file path.

  • dst (str) – Destination file path.

  • follow_symlinks (bool, optional) – Whether to follow symlinks. Default is True.

Returns

True if the file is successfully copied, False otherwise.

Return type

bool

safe_delete_file

safe_delete_file(file_name: str) bool

Deletes a file specified by file_name from drive and returns True on success.

Parameters

file_name (str) – Name of the file to delete.

Returns

True if the file is successfully deleted, False otherwise.

Return type

bool

measure_execution_time

measure_execution_time(func: Callable)

A decorator to measure execution time of a function.

Parameters

func (Callable) – The function to measure.

Returns

Wrapped function with execution time measurement.

Return type

Callable

Classes

OptimizedProgressUpdate

This class helps decide if the user should be notified about a progress update or not. It prevents excessive updating when unnecessary. Progress value is rounded to integers.

Constructor:

__init__(update_rate=0.1, auto_start=True)

Initializes the OptimizedProgressUpdate instance.

param update_rate

The rate at which updates are allowed, in seconds. Default is 0.1.

type update_rate

float, optional

param auto_start

Whether to start the progress update automatically. Default is True.

type auto_start

bool, optional

Methods:

progress_value() int

Gets the percentual progress value (0..100+).

Returns

The current progress value.

Return type

int

start()

Initializes or resets the progress tracking.

update(progress_value) bool

Determines if an update should be propagated based on the progress value.

Parameters

progress_value (float) – Current progress value in range [0.0..1.0].

Returns

True if the update should be propagated, otherwise False.

Return type

bool