跳转到主要内容

基于文本游戏的远程工具。

项目描述

远程工具

基于文本游戏的远程工具。

这个包主要用于格式化用于MUDs和MOOs等文本游戏的社会字符串。

一个社会字符串可能看起来像

%1N smile%1s at %2n.

快速入门

首先准备一个工厂。你可以使用基本的SocialsFactory类或者方便使用的PopulatedSocialsFactory

第二个类包含有用的英语语法后缀,用于正确地将单词如are转换为is,以及正确使用e和s作为单词末尾。

from emote_utils import PopulatedSocialsFactory
f = PopulatedSocialsFactory()
@f.suffix('n', 'name')
    def get_name(obj, suffix):
        return ('you', obj.name)

接下来,让我们创建一个测试类。

class Person:
    def __init__(self, name):
        self.name = name

p1 = Person('Jack')
p2 = Person('Jill')

现在我们将获取可以发送给Jack、Jill和其他应该看到消息的人的字符串。

jack_string, jill_string, others_string = f.get_strings('%1N smile%1s at %2n.', [p1, p2])
print(jack_string)

你对Jill微笑。

print(jill_string)

Jack向你微笑。

print(others_string)

Jack向Jill微笑。

更高级的用法

社交格式化程序

每个社交格式化程序由三部分组成

  • 一个百分号(%)表示社交格式化程序的开始。
  • 一个可选的数字,表示你希望引用的对象列表中的索引。
  • 一个可选的筛选器名称,前面有一个竖线(|)。

默认值

  • 如果没有提供索引,则使用SocialsFactory.default_index
  • 如果没有提供后缀,则使用SocialsFactory.default_suffix
  • 如果没有提供筛选器,则可能发生以下三种情况之一。

以下列表中,后缀指的是作为社会字符串一部分提供或SocialsFactory实例的default_suffix属性上的后缀名称。

属性名称指的是调用get_stringsSocialsFactory的属性。

  • 如果后缀是标题大小写,则使用title_case_filter属性。
  • 如果后缀全部为大写,则使用upper_case_filter属性。
  • 如果这两个都不成立,则假设后缀是小写,并使用lower_case_filter。

当然,任何这些名称都可能是None,在这种情况下不会应用筛选。

筛选器

这是一个自定义过滤器的示例。

f.filters['strong'] = lambda string: f'<strong>{string}</strong>'

如果您要将社会字符串打印到HTML中,可以使用此过滤器使文本的某些部分突出显示。

创建此过滤器后,您可以这样做:

%1N punch%1e %2n|strong.

字符串可能看起来像这样:

约翰打 杰克

结论

要查看所有其他配置选项,请参阅包中的docstrings。

项目详情


下载文件

下载适用于您的平台文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源分布

emote_utils-2.0.1.tar.gz (14.3 kB 查看哈希值)

上传时间

构建分布

emote_utils-2.0.1-py3-none-any.whl (12.2 kB 查看哈希值)

上传时间 Python 3

由支持