搜索矿山目录
项目描述
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 对象。此对象上的典型属性包括 name、business_email、major、classification 和 department;然而,只有 name 属性是保证存在的。
每个 Person 对象还有一些属性
- username:
基于 business_email(以及未来可能更多的信息),对用户用户名的“最佳猜测”,否则为 None。
- desc:
对个人的自动简短描述,例如:计算机科学本科学生。
每个人的名字也是一个特殊的 Name 类型,包含 first、last 和 nick 属性。您可以使用 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_name 或 search_by_partial 函数限制输入范围,请分别使用 --input=name 或 --input=partial。
$ dirsearch --input=partial "jrosent" Jack Rosenthal ...
Mutt 使用方法
将以下内容添加到您的 .muttrc
set query_command = "dirsearch --format=mutt %s"
然后按 Q 使用搜索来编写,或者在编写名字或地址时按 ^T。
项目详情
下载文件
下载适合您平台的应用程序。如果您不确定要选择哪个,请了解有关 安装包 的更多信息。