class mmLicenseStatus: mmLicenseAlreadyInitialized =0x32 # from enum mmLicenseStatus mmLicenseAvailable =0xa # from enum mmLicenseStatus mmLicenseCheckedIn =0x50 # from enum mmLicenseStatus mmLicenseCheckedOut =0x46 # from enum mmLicenseStatus mmLicenseFailure =0x28 # from enum mmLicenseStatus mmLicenseNotInitialized =0x3c # from enum mmLicenseStatus mmLicenseNotLicensed =0x14 # from enum mmLicenseStatus mmLicenseRetired =0x5a # from enum mmLicenseStatus mmLicenseUnavailable =0x1e # from enum mmLicenseStatus class mmLicensedProductCode: mmLPAll =0x64 # from enum mmLicensedProductCode mmLPArcFM =0x5 # from enum mmLicensedProductCode mmLPArcFMViewer =0x3 # from enum mmLicensedProductCode mmLPDesigner =0x6 # from enum mmLicensedProductCode mmLPDesignerExpress =0xe # from enum mmLicensedProductCode mmLPDesignerStaker =0xd # from enum mmLicensedProductCode mmLPEngine =0x1 # from enum mmLicensedProductCode mmLPEngineViewer =0x2 # from enum mmLicensedProductCode mmLPEnterprise =0x64 # from enum mmLicensedProductCode mmLPError =0x3e8 # from enum mmLicensedProductCode mmLPGeodatabaseManager =0xc # from enum mmLicensedProductCode mmLPNone =0x0 # from enum mmLicensedProductCode mmLPResponderDataServices =0x8 # from enum mmLicensedProductCode mmLPResponderDispatch =0x4 # from enum mmLicensedProductCode mmLPResponderPrediction =0x9 # from enum mmLicensedProductCode mmLPServer =0x7 # from enum mmLicensedProductCode mmLPServerAdvanced =0xb # from enum mmLicensedProductCode mmLPServerReader =0xa # from enum mmLicensedProductCode class mmLicensedExtensionCode: mmLXEngineEditor =0x1 # from enum mmLicensedExtensionCode mmLXInspector =0x3 # from enum mmLicensedExtensionCode mmLXNetworkAdapter =0x4 # from enum mmLicensedExtensionCode mmLXNone =0x0 # from enum mmLicensedExtensionCode mmLXRedliner =0x2 # from enum mmLicensedExtensionCode class mmRuntimeMode: mmRuntimeModeUnknown =-0x1 # from enum mmRuntimeMode mmRuntimeModeNone =0x0 # from enum mmRuntimeMode mmRuntimeModeArcMap =0x1 # from enum mmRuntimeMode mmRuntimeModeArcCatalog =0x2 # from enum mmRuntimeMode mmRuntimeModeArcEngine =0x3 # from enum mmRuntimeMode mmRuntimeModeArcServer =0x4 # from enum mmRuntimeMode mmRuntimeModeEngineViewer =0x5 # from enum mmRuntimeMode mmRuntimeModeDesignerStaker =0x6 # from enum mmRuntimeMode app = None def initializeArcFM(): import win32com.client global app app = win32com.client.Dispatch('Miner.Framework.Dispatch.MMAppInitializeDispatch') runtime = win32com.client.Dispatch('Miner.Framework.Dispatch.MMRuntimeEnvironmentDispatch') app.Initialize(mmLicensedProductCode.mmLPArcFM) runtime.RuntimeMode = mmRuntimeMode.mmRuntimeModeArcServer print "ArcFM runtime mode", runtime.RuntimeMode def cleanupArcFM(): global app if app: app.Shutdown del app print "ArcFM shutdown" initializeArcFM()