pymud 0.20.0a4__py3-none-any.whl → 0.20.1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- pymud/__init__.py +2 -1
- pymud/dialogs.py +11 -6
- pymud/extras.py +32 -75
- pymud/logger.py +9 -3
- pymud/modules.py +188 -0
- pymud/objects.py +37 -20
- pymud/pymud.py +43 -8
- pymud/session.py +192 -116
- pymud/settings.py +2 -2
- {pymud-0.20.0a4.dist-info → pymud-0.20.1.dist-info}/METADATA +26 -15
- pymud-0.20.1.dist-info/RECORD +19 -0
- {pymud-0.20.0a4.dist-info → pymud-0.20.1.dist-info}/WHEEL +1 -1
- pymud-0.20.0a4.dist-info/RECORD +0 -18
- {pymud-0.20.0a4.dist-info → pymud-0.20.1.dist-info}/LICENSE.txt +0 -0
- {pymud-0.20.0a4.dist-info → pymud-0.20.1.dist-info}/entry_points.txt +0 -0
- {pymud-0.20.0a4.dist-info → pymud-0.20.1.dist-info}/top_level.txt +0 -0
@@ -1,9 +1,9 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: pymud
|
3
|
-
Version: 0.20.
|
3
|
+
Version: 0.20.1
|
4
4
|
Summary: a MUD Client written in Python
|
5
|
-
Author-email: "newstart@pkuxkx" <crapex@
|
6
|
-
Maintainer-email: "newstart@pkuxkx" <crapex@
|
5
|
+
Author-email: "newstart@pkuxkx" <crapex@hotmail.com>
|
6
|
+
Maintainer-email: "newstart@pkuxkx" <crapex@hotmail.com>
|
7
7
|
License: GNU GENERAL PUBLIC LICENSE
|
8
8
|
Version 3, 29 June 2007
|
9
9
|
|
@@ -684,7 +684,7 @@ Project-URL: Bug Reports, https://github.com/crapex/pymud/issues
|
|
684
684
|
Project-URL: Source, https://github.com/crapex/pymud/
|
685
685
|
Project-URL: document, https://pymud.readthedocs.io/
|
686
686
|
Keywords: MUD,multi-user dungeon,client
|
687
|
-
Classifier: Development Status ::
|
687
|
+
Classifier: Development Status :: 5 - Production/Stable
|
688
688
|
Classifier: Intended Audience :: End Users/Desktop
|
689
689
|
Classifier: Topic :: Games/Entertainment :: Multi-User Dungeons (MUD)
|
690
690
|
Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
|
@@ -707,7 +707,7 @@ Requires-Dist: prompt-toolkit
|
|
707
707
|
# PyMUD - Python原生MUD客户端
|
708
708
|
## 简介
|
709
709
|
|
710
|
-
###
|
710
|
+
### 北侠WIKI: https://www.pkuxkx.net/wiki/tools/pymud
|
711
711
|
### 源代码地址: https://github.com/crapex/pymud
|
712
712
|
### 帮助文档地址: https://pymud.readthedocs.org
|
713
713
|
### PyPi项目地址: https://pypi.org/project/pymud
|
@@ -729,9 +729,20 @@ Requires-Dist: prompt-toolkit
|
|
729
729
|
+ Python拥有极为丰富的第三方库,能支持的第三方库,就能在PyMud中支持
|
730
730
|
+ 我自己还在玩,所以本客户端会持续进行更新:)
|
731
731
|
|
732
|
+
### 哪些人适合使用PyMUD
|
733
|
+
+ 比较熟悉Python语言,会使用Python写代码的 -> PyMUD是纯Python原生开发,不会有其他客户端对Python的支持能比得过PyMUD
|
734
|
+
+ 虽不太熟悉Python语言,但有想法想学习Python语言的 -> 正好使用PyMUD玩北侠写脚本的过程中学习Python语言
|
735
|
+
+ 觉得还有些功能现在所有客户端都没有的 -> 你有需求,我来增加,就是这么方便
|
736
|
+
+ 觉得也想自己整一个定制客户端玩玩的 -> PyMUD完全开源,且除ui框架外全部都是一行一行代码自己写的,可以直接参考PyMUD的设计
|
737
|
+
|
732
738
|
## 版本更新信息
|
733
739
|
|
734
|
-
|
740
|
+
### 0.20.1 (2024-11-16)
|
741
|
+
+ 功能调整: 会话中触发器匹配实现进行部分调整,减少循环次数以提高响应速度
|
742
|
+
+ 功能调整: #test / #show 触发器测试功能调整,现在会对使能的和未使能的触发器均进行匹配测试。其中,#show 命令仅测试,而 #test 命令会导致触发器真正响应。
|
743
|
+
+ 功能新增: pymud对象新增了一个持续运行的1s的周期定时任务。该任务中会刷新页面显示。可以使用 session.application.addTimerTickCallback 和 session.application.removeTimerTickCallback 来注册和解除定时器回调。
|
744
|
+
|
745
|
+
## 0.20.0 (2024-08-25)
|
735
746
|
+ 功能调整: 将模块主入口函数从__main__.py中移动到main.py中,以使可以在当前目录下,可直接使用pymud,也可使用python -m pymud启动
|
736
747
|
+ 功能调整: 使用argsparser标准模块来配置命令行,可以使用 pymud -h 查看命令行具体参数及说明
|
737
748
|
+ 功能新增: 命令行参数增加指定启动目录的功能,参数为 -s, --startup_dir。即可以从任意目录通过指定脚本目录方式启动PyMUD了。
|
@@ -743,10 +754,12 @@ Requires-Dist: prompt-toolkit
|
|
743
754
|
+ 功能调整: 在没有session的时候,也可以执行#exit命令
|
744
755
|
+ 功能新增: #session 命令增加快捷创建会话功能,假如已有快捷菜单 世界->pkuxkx->newstart , 则可以通过 #session pkuxkx.newstart 直接创建该会话,效果等同于点击该菜单
|
745
756
|
+ 功能调整: 点击菜单创建会话时,若会话已存在,则将该会话切换为当前会话
|
746
|
-
+
|
747
|
-
+
|
748
|
-
+
|
757
|
+
+ 重大更新: 完全重写了模块的加载、卸载、重新加载方法,修复模块使用中的问题
|
758
|
+
+ 功能调整: 现在只要将一个类型继承 IConfig 接口,即被识别为配置类型。这种类型在模块加载时会自动创建其实例。当然,名称为Configuration的类型也同样被认为是配置类型,保持向前兼容性。唯一要求是,该类型的构造函数允许仅传递一个session对象。
|
759
|
+
+ 功能新增: 各类配置类型的卸载现在既可以定义在__unload__方法中,也可以定义在unload方法中。可以根据自己喜好选择一个即可。
|
760
|
+
+ 功能调整: 各配置类型加载和重新加载前,会自动调用模块的__unload__方法或unload方法(若有)
|
749
761
|
+ 功能新增: Command基类增加__unload__方法和unload方法,二者在从会话中移除该 Command 时均会自动调用。自定义的Command子类应覆盖这两种方法中的一种方法,并在其中增加清除类型自行创建的 Trigger, Alias 等会话对象。这样,模块卸载时只要移除命令本身,在命令中新建的其他关联对象将被一同移除。
|
762
|
+
+ 功能新增: 所有PyMUD基础对象类型及其子类型,包括 Alias, Trigger, Timer, Command, GMCPTrigger 及它们的子类型,在创建的时候会自动添加到会话中,无需再进行 addObject 等操作了
|
750
763
|
+ 问题修复: 修复部分正则表达式书写错误问题
|
751
764
|
+ 功能新增: Session类新增waitfor函数,用于执行一段代码后立即等待某个触发器的情况,简化原三行代码写法
|
752
765
|
|
@@ -766,11 +779,6 @@ Requires-Dist: prompt-toolkit
|
|
766
779
|
- 使用示例:
|
767
780
|
|
768
781
|
```Python
|
769
|
-
# 所有对象均可以使用 addObject 直接添加到会话中,而不用管是什么具体类型
|
770
|
-
session.addObject(Timer(...))
|
771
|
-
session.addObject(Trigger(...))
|
772
|
-
session.addObject(Alias(...))
|
773
|
-
|
774
782
|
# 所有对象均可以使用 delObject 直接从会话中移除,会自动根据对象类型推断,无需通过函数名区分
|
775
783
|
session.delObject(self.tri1)
|
776
784
|
session.delObject(self.ali1)
|
@@ -784,7 +792,6 @@ Requires-Dist: prompt-toolkit
|
|
784
792
|
GMCPTrigger(session, xxx)
|
785
793
|
]
|
786
794
|
|
787
|
-
session.addObjects(objs) # 可以直接将一个数组中所有对象添加到会话中,会自动判断各对象类别
|
788
795
|
session.delObjects(objs) # 可以直接从会话中移除一个数组中的所有对象,会自动判断对象类别
|
789
796
|
```
|
790
797
|
|
@@ -792,6 +799,10 @@ Requires-Dist: prompt-toolkit
|
|
792
799
|
+ 功能新增: Session的所有异步命令调用函数增加返回值,现在调用 session.exec_async, exec_command_async 等方法执行的内容若匹配为命令时,会返回最后最后一个 Command 对象的 execute 函数的返回值
|
793
800
|
- 例如, result = await self.session.cmds.cmd_runto.execute('rt yz') 与 result = await self.session.exec_async('rt yz') 等价,返回值相同
|
794
801
|
- 但 result = await self.session.exec_async('rt yz;dzt'),该返回的result 仅是 dzt 命令的 execute 的返回值。 rt yz 命令返回值被丢弃。
|
802
|
+
+ 功能新增: 增加临时变量概念,变量名以下划线开头的为临时变量,此类变量不会被保存到 .mud 文件中。
|
803
|
+
+ 功能新增: 为 BaseObject 基类的 self.session 增加了 Session 类型限定,现在自定义 Command 等时候,使用 self.session 时会有 IntelliSence 函数智能提示了,所有帮助说明已补全
|
804
|
+
+ 问题修复: 修复 #var 等命令中,若含有中文则等号位置不对齐的问题
|
805
|
+
+ 功能调整: 在 #tri 等命令中,当对象的 group 为空时,将不再显示 group 属性,减少无用信息
|
795
806
|
|
796
807
|
## 0.19.4 (2024-04-20)
|
797
808
|
+ 功能调整: info 现在 msg 恢复为可接受任何类型参数,不一定是 str
|
@@ -0,0 +1,19 @@
|
|
1
|
+
pymud/__init__.py,sha256=AP4Edhx90gMKrNfD1O_KVciA3SOnyX5Qt9fZY_JhsTY,574
|
2
|
+
pymud/__main__.py,sha256=hFzZjadLlcOuoLM7D8wFiFVO8mqF7vMuo9y-9xfIhRc,64
|
3
|
+
pymud/dialogs.py,sha256=p-LidObSuDyOeMif5CsqhF5qq3rizZ1lmThWHrxDyRg,6726
|
4
|
+
pymud/extras.py,sha256=Gr-gX7YRWZMmeKV73sk7h_Gf5eZVJ6GcAXvSEfJ4uMI,41124
|
5
|
+
pymud/logger.py,sha256=gtGm8y9RY_CpRpJ0udgKknRxyjsEPrrRyWecUDgBgZM,5662
|
6
|
+
pymud/main.py,sha256=b_Ui_cN4W8IfhYNyc1duwr3Bp7pYYZQusKTSafCWZIA,6534
|
7
|
+
pymud/modules.py,sha256=XoqTeYfZCgqDsV3SYxeehzsbkTzs0swelAUIxyWuL9g,7423
|
8
|
+
pymud/objects.py,sha256=hJc_GfvSUcAqXSHIWKlOg8yOKHnCK9aaoWDwAuP1YtA,39377
|
9
|
+
pymud/pkuxkx.py,sha256=jRQRUs2xtw7GzYHtLYZXOASnqMumKh0iCoOeKZs8NnU,11467
|
10
|
+
pymud/protocol.py,sha256=QfDXjlg2OcJXmVoXf_3mAemnYotRXDUlEZNQjhkfXdA,49106
|
11
|
+
pymud/pymud.py,sha256=pkTb21UV2ccYhG44JjfGdvUSPIWbu_y-vUwBqqzeHaM,51425
|
12
|
+
pymud/session.py,sha256=GAxenTtUy75A-LAfznMOx753BWd-tyozgngeNdJux4Q,135208
|
13
|
+
pymud/settings.py,sha256=ZsKGkjcNGNwqeb2DztwhIrCcRDPYYN1SxtdjWNAJ9CY,7145
|
14
|
+
pymud-0.20.1.dist-info/LICENSE.txt,sha256=IwGE9guuL-ryRPEKi6wFPI_zOhg7zDZbTYuHbSt_SAk,35823
|
15
|
+
pymud-0.20.1.dist-info/METADATA,sha256=Mhl90M3VE2V8zoZ82q5ySzDIknD2XNWlXPdxSvoNuF8,74344
|
16
|
+
pymud-0.20.1.dist-info/WHEEL,sha256=R06PA3UVYHThwHvxuRWMqaGcr-PuniXahwjmQRFMEkY,91
|
17
|
+
pymud-0.20.1.dist-info/entry_points.txt,sha256=diPUOtTkhgC1hVny7Cdg4aRhaHSynMQoraE7ZhJxUcw,37
|
18
|
+
pymud-0.20.1.dist-info/top_level.txt,sha256=8Gp1eXjxixXjqhhti6tLCspV_8s9sNV3z5Em2_KRhD4,6
|
19
|
+
pymud-0.20.1.dist-info/RECORD,,
|
pymud-0.20.0a4.dist-info/RECORD
DELETED
@@ -1,18 +0,0 @@
|
|
1
|
-
pymud/__init__.py,sha256=hvX7Ga2xPG9J3ZpxBLrC6BvrzUo-Dj26HsRKf41Brhw,533
|
2
|
-
pymud/__main__.py,sha256=hFzZjadLlcOuoLM7D8wFiFVO8mqF7vMuo9y-9xfIhRc,64
|
3
|
-
pymud/dialogs.py,sha256=D0ZtCeoBchF5eYzXumkOi3p-maCQZu4v9-wJgxQ790o,6500
|
4
|
-
pymud/extras.py,sha256=QwWwLavVtuXfg0Qb0f_040va1_kej27P-ZB_19HB6Qk,42422
|
5
|
-
pymud/logger.py,sha256=elYfbpvmKYJfB-rnPYZWY5r8ROu9yja9t-dBi1faRGc,5358
|
6
|
-
pymud/main.py,sha256=b_Ui_cN4W8IfhYNyc1duwr3Bp7pYYZQusKTSafCWZIA,6534
|
7
|
-
pymud/objects.py,sha256=aV3RzhZZ7y3qK_kwaYbtnpmaqfBxVwQ8fMwvEs9Dh-A,38534
|
8
|
-
pymud/pkuxkx.py,sha256=jRQRUs2xtw7GzYHtLYZXOASnqMumKh0iCoOeKZs8NnU,11467
|
9
|
-
pymud/protocol.py,sha256=QfDXjlg2OcJXmVoXf_3mAemnYotRXDUlEZNQjhkfXdA,49106
|
10
|
-
pymud/pymud.py,sha256=N9WxaHDqqsTWIBG8UJ38gdMC_pQ30wphcN2LtT66eA4,49584
|
11
|
-
pymud/session.py,sha256=BCmQljeEjWS6n35WTwmxMZBZenNTAoixaqcAjhTROGs,130095
|
12
|
-
pymud/settings.py,sha256=CRNpHl4RjOuQYzAIWyUEvOo7q-f4lo01X1v_CriHWO4,7145
|
13
|
-
pymud-0.20.0a4.dist-info/LICENSE.txt,sha256=IwGE9guuL-ryRPEKi6wFPI_zOhg7zDZbTYuHbSt_SAk,35823
|
14
|
-
pymud-0.20.0a4.dist-info/METADATA,sha256=tDJ-Og3BTghz3zG6YwEKRnI6EwT083VHG5aeBeW_XCA,72291
|
15
|
-
pymud-0.20.0a4.dist-info/WHEEL,sha256=Mdi9PDNwEZptOjTlUcAth7XJDFtKrHYaQMPulZeBCiQ,91
|
16
|
-
pymud-0.20.0a4.dist-info/entry_points.txt,sha256=diPUOtTkhgC1hVny7Cdg4aRhaHSynMQoraE7ZhJxUcw,37
|
17
|
-
pymud-0.20.0a4.dist-info/top_level.txt,sha256=8Gp1eXjxixXjqhhti6tLCspV_8s9sNV3z5Em2_KRhD4,6
|
18
|
-
pymud-0.20.0a4.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|