Griatch
2ee9e62336
Fixed correct and separate handling of database model bases as compared to its proxy classes using different managers for each type (e.g. ObjectDB.objects.all() will return all ObjectDB instances(including proxy instances) whereas Object.objects.all() will only return Objects)
2014-12-22 08:54:53 +01:00
Griatch
81a18ab340
Fixed nasty lookup bug when querying for multi-word fuzzy matches using mysql. Resolves #527 .
2014-09-15 22:26:25 +02:00
Griatch
cfd2f111f1
Updating to make unittests work
2014-05-11 19:41:37 +02:00
Griatch
8046679980
Fixed a missed update to the search functionality that now should use db_tagtype rather than the old and hackish category-prefix solution. Resolves #497 .
2014-04-06 10:21:06 +02:00
Griatch
96f26098d1
Fixed comm-related unittest failures
2014-03-09 20:23:14 +01:00
Griatch
942a5aaf9a
Fixes copy command issue as per Issue 452.
2014-01-18 10:16:26 +01:00
Kelketek
81c57da56b
Made search_object slightly less picky about db fields, per #445
2013-12-23 14:12:09 -06:00
Kelketek
56601d0bbc
Fixed issue #448 , which prevented searching for objects with a specific attribute name.
2013-12-23 13:55:33 -06:00
Kelketek
46a7e891d1
Fixed issue where object aliases were not being included in searches.
2013-12-23 13:38:40 -06:00
Griatch
1ae17bcbe4
PEP8 cleanup of the entire codebase. Unchanged are many cases of too-long lines, partly because of the rewrite they would require but also because splitting many lines up would make the code harder to read. Also the third-party libraries (idmapper, prettytable etc) were not cleaned.
2013-11-14 19:31:17 +01:00
Griatch
06a0bea8d6
Added fix to object.contents cache as well as reworked the extent of cache hooks on location modification.
2013-10-21 21:17:32 +02:00
Griatch
a00179b742
Fixed an error in aliasing
2013-10-18 22:31:22 +02:00
Griatch
8bd431b385
Removed deprecated Attribute methods from evennia distro. Removed MUX help files.
2013-08-25 16:41:18 +02:00
Griatch
06e858b3f6
Moved permissions into a the tag system as a separate handler. Permissions still don't work quite right yet.
2013-08-24 23:57:44 +02:00
Griatch
befe6a6db0
Made some extra opt-out checking in object manager.
2013-08-24 11:36:28 +02:00
Kelketek
b0bf60cda4
Merge from DBenoy's branch.
2013-07-27 19:05:05 -05:00
Kelketek
08ee399ea2
Better way of doing that with less side effects. Thought it wasn't possible earlier because I misread something.
2013-07-21 14:18:36 -05:00
Kelketek
427dcc3985
Optimized Scripts admin page. Fixed related name for objects on attributes.
...
Repaired search. Removed some backwards compatible parts of picklefield since
we aren't supporting version older than 1.5 and they were obscuring the true
cause of some issues.
2013-07-21 09:44:34 -05:00
Daniel Benoy
1e5b52f685
Object search routines now distinguish between candidates=None, and
...
candidates=[]
2013-07-17 03:30:48 -04:00
Griatch
6bc16e46cc
Made aliases work with the new handler. The location.contents updated is not working yet - this causes locational information to not be available until objects and manually initialized (e.g. by calling examine #dbref)
2013-07-12 20:21:52 +02:00
Griatch
c676c9965f
Merged. Still need to update some migrations.
2013-07-11 19:11:27 +02:00
Griatch
46d1c48a38
Working implementation of User->PlayerDB conversion. Superuser must be created separately. The player-create method was corrected, along with the most obvious places where the user-setup was used. One can log in and look around but it's not heavily debugged yet.
2013-07-11 18:03:07 +02:00
Griatch
2b332c3b9a
Attribute cache is working, lots of other updates, but still not a cleanly updatable system. It seems the Attribute-migrations are not coming through properly. Fixed a misnamed table in the comm app.
2013-07-11 09:51:52 +02:00
Griatch
878f83aba0
Merge. Added updates to some of the fixes, such as making channel connetion updates look for online Players instead of online Sessions (the latter would have created duplicates in a multi-session environment).
2013-06-30 13:57:21 +02:00
Kelketek
240dee1d5b
Fixed issue with attribute search not properly handling attribute prefixes.
2013-06-29 15:10:14 -05:00
Griatch
a9a70c91b1
Fixed a bug with the who command.
2013-05-23 21:38:01 +02:00
Griatch
efdb954491
Fixed a logical error in obj.manager causing it to fail to find arbitrary db_>fieldname>. Resolves Issue 373.
2013-05-21 14:29:50 +02:00
Kelketek
ad7d8fc9fd
Fixed typeclass searching for objects.
2013-05-18 18:47:04 -05:00
Griatch
51cf5461fa
Fixed a typo on the @ic command's search_object call.
2013-05-14 21:47:25 +02:00
Griatch
e15d6dfb6e
Fixed a search feature that was not included in the revision of the object search mechanism - the ability to search based on an object. Resolves Issue 363.
2013-05-14 21:17:29 +02:00
Griatch
bd9421d4b0
Implemented unittests for all default commands in a new and much faster way.
2013-05-12 19:53:19 +02:00
Griatch
78e7346962
Updated commands to use the new objectdb.search API.
2013-05-11 23:22:02 +02:00
Griatch
218e4a149c
Implemented a modified and cleaned objectdb.search and accompanying object.manager.search_object that also searches globally. The default commands have not yet been converted to use the new call.
2013-05-11 20:01:19 +02:00
Griatch
80a6745a1e
Made Attribute value queries also work with database objects by overloading the Attribute manager methods in question. Added procpool support for the new serializer functions and cleaned up some things.
2013-04-14 16:36:44 +02:00
Griatch
b26c3ab872
Fixed bugs and allowed for logging in using one character. Added a simple command for creating a new character.
2013-02-03 17:00:46 +01:00
Griatch
87bfb97853
Rewrote the fuzzy-matching routine to correctly handle fuzzy, global searches on keys and aliases.
2012-10-23 20:29:03 +02:00
lagos
904884d4ed
Fixes multiple issues with searching.
...
* dbref now respect candidate lists. Previously a dbref match would ignore
candidates which permitted you to drop any object from anywhere by specifying
a dbref.
* If candidates is [], we now return right away. Without this, a candidate list
of [] would not filter out anything because short circuiting like:
cand_restriction = candidates and Q(pk__in=candidates_id) or Q()
will use Q() (what we really want is nothing to match). This would permit you
to drop any object you can refer by nick or name if your inventory was empty.
* Minor fix of 'ret_index' for typo'ed 'reg_index'.
2012-10-22 18:03:10 -07:00
Griatch
c982cdbe3d
Fixed a traceback when searching with the *-syntax and not finding a match. Resolves Issue 297.
2012-10-14 17:27:57 +02:00
Griatch
31daf5b013
Added an extra check to make sure the 'candidates' keyword to ev.search_object always contain proper dbobjs and not typeclasses. Resolves Issue 280.
2012-10-14 13:25:25 +02:00
Griatch
33c15e99d2
Added a check to allow obj.search to also search for 0.
2012-09-29 16:24:47 +02:00
Griatch
4944a589cc
Cleaned up and fixed problems in searching by attribute-value. Resolves Issue 267.
2012-09-29 00:09:55 +02:00
Griatch
c819cdc2a6
Added a change to get_objs_with_attr_values that means simple python lookup values will be searched for directly in the database by pickling the input argument in the form used by Attributes. This should lead to a more efficient attrvalue lookup for larger databases (as long as value is a string, int or float and not a compound object, at which the lookup is continuously done in two steps filtering through the Attribute value mechanism.
2012-09-28 00:02:31 +02:00
Griatch
56c28f7e44
Fixed a strange typo in object-manager's get_attribute_with_value(). Also implemented a few further suggestions and fixes to object search.
2012-09-27 22:18:46 +02:00
Griatch
59ccd3eb38
Fixed a bug in exact search pattern matching.
2012-09-27 21:29:01 +02:00
Griatch
160d4a2807
Minor typo cleanups.
2012-09-17 22:16:18 +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
5117bd2a0a
Minor fixes and reducing some sql calls in various managers.
2012-08-22 16:15:52 +02:00
Griatch
cc88d38ab6
Some optimizations towards speeding up getting the contents of a location.
2012-08-19 11:45:13 +02:00
Griatch
889708cf07
Make object search handle a dbref=0.
2012-08-18 23:17:14 +02:00
Griatch
8ad4f4a9fc
Changed player.search to only search for players explicitly.
...
Added a MuxCommandOOC class to handle the OOC commands in a more uniform way.
Fixed the @ic/@ooc and page commands. Resolves issue 233. Resolves issue 234.
2012-05-17 19:42:37 +02:00