Commit Graph

76 Commits

Author SHA1 Message Date
rdb f149fb4ab0 direct: big formatting changes for the benefit of API reference
Part of the effort to move the API reference to Sphinx, see panda3d/panda3d-docs#21
2019-10-29 20:43:41 +01:00
rdb 9f9665e090 direct: don't use types.InstanceType in Messenger.detailedRepr
Fixes #591
2019-04-09 12:42:06 +02:00
rdb 2e20a0f16e Implement awaitable thread-safe future for async operations
This introduces AsyncFuture as a new base class of AsyncTask.  It's modelled after asyncio's Future class, except that it is thread-safe and you can use result() to block the current thread waiting for the future to finish (of course this is not necessary for use with coroutines).

AsyncFuture should be used for any operation that finishes in the future, to get the benefit of awaitability within coroutines as well as a standard interface for querying status and results of the operation as well as cancelling it.  As such, it's been implemented in various places, including texture.prepare() and win.trigger_copy().

Note that AsyncFuture is intended to be used *once*; it cannot be used more than once.  As an example of how this works, tex.prepare() will return the same future as long as the prepare isn't complete, but when it is done, subsequent calls to tex.prepare() will return a new future.
2017-12-04 22:25:28 +01:00
wezu 40c6f41da2 direct: provide snake_case functions for some classes
Closes #147
2017-06-20 21:56:03 +02:00
rdb d576c6b638 Improvements to generated API docs, especially in direct tree.
Also add an entry point for pfreeze.
2017-05-24 13:30:21 +02:00
wezu 353ccfebc1 Remove print() from Messenger.find() and Messenger.findAll()
If one needs to use find() or findAll() not for debugging purposes (like for getting the function or arguments for some binding), then the print functions in these methods are really unwelcome. find() is the only nice way to get this info (other then de-name-mangling __callbacks)
2017-04-22 13:39:14 +02:00
rdb 23bf9ea5c7 The direct tree is now valid Python 2 *and* 3 2016-03-28 22:33:30 +02:00
rdb 54fa31ba17 StandardError -> Exception, other 2to3 changes, threaded 2to3 2016-03-25 17:13:09 +01:00
rdb d9342043b0 Deprecate pandac.PandaModules and genPyCode, move extensions to panda3d/, clean up imports and deprecated behaviour 2015-06-28 13:55:31 +02:00
rdb 0aa0f34c74 Lots of work to make the rtdist work with the new library building system 2015-01-12 15:02:42 +01:00
Chris Brunner 858275a95f Add a check to make sure the method has a __name__ member before trying to print it 2014-02-26 01:57:28 +00:00
rdb 5f2c0a6e04 Big commit aiding in separation of Python bindings:
* Most extension functions have been moved to C++.
 * In makepanda, Python bindings are compiled into panda3d/<module>.pyd.
2014-02-20 13:33:26 +00:00
rdb c729775265 The 'new' module has been deprecated since 2.6 and removed in Python 3, let's not use it (use 'types' module instead) 2013-12-23 15:08:00 +00:00
David Rose ea05496d09 disable Toontown's cheesy lock for normal, threaded Panda 2012-01-06 00:51:54 +00:00
David Rose 8a6acab786 cheesy Messenger workaround 2010-04-08 21:45:52 +00:00
rdb ac1223d0da Ditch stuff like has_key and backticks 2010-03-19 10:32:09 +00:00
David Rose 81363c4ba9 PackageInstaller, runtime package installation 2009-08-25 21:40:57 +00:00
David Rose aa8285f5a4 async JavaScript 2009-07-16 18:30:17 +00:00
David Rose 2591033c27 quiet that collisionLoopFinished event 2009-06-07 21:16:08 +00:00
Darren Ranalli 2deb24b233 bug fixes and memory leak fixes 2009-05-27 21:06:09 +00:00
Darren Ranalli 740aca460f fixed crash in __repr__ 2009-04-02 22:31:12 +00:00
rdb 6786954cf8 Throw error when extraArgs is not a list 2009-02-24 06:07:55 +00:00
Darren Ranalli 0350e26e7c put lock around new method 2009-02-11 02:17:04 +00:00
Darren Ranalli 6f5a7d0bc6 more leak detection 2009-02-07 00:00:02 +00:00
Zachary Pavlov 109864928d typo 2008-12-17 09:18:56 +00:00
David Rose 993fb111de thread-safe messenger 2008-12-16 19:47:42 +00:00
David Rose 6b7ab70359 ignore spammy event-loop-done 2008-11-24 17:21:55 +00:00
Darren Ranalli fcdb44e081 don't use DirectObjects as dict keys 2008-11-03 18:30:49 +00:00
wesbell 7d4e840bad Eliminated deprecated call to 'apply' in favor of direct function call, in order to gain more detailed Python Profiler data 2007-05-07 04:58:11 +00:00
Darren Ranalli 6413cc28e3 minor optimization in accept 2007-04-03 05:19:54 +00:00
Joe Shochet bd2c0c7b14 less spam from the messenger on the AI logs 2007-02-12 00:48:24 +00:00
Joe Shochet c1709e4787 better warning on duplicate event accepts, only in debug mode now 2006-11-13 20:37:04 +00:00
David Rose da7c1e8a10 add getAllAccepting() 2006-11-07 16:16:49 +00:00
David Rose 860a8f16ca use repr() instead of str() to print diagnostics 2006-10-24 17:11:45 +00:00
aignacio_sf 19eebe69c1 Add assert before notify. 2006-10-11 20:18:31 +00:00
David Rose 216e635ee7 more __all__ fixes from Josh Yelon 2006-08-10 22:14:31 +00:00
Dave Schuyler 7c2aa5354f formatting 2006-04-04 23:37:44 +00:00
Joe Shochet ac0f6042e2 warning for accepting an event already in the dict, made watching variables private, assert that the method is callable 2006-03-22 20:18:16 +00:00
Dave Schuyler 71243aa874 formatting 2006-01-27 02:54:41 +00:00
Dave Schuyler 22f3e05a42 added to doc strings about watch 2006-01-17 19:44:48 +00:00
Roger Hughston 82fa7ab1e4 Changes to support messaging to multi target channels 2005-07-07 00:10:57 +00:00
Dave Schuyler 5351d31c64 checking that the method passed in is callable 2005-06-28 03:02:29 +00:00
Dave Schuyler 728483764d formatting 2005-03-03 20:39:59 +00:00
Joe Shochet 949f57e477 messenger now remembers obj->event dict 2005-02-14 21:36:56 +00:00
Joe Shochet d5bff7418a fixed subtle bug in repr when object hash is bad 2004-06-02 23:28:15 +00:00
David Rose b1db93fb87 explicit import paths 2004-06-01 19:31:48 +00:00
Dave Schuyler 3200cdda10 improved watching of events not listened to 2004-01-28 00:08:28 +00:00
Dave Schuyler ea2b5e8ea6 added quiet() 2004-01-07 06:25:16 +00:00
Dave Schuyler 20d1b050cc added watch 2003-12-17 00:51:20 +00:00
Dave Schuyler 8ddf9011d5 fixing cleanup during alt-f4 exit 2003-11-29 04:21:35 +00:00