pymud 0.18.4.post1__py3-none-any.whl → 0.18.4.post3__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/dialogs.py CHANGED
@@ -64,8 +64,8 @@ class WelcomeDialog(BasicDialog):
64
64
  self.website = FormattedText(
65
65
  [('', '访问 '),
66
66
  #('class:b', 'GitHub:'),
67
- ('', 'https://github.com/crapex/pymud', self.open_url),
68
- ('', ' 以获取最新信息')]
67
+ ('', 'https://pymud.readthedocs.org/', self.open_url),
68
+ ('', ' 以查看最新帮助文档')]
69
69
  )
70
70
  super().__init__("PYMUD", modal)
71
71
 
pymud/pkuxkx.py CHANGED
@@ -3,10 +3,10 @@
3
3
  import webbrowser
4
4
  from pymud import Alias, Trigger, SimpleCommand, Timer, SimpleTrigger, SimpleAlias
5
5
 
6
- # 在PyMud中,使用#load {filename}可以加载对应的配置作为脚本文件以提供支撑
6
+ # 在PyMud中,使用#load {filename}可以加载对应的配置作为脚本文件以提供支撑。支持多脚本加载
7
7
  # 本示例脚本对PyMud支持的变量(Variable)、触发器(Trigger,包含单行与多行触发)、别名(Alias)、定时器(Timer)、命令(Command,本示例中使用了SimpleCommand子类)都进行了代码示例
8
- # 使用#load {filename}加载的配置文件中,必须有一个类型,名为Coniguration,在#load操作时,会自动创建此类型
9
- # 例如,加载本文件指定的配置,则使用 #load pkuxkx即可
8
+ # 使用#load {filename}加载的配置文件中,若有一个类型名为Coniguration,则在#load操作时,会自动创建此类型;若没有Configuration类,则仅将文件引入
9
+ # 例如,加载本文件指定的配置,则使用 #load pymud.pkuxkx即可
10
10
 
11
11
  # PyMud中,触发器Trigger、别名Alias、命令Command,都是匹配对象(MatchObject)的子类,使用同一种处理逻辑
12
12
  # 匹配对象,意味着有匹配的pattern。在匹配对象成功后,会调用对象的onSuccess方法
@@ -109,11 +109,11 @@ class Configuration:
109
109
 
110
110
  # get xxx from corpse的别名操作,匹配成功后会自动调用getfromcorpse函数
111
111
  # 例如, gp silver 相当于 get silver from corpse
112
- self._aliases['ali_get'] = Alias(self.session, "^gp\s(.+)$", id = "ali_get", onSuccess = self.getfromcorpse)
112
+ self._aliases['ali_get'] = Alias(self.session, r"^gp\s(.+)$", id = "ali_get", onSuccess = self.getfromcorpse)
113
113
 
114
114
  # 3. 现在支持简单Alias了,在其中也可以支持#wait(缩写为#wa操作)等待,当然,Trigger也支持
115
115
  # 从扬州中心广场到西门的行走,每步中间插入100ms等待
116
- self._triggers["ali_yz_xm"] = SimpleAlias(self.session ,'^yz_xm$', "w;#wa 100;w;#wa 100;w;#wa 100;w", group = "sys")
116
+ self._aliases["ali_yz_xm"] = SimpleAlias(self.session ,'^yz_xm$', "w;#wa 100;w;#wa 100;w;#wa 100;w", group = "sys")
117
117
 
118
118
  self.session.addAliases(self._aliases)
119
119
 
pymud/session.py CHANGED
@@ -333,7 +333,7 @@ class Session:
333
333
  "将数据写入到用于本地显示的缓冲中"
334
334
  self.buffer.insert_text(data)
335
335
 
336
- if data[-1] == "\n":
336
+ if len(data) > 0 and (data[-1] == "\n"):
337
337
  self._line_count += 1
338
338
 
339
339
  if newline:
@@ -344,8 +344,11 @@ class Session:
344
344
  "清除过多缓冲"
345
345
  if (self._line_count >= 2 * Settings.client["buffer_lines"]) and self.buffer.document.is_cursor_at_the_end:
346
346
  startindex = self.buffer.document.translate_row_col_to_index(-1 * Settings.client["buffer_lines"], 0)
347
- self.buffer.text = self.buffer.document.text[startindex:]
348
- self._line_count = self.buffer.document.line_count
347
+ new_text = self.buffer.document.text[startindex:]
348
+ self.buffer.text = ""
349
+ self.buffer.text = new_text
350
+ #self._line_count = self.buffer.document.line_count
351
+ self._line_count = len(new_text.split("\n"))
349
352
 
350
353
  def feed_data(self, data) -> None:
351
354
  "永远只会传递1个字节的数据,以bytes形式"
@@ -380,8 +383,6 @@ class Session:
380
383
 
381
384
  def go_ahead(self) -> None:
382
385
  "把当前接收缓冲内容放到显示缓冲中"
383
- self.clear_buffer()
384
-
385
386
  raw_line = self._line_buffer.decode(self.encoding, Settings.server["encoding_errors"])
386
387
  tri_line = self.getPlainText(raw_line, trim_newline = True)
387
388
  self._line_buffer.clear()
@@ -427,6 +428,7 @@ class Session:
427
428
  # 将数据写入缓存添加到此处
