• Nov 19, 2022 •CodeCatch
0 likes • 7 views
def when(predicate, when_true): return lambda x: when_true(x) if predicate(x) else x double_even_numbers = when(lambda x: x % 2 == 0, lambda x : x * 2) print(double_even_numbers(2)) # 4 print(double_even_numbers(1)) # 1
0 likes • 4 views
def clamp_number(num, a, b): return max(min(num, max(a, b)), min(a, b)) clamp_number(2, 3, 5) # 3 clamp_number(1, -1, -5) # -1
• Jul 24, 2024 •AustinLeath
0 likes • 3 views
from statistics import median, mean, mode def print_stats(array): print(array) print("median =", median(array)) print("mean =", mean(array)) print("mode =", mode(array)) print() print_stats([1, 2, 3, 3, 4]) print_stats([1, 2, 3, 3])
• Sep 20, 2025 •cntt.dsc-f4b6
1 like • 2 views
print(123)
• Nov 18, 2022 •AustinLeath
0 likes • 2 views
def get_ldap_user(member_cn, user, passwrd): ''' Get an LDAP user and return the SAMAccountName ''' #---- Setting up the Connection #account used for binding - Avoid putting these in version control bindDN = str(user) + "@unt.ad.unt.edu" bindPass = passwrd #set some tuneables for the LDAP library. ldap.set_option(ldap.OPT_X_TLS_REQUIRE_CERT, ldap.OPT_X_TLS_ALLOW) #ldap.set_option(ldap.OPT_X_TLS_CACERTFILE, CACERTFILE) conn = ldap.initialize('ldaps://unt.ad.unt.edu') conn.protocol_version = 3 conn.set_option(ldap.OPT_REFERRALS, 0) #authenticate the connection so that you can make additional queries try: result = conn.simple_bind_s(bindDN, bindPass) except ldap.INVALID_CREDENTIALS: result = "Invalid credentials for %s" % user sys.exit() #build query in the form of (uid=user) ldap_query = '(|(displayName=' + member_cn + ')(cn='+ member_cn + ')(name=' + member_cn + '))' ldap_info = conn.search_s('DC=unt,DC=ad,DC=unt,DC=edu', ldap.SCOPE_SUBTREE, filterstr=ldap_query) sAMAccountName = str(ldap_info[0][1]['sAMAccountName']).replace("[b'", "").replace("']","") return sAMAccountName
• Jun 26, 2025 •AustinLeath
def format_timestamp(timestamp_epoch): """ Convert epoch timestamp to formatted datetime string without using datetime package. Args: timestamp_epoch (int/float): Unix epoch timestamp (seconds since 1970-01-01 00:00:00 UTC) Returns: str: Formatted datetime string in 'YYYY-MM-DD HH:MM:SS' format """ # Constants for time calculations SECONDS_PER_DAY = 86400 SECONDS_PER_HOUR = 3600 SECONDS_PER_MINUTE = 60 # Handle negative timestamps and convert to integer timestamp = int(timestamp_epoch) # Calculate days since epoch and remaining seconds days_since_epoch = timestamp // SECONDS_PER_DAY remaining_seconds = timestamp % SECONDS_PER_DAY # Calculate hours, minutes, seconds hours = remaining_seconds // SECONDS_PER_HOUR remaining_seconds %= SECONDS_PER_HOUR minutes = remaining_seconds // SECONDS_PER_MINUTE seconds = remaining_seconds % SECONDS_PER_MINUTE # Calculate date (simplified, ignoring leap seconds) year = 1970 days = days_since_epoch while days >= 365: is_leap = (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0) days_in_year = 366 if is_leap else 365 if days >= days_in_year: days -= days_in_year year += 1 # Month lengths (non-leap year for simplicity, adjusted later for leap years) month_lengths = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31] if (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0): month_lengths[1] = 29 month = 0 while days >= month_lengths[month]: days -= month_lengths[month] month += 1 # Convert to 1-based indexing for month and day month += 1 day = days + 1 # Format the output string return f"{year:04d}-{month:02d}-{day:02d} {hours:02d}:{minutes:02d}:{seconds:02d}" # Example timestamp (Unix epoch seconds) timestamp = 1697054700 formatted_date = format_timestamp(timestamp) print(formatted_date + " UTC") # Output: 2023-10-11 18:45:00