phase 2 code complete
Some checks failed
Build and test GAM / build (false, build, 1, Build Intel Ubuntu Jammy, ubuntu-22.04) (push) Has been cancelled
Build and test GAM / build (false, build, 10, Build x86_64 macOS 15, macos-15-intel) (push) Has been cancelled
Build and test GAM / build (false, build, 11, Build x86_64 macOS 26, macos-26-intel) (push) Has been cancelled
Build and test GAM / build (false, build, 12, Build Arm MacOS 26, macos-26) (push) Has been cancelled
Build and test GAM / build (false, build, 13, Build Intel Windows, windows-2025-vs2026) (push) Has been cancelled
Build and test GAM / build (false, build, 14, Build Arm Windows, windows-11-arm) (push) Has been cancelled
Build and test GAM / build (false, build, 2, Build Intel Ubuntu Noble, ubuntu-24.04) (push) Has been cancelled
Build and test GAM / build (false, build, 3, Build Arm Ubuntu Noble, ubuntu-24.04-arm) (push) Has been cancelled
Build and test GAM / build (false, build, 4, Build Arm Ubuntu Jammy, ubuntu-22.04-arm) (push) Has been cancelled
Build and test GAM / build (false, build, 5, Build Intel StaticX Legacy, ubuntu-22.04, yes) (push) Has been cancelled
Build and test GAM / build (false, build, 6, Build Arm StaticX Legacy, ubuntu-22.04-arm, yes) (push) Has been cancelled
Build and test GAM / build (false, build, 8, Build Arm MacOS 14, macos-14) (push) Has been cancelled
Build and test GAM / build (false, build, 9, Build Arm MacOS 15, macos-15) (push) Has been cancelled
Build and test GAM / build (false, test, 16, Test Python 3.11, ubuntu-24.04, 3.11) (push) Has been cancelled
Build and test GAM / build (false, test, 17, Test Python 3.12, ubuntu-24.04, 3.12) (push) Has been cancelled
Build and test GAM / build (false, test, 18, Test Python 3.13, ubuntu-24.04, 3.13) (push) Has been cancelled
Build and test GAM / build (false, test, 19, Test Python 3.15-dev, ubuntu-24.04, 3.15-dev) (push) Has been cancelled
Build and test GAM / build (true, test, 20, Test Python 3.14 freethread, ubuntu-24.04, 3.14) (push) Has been cancelled
Build and test GAM / publish (push) Has been cancelled
CodeQL / Analyze (python) (push) Has been cancelled

This commit is contained in:
Jay Lee
2026-07-03 19:52:57 -04:00
parent 7c639d3487
commit 5b27b7b875
10 changed files with 1210 additions and 1206 deletions

View File

@@ -3207,3 +3207,62 @@ def ProcessGAMCommand(args, processGamCfg=True, inLoop=False, closeSTD=True):
# Process GAM command
def CallGAMCommand(args, processGamCfg=True, inLoop=False, closeSTD=False):
return ProcessGAMCommand(args, processGamCfg=processGamCfg, inLoop=inLoop, closeSTD=closeSTD)
# Re-export util names for _gam().X access by util/ modules.
# This block runs AFTER all modules are fully loaded (no circular import risk).
# Only names actually referenced via _gam() are included.
from gamlib import glskus as SKU # noqa: E402,F811
from tempfile import TemporaryFile # noqa: E402,F401
from util.access import ( # noqa: E402,F401
APIAccessDeniedExit, ClientAPIAccessDeniedExit, SvcAcctAPIAccessDeniedExit, accessErrorExit,
accessErrorExitNonDirectory, checkEntityAFDNEorAccessErrorExit,
checkEntityDNEorAccessErrorExit, entityUnknownWarning,
)
from util.api import ( # noqa: E402,F401,F811
_getAdminEmail, _getSvcAcctData, buildGAPIObject, buildGAPIServiceObject,
callGAPI, callGAPIitems, callGAPIpages, chooseSaAPI, yieldGAPIpages,
)
from util.args import ( # noqa: E402,F401,F811
ARCHIVED_ARGUMENTS, ISOformatTimeStamp, LOCALE_CODES_MAP, NAME_EMAIL_ADDRESS_PATTERN,
SUSPENDED_ARGUMENTS, YYYYMMDDTHHMMSSZ_FORMAT, YYYYMMDD_FORMAT, YYYYMMDD_PATTERN,
_getIsArchived, _getIsSuspended, checkDataField, checkForExtraneousArguments,
checkMatchSkipFields, checkSubkeyField, encodeOrgUnitPath, escapeCRsNLs,
formatLocalTime, formatLocalTimestamp, getBoolean, getCharSet, getCharacter,
getDelimiter, getEmailAddress, getEmailAddressDomain, getLanguageCode,
getMatchSkipFields, getPhraseDNEorSNA, getREPattern, getString,
getSheetEntity, getSheetIdFromSheetEntity, makeOrgUnitPathAbsolute,
makeOrgUnitPathRelative, orgUnitPathQuery, protectedSheetId, removeCourseIdScope,
shlexSplitList, splitEmailAddress, todaysTime, validateEmailAddressOrUID,
)
from util.csv_pf import CheckInputRowFilterHeaders # noqa: E402,F401
from util.display import ( # noqa: E402,F401
FIRST_ITEM_MARKER, LAST_ITEM_MARKER, TOTAL_ITEMS_MARKER, actionPerformedNumItems,
entityActionFailedWarning, entityActionNotPerformedWarning, entityActionPerformed,
entityActionPerformedMessage, entityDoesNotExistWarning, entityPerformActionNumItems,
entityServiceNotApplicableWarning, getPageMessage, getPageMessageForWhom, printBlankLine,
printGettingAllAccountEntities, printGettingAllEntityItemsForWhom,
printGotEntityItemsForWhom, printJSONKey, printJSONValue, printKeyValueList,
setGettingAllEntityItemsForWhom, userDriveServiceNotEnabledWarning,
userServiceNotEnabledWarning,
)
from util.email import send_email # noqa: E402,F401,F811
from util.entity import checkUserExists, convertUIDtoEmailAddress # noqa: E402,F401,F811
from util.errors import ( # noqa: E402,F401,F811
csvDataAlreadySavedErrorExit, csvFieldErrorExit, entityActionFailedExit,
entityDoesNotExistExit, expiredRevokedOauth2TxtExit, formatChoiceList,
invalidArgumentExit, invalidChoiceExit, invalidDiscoveryJsonExit,
invalidOauth2TxtExit, invalidOauth2serviceJsonExit, missingArgumentExit,
)
from util.fileio import ( # noqa: E402,F401,F811
StringIOobject, checkAPICallsRate, closeFile, fdErrorMessage, fileErrorMessage,
getGDocSheetDataFailedExit, getGDocSheetDataRetryWarning, incrAPICallsRetryData,
openFile, readFile, writeFile,
)
from util.gdoc import ( # noqa: E402,F401
getGDocData, getStorageFileData, openCSVFileReader,
)
from util.output import ( # noqa: E402,F401,F811
currentCountNL, flushStderr, flushStdout,
printWarningMessage, readStdin, stderrWarningMsg, writeStdout,
)