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
12523c81b6
Some fixes for using evlang without ProcPool.
2012-09-03 21:33:03 +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
Griatch
1dee271fc7
Removed a bug in property cache that disabled the cache if the property was null (e.g for player lookups)
2012-08-19 11:15:22 +02:00
Griatch
8a44daef7e
Further changes to allow dbrefs to be 0.
2012-08-18 23:35:11 +02:00
Griatch
889708cf07
Make object search handle a dbref=0.
2012-08-18 23:17:14 +02:00
Griatch
327cfc5098
Changed default permission of objects so as to not have 'control' permission of themselves. As user Kelketek pointed out, this could be a possible exploit. At any rate there is no need for objects to have control of themselves.
2012-08-18 20:20:42 +02:00
Griatch
a2e7246d15
Changed so deleting a PlayerDB object will automatically also destroy its connected User object.
2012-08-14 00:40:48 +02:00
Griatch
891dcbbf9c
Changed mux-login to email-login since the old system didn't actually have anything to do with MUX as I erroneously assumed.
2012-08-13 20:55:46 +02:00
Griatch
bc34a76173
Changed default login from email+password to the more familiar username+password.
...
The old system has been moved to contrib/mux-login.py.
This change was done due to the need for an email seems counterintuitive to
many new developers, giving the impression that it is actually required by
django (it is not, rather it was supposedly similar to MUX).
2012-08-13 20:25:46 +02:00
Griatch
da0598bcc3
Contrib: Barter system. This is a full-fledged barter system for handling goods exchange between two parties in a controlled way. Both sides may change their offers and argue both free-form and as part of decisions. Once both agree, goods automatically changes hands.
2012-08-12 10:48:07 +02:00
Griatch
0d1f9d5bdc
Fixed a bug in object's __eq__ that returned erroneous fails.
2012-08-12 09:55:19 +02:00