Commit graph

9560 commits

Author SHA1 Message Date
davewiththenicehat
e0867967a8 rpsystem.send_emote passes kwargs, uses sender as from_obj
rpsystem.send_emote now passes kwargs to obj.msg.
rpsystem.send_emote uses sender as from_obj when calling obj.msg

All evennia unit tests pass.
2021-04-20 16:31:30 -04:00
davewiththenicehat
3cc14e2e4c task handler call_task, Task.call methods created
task handler call_task, Task.call methods created

Added unit tests for these methods.

All evennia unit tests pass
2021-04-19 17:36:42 -04:00
davewiththenicehat
0b7cae600a task handler remove_all method created. task handler server restart unit test created.
Added method remove_all to task handler. (intended for unit testing)
Created a method to mimic a server restart for the purpose of task handler.

test_delay unit test passes.
2021-04-19 17:16:37 -04:00
davewiththenicehat
fea077d555 task handler automatic stale task cleanup
Task handler will automatically remove uncalled but canceled from task handler. By default this will not occur until a canceled task has been uncalled for 60 second after the time it should have been called. To adjust this time use TASK_HANDLER.stale_timeout. If stale_timeout is 0 stale tasks will not be automatically removed.
This is not done on a timer. I is done as new tasks are added or the load method is called.

Added unit tests to test automatic removal. Including when it should not automatically removed. Both when it is too soon, or when the stale_timeout attribute is set to 0.
2021-04-19 09:37:19 -04:00
Griatch
aa5a07f6d0 Continuing unittest work 2021-04-19 09:19:15 +02:00
davewiththenicehat
f57fb645c8 taskhandler.Task created
Created an object to represent a task.
This allows for the return of TASK_HANDLER.add or utils.delay to be an object that has callable methods. It has been created to mock the most common methods and attributes of a twisted deferred object.

Changed test_utils.test_delay for new usage.
Returned previously changed modules slow_exit, tutorial_world.objects and portal.telnet to their previous states. As the return of utils.delay can be used as if it were a deferred.

All evennia unit tests pass
2021-04-18 18:25:39 -04:00
davewiththenicehat
16f6edb18d TaskHandler.do_task is now state aware & can return callback's return
TaskHandler.do_task is now state aware and can be called manually.
It can now return the callbacks returns.

added unit tests to verify early callback is functional. Both persistent and non-persistent tasks.

All evennia unit tests pass.
2021-04-18 11:01:45 -04:00
davewiththenicehat
bbc60b0340 TaskHandler.active method created
TaskHandler.active method created to check if a task is currently active.

test_delay unit test passes.
2021-04-18 09:59:45 -04:00
davewiththenicehat
af44237838 TaskHandler cancel and exists method's created
Created task handler methods to cancel a task and check if a task exists.

Modified unit tests to use these and test methods.
unit test test_delay passes.
2021-04-18 09:50:54 -04:00
davewiththenicehat
f3b546bcf6 TaskHandler.remove() made functional
TaskHandler.remove method now functions. Previous it would have removed the task from the TaskHandler.tasks dictionary, but never canceled the task. Making the "remove a persistent task without executing it" incorrect. Previous there was no method to get a persistent tasks's deferral instance, which was likely why TaskHandler.remove was not used within the module.

Added unit tests to test TaskHandler.remove
2021-04-18 08:51:18 -04:00
davewiththenicehat
97f7806348 task handler, updated to only return task id
Updated task handler to only return task id.
updated code within evennia that relied on the deferral directly. Including unit test for one.

