test_imports.py 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335
  1. # This script imports Panda3D modules just to make sure that there are no
  2. # missing imports. It is useful for a quick and dirty test to make sure
  3. # that there are no obvious build issues.
  4. import os, importlib
  5. # This will print out imports on the command line.
  6. import direct.showbase.VerboseImport
  7. import imp
  8. import panda3d
  9. dir = os.path.dirname(panda3d.__file__)
  10. extensions = set()
  11. for suffix in imp.get_suffixes():
  12. extensions.add(suffix[0])
  13. for basename in os.listdir(dir):
  14. module = basename.split('.', 1)[0]
  15. ext = basename[len(module):]
  16. if ext in extensions:
  17. importlib.import_module('panda3d.%s' % (module))
  18. import direct.actor.Actor
  19. import direct.actor.DistributedActor
  20. import direct.cluster.ClusterClient
  21. import direct.cluster.ClusterConfig
  22. import direct.cluster.ClusterMsgs
  23. import direct.cluster.ClusterServer
  24. import direct.controls.BattleWalker
  25. import direct.controls.ControlManager
  26. import direct.controls.DevWalker
  27. import direct.controls.GhostWalker
  28. import direct.controls.GravityWalker
  29. import direct.controls.InputState
  30. import direct.controls.NonPhysicsWalker
  31. import direct.controls.ObserverWalker
  32. import direct.controls.PhysicsRoller
  33. import direct.controls.PhysicsWalker
  34. import direct.controls.SwimWalker
  35. import direct.controls.TwoDWalker
  36. import direct.directnotify.DirectNotify
  37. import direct.directnotify.DirectNotifyGlobal
  38. import direct.directnotify.Logger
  39. import direct.directnotify.LoggerGlobal
  40. import direct.directnotify.Notifier
  41. import direct.directnotify.RotatingLog
  42. import direct.directtools.DirectCameraControl
  43. import direct.directtools.DirectGeometry
  44. import direct.directtools.DirectGlobals
  45. import direct.directtools.DirectGrid
  46. import direct.directtools.DirectLights
  47. import direct.directtools.DirectManipulation
  48. import direct.directtools.DirectSelection
  49. import direct.directtools.DirectUtil
  50. import direct.directutil.DeltaProfiler
  51. import direct.directutil.DistributedLargeBlobSender
  52. import direct.directutil.DistributedLargeBlobSenderAI
  53. import direct.directutil.LargeBlobSenderConsts
  54. import direct.directutil.Mopath
  55. import direct.directutil.Verify
  56. import direct.directutil.WeightedChoice
  57. import direct.distributed.AsyncRequest
  58. import direct.distributed.CRCache
  59. import direct.distributed.CRDataCache
  60. import direct.distributed.CachedDOData
  61. import direct.distributed.CartesianGridBase
  62. import direct.distributed.ClientRepository
  63. import direct.distributed.ClientRepositoryBase
  64. import direct.distributed.ClockDelta
  65. import direct.distributed.ConnectionRepository
  66. import direct.distributed.DistributedCamera
  67. import direct.distributed.DistributedCameraAI
  68. import direct.distributed.DistributedCameraOV
  69. import direct.distributed.DistributedCartesianGrid
  70. import direct.distributed.DistributedCartesianGridAI
  71. import direct.distributed.DistributedNode
  72. import direct.distributed.DistributedNodeAI
  73. import direct.distributed.DistributedNodeUD
  74. import direct.distributed.DistributedObject
  75. import direct.distributed.DistributedObjectAI
  76. import direct.distributed.DistributedObjectBase
  77. import direct.distributed.DistributedObjectGlobal
  78. import direct.distributed.DistributedObjectGlobalAI
  79. import direct.distributed.DistributedObjectGlobalUD
  80. import direct.distributed.DistributedObjectOV
  81. import direct.distributed.DistributedObjectUD
  82. import direct.distributed.DistributedSmoothNodeAI
  83. import direct.distributed.DistributedSmoothNodeBase
  84. import direct.distributed.DoCollectionManager
  85. import direct.distributed.DoHierarchy
  86. import direct.distributed.DoInterestManager
  87. import direct.distributed.GridChild
  88. import direct.distributed.GridParent
  89. import direct.distributed.InterestWatcher
  90. import direct.distributed.MsgTypes
  91. import direct.distributed.MsgTypesCMU
  92. import direct.distributed.NetMessenger
  93. import direct.distributed.OldClientRepository
  94. import direct.distributed.ParentMgr
  95. import direct.distributed.PyDatagram
  96. import direct.distributed.PyDatagramIterator
  97. import direct.distributed.RelatedObjectMgr
  98. import direct.distributed.SampleObject
  99. import direct.distributed.ServerRepository
  100. import direct.distributed.StagedObject
  101. import direct.distributed.TimeManager
  102. import direct.distributed.TimeManagerAI
  103. import direct.extensions_native.extension_native_helpers
  104. import direct.filter.CommonFilters
  105. import direct.filter.FilterManager
  106. import direct.fsm.ClassicFSM
  107. import direct.fsm.FSM
  108. import direct.fsm.FourState
  109. import direct.fsm.FourStateAI
  110. import direct.fsm.SampleFSM
  111. import direct.fsm.State
  112. import direct.fsm.StateData
  113. import direct.fsm.StatePush
  114. import direct.gui.DirectButton
  115. import direct.gui.DirectCheckBox
  116. import direct.gui.DirectCheckButton
  117. import direct.gui.DirectDialog
  118. import direct.gui.DirectEntry
  119. import direct.gui.DirectEntryScroll
  120. import direct.gui.DirectFrame
  121. import direct.gui.DirectGui
  122. import direct.gui.DirectGuiBase
  123. import direct.gui.DirectGuiGlobals
  124. import direct.gui.DirectGuiTest
  125. import direct.gui.DirectLabel
  126. import direct.gui.DirectOptionMenu
  127. import direct.gui.DirectRadioButton
  128. import direct.gui.DirectScrollBar
  129. import direct.gui.DirectScrolledFrame
  130. import direct.gui.DirectScrolledList
  131. import direct.gui.DirectSlider
  132. import direct.gui.DirectWaitBar
  133. import direct.gui.OnscreenGeom
  134. import direct.gui.OnscreenImage
  135. import direct.gui.OnscreenText
  136. import direct.interval.ActorInterval
  137. import direct.interval.AnimControlInterval
  138. import direct.interval.FunctionInterval
  139. import direct.interval.IndirectInterval
  140. import direct.interval.Interval
  141. import direct.interval.IntervalGlobal
  142. import direct.interval.IntervalManager
  143. import direct.interval.IntervalTest
  144. import direct.interval.LerpBlendHelpers
  145. import direct.interval.LerpInterval
  146. import direct.interval.MetaInterval
  147. import direct.interval.MopathInterval
  148. import direct.interval.ParticleInterval
  149. import direct.interval.ProjectileInterval
  150. import direct.interval.ProjectileIntervalTest
  151. import direct.interval.SoundInterval
  152. import direct.interval.TestInterval
  153. import direct.motiontrail.MotionTrail
  154. import direct.p3d.AppRunner
  155. import direct.p3d.DWBPackageInstaller
  156. import direct.p3d.DeploymentTools
  157. import direct.p3d.FileSpec
  158. import direct.p3d.HostInfo
  159. import direct.p3d.InstalledHostData
  160. import direct.p3d.InstalledPackageData
  161. import direct.p3d.JavaScript
  162. import direct.p3d.PackageInfo
  163. import direct.p3d.PackageInstaller
  164. import direct.p3d.PackageMerger
  165. import direct.p3d.Packager
  166. import direct.p3d.PatchMaker
  167. import direct.p3d.ScanDirectoryNode
  168. import direct.p3d.SeqValue
  169. import direct.particles.ForceGroup
  170. import direct.particles.GlobalForceGroup
  171. import direct.particles.ParticleEffect
  172. import direct.particles.ParticleFloorTest
  173. import direct.particles.ParticleManagerGlobal
  174. import direct.particles.ParticleTest
  175. import direct.particles.Particles
  176. import direct.particles.SpriteParticleRendererExt
  177. import direct.physics.FallTest
  178. import direct.physics.RotationTest
  179. import direct.showbase.AppRunnerGlobal
  180. import direct.showbase.Audio3DManager
  181. import direct.showbase.BufferViewer
  182. import direct.showbase.BulletinBoard
  183. import direct.showbase.BulletinBoardGlobal
  184. import direct.showbase.BulletinBoardWatcher
  185. import direct.showbase.ContainerLeakDetector
  186. import direct.showbase.ContainerReport
  187. import direct.showbase.CountedResource
  188. import direct.showbase.DirectObject
  189. import direct.showbase.DistancePhasedNode
  190. import direct.showbase.EventGroup
  191. import direct.showbase.EventManager
  192. import direct.showbase.EventManagerGlobal
  193. import direct.showbase.ExceptionVarDump
  194. import direct.showbase.Factory
  195. import direct.showbase.FindCtaPaths
  196. import direct.showbase.Finder
  197. import direct.showbase.GarbageReport
  198. import direct.showbase.GarbageReportScheduler
  199. import direct.showbase.InputStateGlobal
  200. import direct.showbase.Job
  201. import direct.showbase.JobManager
  202. import direct.showbase.JobManagerGlobal
  203. import direct.showbase.LeakDetectors
  204. import direct.showbase.Loader
  205. import direct.showbase.Messenger
  206. import direct.showbase.MessengerGlobal
  207. import direct.showbase.MessengerLeakDetector
  208. import direct.showbase.MirrorDemo
  209. import direct.showbase.ObjectPool
  210. import direct.showbase.ObjectReport
  211. import direct.showbase.OnScreenDebug
  212. import direct.showbase.PhasedObject
  213. import direct.showbase.PhysicsManagerGlobal
  214. import direct.showbase.Pool
  215. import direct.showbase.ProfileSession
  216. import direct.showbase.PythonUtil
  217. import direct.showbase.RandomNumGen
  218. import direct.showbase.ReferrerSearch
  219. import direct.showbase.SfxPlayer
  220. import direct.showbase.ShadowDemo
  221. import direct.showbase.ShadowPlacer
  222. import direct.showbase.ShowBase
  223. import direct.showbase.TaskThreaded
  224. import direct.showbase.ThreeUpShow
  225. import direct.showbase.Transitions
  226. import direct.showbase.VFSImporter
  227. import direct.showbase.WxGlobal
  228. import direct.showutil.BuildGeometry
  229. import direct.showutil.Effects
  230. import direct.showutil.FreezeTool
  231. import direct.showutil.Rope
  232. import direct.showutil.TexMemWatcher
  233. import direct.showutil.TexViewer
  234. import direct.stdpy.file
  235. import direct.stdpy.glob
  236. #import direct.stdpy.pickle
  237. import direct.stdpy.thread
  238. import direct.stdpy.threading
  239. import direct.stdpy.threading2
  240. import direct.task.FrameProfiler
  241. import direct.task.MiniTask
  242. import direct.task.Task
  243. import direct.task.TaskManagerGlobal
  244. import direct.task.TaskProfiler
  245. import direct.task.TaskTester
  246. import direct.task.Timer
  247. try:
  248. import Pmw
  249. except ImportError:
  250. Pmw = None
  251. print("Skipping Tk modules due to missing Pmw.")
  252. if Pmw:
  253. import direct.showbase.TkGlobal
  254. import direct.tkpanels.AnimPanel
  255. import direct.tkpanels.DirectSessionPanel
  256. import direct.tkpanels.FSMInspector
  257. import direct.tkpanels.Inspector
  258. import direct.tkpanels.MopathRecorder
  259. import direct.tkpanels.NotifyPanel
  260. import direct.tkpanels.ParticlePanel
  261. import direct.tkpanels.Placer
  262. import direct.tkpanels.TaskManagerPanel
  263. import direct.tkwidgets.AppShell
  264. import direct.tkwidgets.Dial
  265. import direct.tkwidgets.EntryScale
  266. import direct.tkwidgets.Floater
  267. import direct.tkwidgets.MemoryExplorer
  268. import direct.tkwidgets.ProgressBar
  269. import direct.tkwidgets.SceneGraphExplorer
  270. import direct.tkwidgets.Slider
  271. import direct.tkwidgets.Tree
  272. import direct.tkwidgets.Valuator
  273. import direct.tkwidgets.VectorWidgets
  274. import direct.tkwidgets.WidgetPropertiesDialog
  275. try:
  276. import wx
  277. except ImportError:
  278. wx = None
  279. print("Skipping wxPython and leveleditor modules due to missing wx.")
  280. if wx:
  281. import direct.wxwidgets.ViewPort
  282. import direct.wxwidgets.WxAppShell
  283. import direct.wxwidgets.WxPandaShell
  284. import direct.wxwidgets.WxPandaWindow
  285. import direct.wxwidgets.WxSlider
  286. import direct.leveleditor.ActionMgr
  287. import direct.leveleditor.AnimControlUI
  288. import direct.leveleditor.AnimGlobals
  289. import direct.leveleditor.AnimMgr
  290. import direct.leveleditor.AnimMgrBase
  291. import direct.leveleditor.CurveAnimUI
  292. import direct.leveleditor.CurveEditor
  293. import direct.leveleditor.FileMgr
  294. import direct.leveleditor.GraphEditorUI
  295. import direct.leveleditor.HotKeyUI
  296. import direct.leveleditor.LayerEditorUI
  297. import direct.leveleditor.LevelEditor
  298. import direct.leveleditor.LevelEditorBase
  299. import direct.leveleditor.LevelEditorStart
  300. import direct.leveleditor.LevelEditorUI
  301. import direct.leveleditor.LevelEditorUIBase
  302. import direct.leveleditor.LevelLoader
  303. import direct.leveleditor.LevelLoaderBase
  304. import direct.leveleditor.MayaConverter
  305. import direct.leveleditor.ObjectGlobals
  306. import direct.leveleditor.ObjectHandler
  307. import direct.leveleditor.ObjectMgr
  308. import direct.leveleditor.ObjectMgrBase
  309. import direct.leveleditor.ObjectPalette
  310. import direct.leveleditor.ObjectPaletteBase
  311. import direct.leveleditor.ObjectPaletteUI
  312. import direct.leveleditor.ObjectPropertyUI
  313. import direct.leveleditor.PaletteTreeCtrl
  314. import direct.leveleditor.ProtoObjs
  315. import direct.leveleditor.ProtoObjsUI
  316. import direct.leveleditor.ProtoPalette
  317. import direct.leveleditor.ProtoPaletteBase
  318. import direct.leveleditor.ProtoPaletteUI
  319. import direct.leveleditor.SceneGraphUI
  320. import direct.leveleditor.SceneGraphUIBase
  321. print("Finished.")