defget_app_name(# noqa: C901*,mod_data:ModuleData,app_name:Union[str,None]=None)->"Tuple[str, FastAgency]":try:mod=importlib.import_module(mod_data.module_import_str)# nosemgrepexcept(ImportError,ValueError)ase:logger.error(f"Import error: {e}")logger.warning("Ensure all the package directories have an [blue]__init__.py[/blue] file")raiseifnotFastAgency:# type: ignore[truthy-function]raiseFastAgencyCLIError("Could not import FastAgency, try running 'pip install fastagency'")fromNoneobject_names=dir(mod)object_names_set=set(object_names)ifapp_name:ifapp_namenotinobject_names_set:raiseFastAgencyCLIError(f"Could not find app name {app_name} in {mod_data.module_import_str}")app=getattr(mod,app_name)ifnotisinstance(app,FastAgency):raiseFastAgencyCLIError(f"The app name {app_name} in {mod_data.module_import_str} doesn't seem to be a FastAgency app")returnapp_name,appforpreferred_namein["app","api"]:ifpreferred_nameinobject_names_set:obj=getattr(mod,preferred_name)ifisinstance(obj,FastAgency):returnpreferred_name,objfornameinobject_names:obj=getattr(mod,name)ifisinstance(obj,FastAgency):returnname,objraiseFastAgencyCLIError("Could not find FastAgency app in module, try using --app")