all unit tests pass.
Test server functional after restarting, no issues found would telnet web client. (delay was used in the telnet module in the portal folder.

I needed to commit this before continuing forward. There is already a high line count change.
2021-04-18 00:43:09 -04:00
Griatch
be8b4b82de Merge branch 'develop' into refactor-channels 2021-04-17 13:25:38 +02:00
davewiththenicehat
c7bf773605 taskhandler suppress cancel error
Added an errback to handle errors within task handler's deferred instance.
Without this instances of deferred cause a traceback when a deferred is canceled without errback or callback having been called.
This traceback does not end execution, and ultimately would only show to main console.
Reference cancel: https://github.com/twisted/twisted/blob/trunk/src/twisted/internet/defer.py

All evennia unit tests pass.
2021-04-16 10:55:24 -04:00
Griatch
362b5d1bfd Add function to easily create yes/no user question 2021-04-16 00:41:19 +02:00
Griatch
92a0e79b08 More work to add standard channel command 2021-04-16 00:38:54 +02:00
Griatch
6d973f3617 Continuing implementing new channel command 2021-04-14 22:44:11 +02:00
davewiththenicehat
1a18b247e2 Task_Handler unit test, after completion time only
Unit test for task handler tasks that complete after delay time.
Required creating local reference for a clock.
All evennia unit tests pass with `evennia test evennia`.
All of my projects unit tests passed. They have a very heavy usage of reactor.
Verified delays working with project manually

Moving forward with creating method to call callbacks early.
2021-04-14 12:14:04 -04:00
Griatch
fd726941dd Update the evscaperoom README 2021-04-13 23:57:22 +02:00
Griatch
bf4f532643 Update the evscaperoom README 2021-04-13 23:57:09 +02:00
Griatch
2776aa2e20 Adding a new central channel command 2021-04-13 23:56:53 +02:00
davewiththenicehat
f62ff2015f taskhandler verified do_task causes errors if called manually (early)
Any usage of taskhandler's method outside of the deferred instance calling it results in errors.

Referencing: It's easier to access these tasks (should it be necessary) using
    `evennia.scripts.taskhandler.TASK_HANDLER`
I can see it is intended to be used this way.

More importantly usage of the global reactor would require usage of reactorbuilder API which is recomended for building reactors only.

Commiting notes before switching to twisted's documented methods for making and testing deferrals.
In short I need to get an instance of reactor's callLater. Creating and working with that call later will allow me to test taskhandler and make it function as intended.

Usage of utils.delay will not change.
2021-04-13 17:01:55 -04:00
Griatch
25e7e5a500 First version of refactored channel hooks 2021-04-11 21:43:21 +02:00
Griatch
48ebe5e3c2 Start refactoring channels 2021-04-11 16:17:02 +02:00
Griatch
9e2b7576b1 Another typo in funcparser loading settings 2021-04-11 16:13:56 +02:00
Griatch
5dc85cbc1d Fix typo in deprecation warning 2021-04-11 16:11:51 +02:00
Griatch
f9a2f9f095 Minor refactor of exception to top of module 2021-04-08 21:46:45 +02:00
davewiththenicehat
f445cfb355 TaskHandler Return task_id if persistent
TaskHandler Return task_id if persistent

unit tests passed 645 ran
2021-04-07 18:00:02 -04:00
davewiththenicehat
d0d2a9384f Revert ".gitignore Atom's remote sync settings file"
This reverts commit 6c05651e11.
2021-04-07 17:36:54 -04:00
davewiththenicehat
6c05651e11 .gitignore Atom's remote sync settings file
Atom's remote sync settings file
It contains clear text passwords. As well as settings that are user specific.
2021-04-07 17:02:22 -04:00
RealKinetix
e6ddc4ffb1 Merge remote-tracking branch 'origin/master' into maintenance-times 2021-04-06 18:51:11 -07:00
RealKinetix
21bf565e57 Unsure how the last commit had an old edit, but this should fix tests now. 2021-04-06 17:43:49 -07:00
RealKinetix
80a0a3ce70 Fixed related server test in the test suite with appropriate timing trigger. 2021-04-06 17:25:08 -07:00
Griatch
2ded469357 Improved Italian i18n (user rpolve) 2021-04-06 21:46:02 +02:00
Griatch
4ac88c3898 Merge branch 'master' into develop 2021-04-06 21:12:16 +02:00
fariparedes
43ecb0a9f2 Proposed fix 2021-04-06 21:12:10 +02:00
Griatch
80f5a6c085 Merge branch 'from-obj' of https://github.com/fariparedes/evennia into fariparedes-from-obj 2021-04-06 21:11:31 +02:00
Griatch
4f3f1cadac Merge branch 'master' into develop 2021-04-06 21:09:13 +02:00
fariparedes
acd1765ea3 Proposed fix 2021-04-06 21:06:14 +02:00
Griatch
08f8b9143a Merge branch 'ooc-look' of https://github.com/fariparedes/evennia into fariparedes-ooc-look 2021-04-06 21:05:56 +02:00
duysqubix
b99799c641 need to add twistd location to environment 2021-04-06 21:04:15 +02:00
Griatch
eb704812ae Merge branch 'master' of https://github.com/duysqubix/evennia into duysqubix-master 2021-04-06 21:02:36 +02:00
RealKinetix
7d20d35375 Maintenance time calculations should be done in minutes, not seconds.
Should resolve #2336
2021-03-29 22:34:55 -07:00
Kenneth Aalberg
83d9f81ab7 Merge branch 'master' of https://github.com/evennia/evennia 2021-03-28 14:17:42 +02:00
Griatch
2f0709e4fc Link to new funcparser docs 2021-03-28 00:00:38 +01:00
Griatch
198c446741 Merge branch 'GulliblePsychologist-argparser' into develop 2021-03-27 23:45:28 +01:00
Griatch
c9d9e9c6f8 Clean up docs and more funcparser fixes 2021-03-27 23:43:46 +01:00
Griatch
c65c68e4c2 Further cleanup and refactoring 2021-03-27 19:20:21 +01:00
fariparedes
2366ea4a9c Proposed fix 2021-03-26 21:42:15 -04:00
fariparedes
43c3117732 Proposed fix 2021-03-26 21:34:03 -04:00
Griatch
7891987e05 Fix unittests for funcparser refactor 2021-03-26 23:45:38 +01:00