428
429
  if len(self.display_line) > 0:
429
430
  self.writetobuffer(self.display_line)
431
+ self.clear_buffer()
430
432
 
431
433
  def set_exception(self, exc: Exception):
432
434
  self.error(f"连接过程中发生异常,异常信息为: {exc}")
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pymud
3
- Version: 0.18.4.post1
3
+ Version: 0.18.4.post3
4
4
  Summary: a MUD Client written in Python
5
5
  Author-email: "newstart@pkuxkx" <crapex@crapex.cc>
6
6
  Maintainer-email: "newstart@pkuxkx" <crapex@crapex.cc>
@@ -910,3 +910,10 @@ Requires-Dist: prompt-toolkit
910
910
 
911
911
  ### 0.18.4post1 (2024-02-19)
912
912
  + 功能调整:修改缓冲行数判断逻辑,加快客户端判断响应速度。
913
+
914
+ ### 0.18.4post2 (2024-02-20)
915
+ + 问题调整:修改缓冲截取处理中的小BUG。
916
+
917
+ ### 0.18.4post3 (2024-02-23)
918
+ + 功能调整:将帮助窗口中的链接改到帮助网址: https://pymud.readthedocs.org
919
+ + 问题修复:修复了随包提供的pkuxkx.py样例脚本中的几处错误
@@ -1,16 +1,16 @@
1
1
  pymud/__init__.py,sha256=G_k8deY6ulAJdtNkaYn6_zM0j2InJNddxMhnoSqZV30,417
2
2
  pymud/__main__.py,sha256=uGbkGxwhNkpZVYn0mGnPpfTdqkxzfu8Jf8WAV_Uykuo,361
3
- pymud/dialogs.py,sha256=_OE1vq_hbu7rUbjsvCH2mEEhEYMiwXEJE0TXIYZc0EI,5591
3
+ pymud/dialogs.py,sha256=SRNHOashupNi7128Bg_35J1rrI2TsZEakTbaMW5d9PU,5596
4
4
  pymud/extras.py,sha256=iBSvh1KSLw2LDF1gAnH76hEMA55gg2TICJXdpAMiQBE,41601
5
5
  pymud/objects.py,sha256=2qnrNI_891y-Wo6Z0xjoPcbJSfrPLbyZOmUNXMsYAz0,28983
6
- pymud/pkuxkx.py,sha256=_CR4ETm-ihl5ZqznB75-pT3NdZSfUiuOsvEh5MwSjHI,11417
6
+ pymud/pkuxkx.py,sha256=vWXHU6GF0HQ0eWb3LmxFVRP0cKnigffCX7Z-LJvwVtw,11496
7
7
  pymud/protocol.py,sha256=F96Yq-1YO_5GN6QnJ4vMdNjCAzejVmDdsfrJguCjCeE,49120
8
8
  pymud/pymud.py,sha256=wzRTMFoJSPol6H-G6CXvgK7j5n1aIvTkxnkrEvBIrn4,38587
9
- pymud/session.py,sha256=tepG3Y2Pe1eQkYw5FtFq8cq2NkmLnEF31A1YQQqMgy4,71297
9
+ pymud/session.py,sha256=br-2-BNsM7p7RmInSL5rZ5SjasYhV8xR9eM40ugOUZs,71438
10
10
  pymud/settings.py,sha256=WUxwN6zh7k_uB2SDHQFFO1Qeg2T1aJqxGASFI_pIHFc,6557
11
- pymud-0.18.4.post1.dist-info/LICENSE.txt,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
12
- pymud-0.18.4.post1.dist-info/METADATA,sha256=0cv_q7GEbfs157hTavRhVLk9C8RD9PTdT2i2gaUNnQA,63155
13
- pymud-0.18.4.post1.dist-info/WHEEL,sha256=oiQVh_5PnQM0E3gPdiz09WCNmwiHDMaGer_elqB3coM,92
14
- pymud-0.18.4.post1.dist-info/entry_points.txt,sha256=diPUOtTkhgC1hVny7Cdg4aRhaHSynMQoraE7ZhJxUcw,37
15
- pymud-0.18.4.post1.dist-info/top_level.txt,sha256=8Gp1eXjxixXjqhhti6tLCspV_8s9sNV3z5Em2_KRhD4,6
16
- pymud-0.18.4.post1.dist-info/RECORD,,
11
+ pymud-0.18.4.post3.dist-info/LICENSE.txt,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
12
+ pymud-0.18.4.post3.dist-info/METADATA,sha256=aIyUik2y1asIUOmK6R_gZzaMqKKyazlssZjDH7XYCsY,63456
13
+ pymud-0.18.4.post3.dist-info/WHEEL,sha256=oiQVh_5PnQM0E3gPdiz09WCNmwiHDMaGer_elqB3coM,92
14
+ pymud-0.18.4.post3.dist-info/entry_points.txt,sha256=diPUOtTkhgC1hVny7Cdg4aRhaHSynMQoraE7ZhJxUcw,37
15
+ pymud-0.18.4.post3.dist-info/top_level.txt,sha256=8Gp1eXjxixXjqhhti6tLCspV_8s9sNV3z5Em2_KRhD4,6
16
+ pymud-0.18.4.post3.dist-info/RECORD,,