跳转到主要内容

搜索矿山目录

项目描述

Mines DirSearch网站允许搜索在Banner系统中列出目录信息的矿山人员。这是对该网站的一个便捷Python接口。

作者::

Jack Rosenthal

需求::

Python 3.4或更高版本,Beautiful Soup 4.4.0或更高版本,Requests

许可::

MIT

贡献::

参见CONTRIBUTING.rst

安装

克隆存储库并安装

$ pip install . --user

或从PyPI安装

$ pip install csmdirsearch --user

Python中使用用法

使用 search(query) 通过用户名(部分)或全名(部分)搜索用户。 search 是一个生成器,将产生唯一的 Person 对象。此对象上的典型属性包括 namebusiness_emailmajorclassificationdepartment;然而,只有 name 属性是保证存在的。

每个 Person 对象还有一些属性

username:

基于 business_email(以及未来可能更多的信息),对用户用户名的“最佳猜测”,否则为 None

desc:

对个人的自动简短描述,例如:计算机科学本科学生。

每个人的名字也是一个特殊的 Name 类型,包含 firstlastnick 属性。您可以使用 strfname 函数将名字转换为字符串,或使用 str(person.name) 进行“合理默认”转换。

>>> name = Name("Rosenthal, Jack (NickName)")
>>> name.strfname("{first} {last}")
'Jack Rosenthal'
>>> str(name)
'Jack (NickName) Rosenthal'

还有在 strfname 中使用的便捷属性

pfirst:

简称“首选名”。如果有昵称,则设置为 nick,否则为 first

nickp:

简称“(如果有,则括号内的)昵称”。如果有昵称,则设置为 ' (nick)',否则为 ''

示例

>>> name = Name("Rosenthal, Jack (NickName)")
>>> name.strfname("{pfirst} {last}")
'NickName Rosenthal'
>>> name.strfname("{first}{nickp} {last}")
'Jack (NickName) Rosenthal'

以下是一个示例

import csmdirsearch
for person in csmdirsearch.search("Jack Rosenthal"):
    print(person.name, person.desc)

如果您希望将搜索限制为仅部分用户名(不涉及真实姓名),请使用 search_by_partial 生成器而不是 search

最后,如果您希望将搜索限制为仅部分全名(最有效),请使用 search_by_name 生成器而不是 search。此生成器还可以限制搜索到特定的分类或部门。阅读源代码以获取更多详细信息。

命令行使用方法

这很简单

$ dirsearch "Jack Rosenthal"
Jack Rosenthal
Undergraduate Student
Business Email: ...

如果您希望使用 search_by_namesearch_by_partial 函数限制输入范围,请分别使用 --input=name--input=partial

$ dirsearch --input=partial "jrosent"
Jack Rosenthal
...

Mutt 使用方法

将以下内容添加到您的 .muttrc

set query_command = "dirsearch --format=mutt %s"

然后按 Q 使用搜索来编写,或者在编写名字或地址时按 ^T

项目详情


下载文件

下载适合您平台的应用程序。如果您不确定要选择哪个,请了解有关 安装包 的更多信息。

源代码发行版

csmdirsearch-0.1.1.tar.gz (7.8 KB 查看散列

上传时间 源代码

构建发行版

csmdirsearch-0.1.1-py3-none-any.whl (7.7 KB 查看散列

上传于 Python 3

由以下组织支持