Griatch
b28d67534b
Temporarily disabling procpool for @batchprocess to fix a traceback when building.
2012-09-26 08:34:54 +02:00
Griatch
b2028511f5
Fixing a bug with not calling the disconnect hook when killing the client uncleanly. Resolves Issue 258. Thanks to user Zeta142125 for the help.
2012-09-25 07:53:11 +02:00
Griatch
7d4bf6c8d2
Fixes a bug in scriptmanager. Resolves Issue 259.
2012-09-25 07:42:52 +02:00
Griatch
d535d77811
Restructed terminal output from Server and Portal to allow external plugin-services to cleanly add their info at startup.
2012-09-22 23:18:29 +02:00
Griatch
a30029472b
Fixes @set to be more accepting of various Python structures. It will now instead convert to string on a ValueError (commonly because a string was not enclosed in quotes) while giving a error string to the user informing of this. This should fix Issue 256.
2012-09-22 22:16:30 +02:00
Griatch
93d95377ce
Shifting ProcPool out of src and into a contrib, using the service plugin system.
2012-09-22 20:40:30 +02:00
Griatch
f677902811
Fixed a bug with setting a location to None.
2012-09-22 13:37:22 +02:00
Griatch
4dbdf680a1
Removed a nested _GA that made made lookup fail in players.models.player_search(). Thanks to Kelketek for pointing this bug out.
2012-09-22 10:23:42 +02:00
Griatch
e874343387
Adjusted search() functionality to handle also a list of location(s) to search. Changed "get" command to not search inventory (which could lead to multimatch errors).
2012-09-21 08:36:59 +02:00
Griatch
8ad58a3e19
Merge. Resolves Issue 254. Resolves Issue 255.
2012-09-21 08:17:27 +02:00
Adam_ASE
e748d6d5ae
Addressing original issue 254 - Fixed DROP command multi-match error for similarly or identically
...
named items when one or more of the items are at the location but not in
character's inventory.
2012-09-20 23:50:34 -04:00
Griatch
de3d1f4a22
Minor adjustment to the __contains__ cache of cmdsets.
2012-09-21 00:15:04 +02:00
Griatch
c0b03c2ee3
Some further removal of recursive loops in the typeclass system.
2012-09-20 23:18:52 +02:00
Griatch
dc4340b34e
Bugfix for latest optimization.
2012-09-20 03:01:30 +02:00
Griatch
5b88972523
Turning back more reasonable dummyrunner settings.
2012-09-20 02:56:41 +02:00
Griatch
7a130cb442
Removing some of the last self-reference loops in object.models, based on profiling.
2012-09-20 02:52:21 +02:00
Griatch
4bd3be334d
Added a warning to @delete command if trying to delete CHARACTER_DEFAULT_HOME (Limbo by default).
2012-09-20 01:42:51 +02:00
Griatch
4c83d3e7a1
Various speed optimizations in various places, following further profiling.
2012-09-20 00:47:28 +02:00
Griatch
83fa9397d5
Added a plugin system for server and portal. This allows for plugging in your own services without having to edit any modules in src/server/. Also made some various cleanups and fixes.
2012-09-18 22:52:33 +02:00
Griatch
ee450a4fed
Fixed a bug in the search method causing it to fail for commands ignoring the error handler (such as drop). Resolves issue 252.
2012-09-18 21:48:41 +02:00
Griatch
0dae03156c
Some optimizations, cleanup and a few bugfixes. Just changing a spurious property retrieval in the typeclass removed an extra, pointless database query.
2012-09-18 01:03:35 +02:00
Griatch
160d4a2807
Minor typo cleanups.
2012-09-17 22:16:18 +02:00
Griatch
21137cc830
Run Migrations! Added a is_connected field to Players to be able to more conveniently access online status from out-of-process (resolves issue 251). Also cleaned up and added features to the default website.
2012-09-17 19:19:20 +02:00
Griatch
c53a9b5770
Changed how Objects are searched, using proper Django Q objects instead of hack-y evals to build queries. This has lead to a number of changes to the ObjectDB manager search. Notably there is now no way to supply a "location" to either of the manager search methods anymore. Instead you can now supply the keyword "candidates", a list of objects which should be used to limit the search. This is much more generic than giving location. The higher-level search (like caller.search, reached from commands) have not changed its API, so commands should work the same unless you are using the manager backbone directly. This search function is now using location to create the "candidates" list. Some other things, like matching for "me" and "here" have also been moved up to a level were it can be easily overloaded. "me" and "here" etc were also moved under i18n.
...
As part of this overhaul I implemented the partial_matching algorithm originally asked for by user "Adam_ASE" over IRC. This will allow for (local-only) partial matching of objects. So "big black sword" will now be matched by "bi", "sword", "bi bla" and so on. The partial matcher sits in src.utils.utils.py if one wants to use it for something else.
2012-09-17 15:31:50 +02:00
Griatch
cc6fa079b6
Added some more functionality to the copy method of objects, as well as some minor fixes.
2012-09-11 23:47:29 +02:00
Griatch
3c96dc9cc9
Fixed a too-inclusive .hgignore file as well as some other fixes.
2012-09-07 19:31:51 +02:00
Griatch
d1e0836d23
Minor fix to evaluate with _return in ProcPool execution.
2012-09-03 23:47:50 +02:00
Griatch
5348563bfb
Some fixes to dummyrunner.
2012-09-03 22:29:01 +02:00
Griatch
047de533f3
Moved dummyrunner into a separate directory under src/utils
2012-09-03 21:54:13 +02:00
Griatch
d5c1d35406
Cleaning up some ampoule outputs.
2012-09-03 21:47:22 +02:00
Griatch
2481a9b493
Minor bugfix
2012-09-03 21:36:41 +02:00
Griatch
81dfeb6788
Added per-process timeout capability to run_async. Also changed contrib/evlang to use run_async
2012-09-03 21:16:54 +02:00
Griatch
5c6ee44039
Modified contrib/evlang to optionally make use of ProcPool multiprocessing.
2012-09-03 19:21:04 +02:00
Griatch
ffcf4b3c2f
Added cache-resyncing to ProcPool. This makes sure to update all affected object caches
...
whenever the subprocess returns (this is potentially not good enough for long-running scripts,
will have to ponder that one). Made ProcPool work with MySQL (where it works much better). Tested and fixed many
small bugs.
2012-09-03 01:11:14 +02:00
Griatch
275d00d4db
Some more usability additions to the ProcPool system. Also made it default
...
to turned off when SQLite3 is used - SQLite3 doesn't support multiple
processes.
2012-09-02 18:57:25 +02:00
Griatch
575d7a86fa
Made run_async also handle function calls through the ProcPool.
2012-09-02 16:54:07 +02:00
Griatch
e25ac1e46b
Changed run_async to properly relay remote error messages to the user-supplied errback.
2012-09-02 16:14:08 +02:00
Griatch
056fee5c70
Changing all text files to explicitly have .txt endings. This helps online code browsers to properly identify the files.
2012-09-02 13:05:47 +02:00
Griatch
af99a80b4b
Added procpool functionality for sending arbitrary data over the wire (including
...
nested databaseobjects). Rules are similar to Attribute saving.
Adding a missing component to the procpool setup.
2012-09-02 12:53:11 +02:00
Griatch
3ebeab5689
Changed ProcPool to be turned off by default, while testing.
2012-09-02 10:13:10 +02:00
Griatch
f5a889e40c
Added new process-pool runner based on AMPoule (integrated into Evennia).
...
This allows e.g. utils.utils.run_async to offload long-running functions
to a completely different subprocess entirely, offering real parallelism.
Implementation is still experimental, notably not all objects can be
transferred safely across the wire; also there is no concept of
updating caches yet - so adding an object from the subprocess side
will not be known in the main thread yet (since caches cannot yet tell
the underlying database has changed).
2012-09-02 10:10:22 +02:00
Griatch
dcc7f29a91
OBS: run migrations! This changes the Msg model to work with ManyToManyFields rather than with custom string representations for storing multiple receivers or channels. It also expands the Msg object with a "title" field and various filter options. This should make it easier to implement mail-like operations using the comms system.
2012-08-30 00:05:00 +02:00
Griatch
7995c91eee
Fixed a regression in the install process with south.
2012-08-28 11:18:08 +02:00
Griatch
f68523cc22
Minor optimizations and some fixes to the dummyrunner.
2012-08-22 22:34:43 +02:00
Griatch
5117bd2a0a
Minor fixes and reducing some sql calls in various managers.
2012-08-22 16:15:52 +02:00
Griatch
4edde61be4
Minor cleanups and a fix to manage.py that lead to a traceback if running without arguments.
2012-08-22 13:28:38 +02:00
Griatch
f5caab093e
Fixed a spurious error messages from the location setter when logging out (need to check None location)
2012-08-19 21:36:01 +02:00
Griatch
a35fd9018e
Made some test system fixes, killing unclear fails (it seems to have been a change in the way the django test system handles instances, there are a bunch of false fails. For now, I'm hiding the failing ones, just running the command itself to make sure it runs as it should.
2012-08-19 19:20:48 +02:00
Griatch
5e33690f40
Optimization: Added caching of object contents. This makes obj.contents not have to hit
...
the database at all. So far there are no regressions from this, but time will tell if
there are any problems.
2012-08-19 18:48:29 +02:00
Griatch
cc88d38ab6
Some optimizations towards speeding up getting the contents of a location.
2012-08-19 11:45:13 +02:00