通过com操作lotus notes/domino对象的python类

noteslib的Python项目详细描述


注意lib

noteslib是一个用于操作lotus的python类库 通过com的notes/domino对象。

noteslib由robert follek创建,当前的维护者是marcelo huerta。

notesLib类对应于标准的lotusscript类;它们 支持所有标准属性和方法。noteslib类有 附加方法和易用性特征。详情见下文 个别课程。

目前提供的课程:

  • 会话
  • 数据库
  • acl
  • acentry

会话

session类创建到notes的com连接。它支持所有人 lotusscript notessessession类的属性和方法,使用 相同的语法。

创建会话对象:

s = noteslib.Session(password)

s = noteslib.Session()

密码是可选的;如果您不提供密码,notes将提示您 密码。

示例:

>>> import noteslib
>>> s = noteslib.Session("password")
>>> s.NotesBuildVersion
166
>>> s.GetEnvironmentString("Directory", -1)
'd:\\notes5.8\\Data'
>>>

session是一个单实例-多个session变量共享一个session 反对。您可以根据需要实例化会话,而不需要性能 惩罚,你只需要建立一次密码。示例:

>>> a = noteslib.Session(password)
>>> id(a)
8429868
>>> b = noteslib.Session()
>>> id(b)
8429868

数据库

数据库类创建到Notes数据库的COM连接。它 支持lotusscript notesdatabase的所有属性和方法 类,使用相同的语法。

您不必先创建会话。数据库对象创建自己的 会话自动。

创建数据库对象:

db = noteslib.Database(server, database_file, password)

db = noteslib.Database(server, database_file)

示例:

>>> import noteslib
>>> db = noteslib.Database("NYNotes1", "ACLTest.nsf", "password")
>>> db.Created
pywintypes.datetime(2001, 6, 30, 11, 12, 40, tzinfo=TimeZoneInfo('GMT Standard Time', True))

为同一数据库创建的多个数据库对象是唯一的对象, 但是它们与底层的notesdatabase对象共享同一个句柄。 您可以根据需要实例化数据库对象,而不需要性能 处罚。示例:

>>> a = noteslib.Database("NYNotes1", "ACLTest.nsf", "password")
>>> id(a)
15281724
>>> id(a._Database__handle)
15286172
>>> b = noteslib.Database("NYNotes1", "ACLTest.nsf")
>>> id(b)
15270044
>>> id(b._Database__handle)
15286172

A和B是不同的对象,但它们共享相同的内部 notesDatabase对象,通过u handle变量。

acl

acl类封装了一个notes数据库acl。它支持所有 lotusscript notesacl类的属性和方法,使用相同的 语法。

附加功能:

  • 可以打印acl对象。它知道如何合理地格式化自己。
  • getAllEntries()方法-将ACL内容作为按名称排序的acEntry对象列表返回。

您不必首先创建会话或数据库对象。acl对象 自动创建自己的会话和数据库对象。

创建acl对象:

acl = noteslib.ACL(server, database_file, password)

acl = noteslib.ACL(server, database_file)

示例:

>>> import noteslib
>>> acl = noteslib.ACL("NYNotes1", "ACLTest.nsf", "password")
>>> for entry in acl.getAllEntries():
...     print (entry.getName())
...
-Default-
Alice Author
Anonymous
bob
Dave Depositor
Donna Designer
LocalDomainServers
OtherDomainServers
Randy Reader

acentry

acentry类封装了一个notes数据库acl条目。它支持 lotusscript notesachlentry类的所有属性和方法, 使用相同的语法。

附加功能:

  • 可以打印aclentry对象。它知道如何合理地格式化自己。
  • 方法-返回条目名。
  • 方法-返回入口级别。
  • 方法-返回按字母顺序排序的条目角色列表。
  • 方法-返回acentry标志的列表,转换为字符串。

这些方法避免了明显的名称,例如getname()而不是name(), 避免与现有NoTeScLItEnter属性冲突。

通常,不会直接创建aclentry对象。相反,你可以 通过acl对象检索aclentry对象的列表 getAllEntries()方法。

示例:

>>> import noteslib
>>> acl = noteslib.ACL("NYNotes1", "ACLTest.nsf", "password")
>>> print (acl.getAllEntries()[3])
Name : bob
Level: Manager
Role : [Role1]
Role : [Role2]
Role : [Role3]
Flag : Create Documents
Flag : Delete Documents
Flag : Create Personal Agents
Flag : Create Personal Folders/Views
Flag : Create Shared Folders/Views
Flag : Create LotusScript/Java Agent
Flag : Read Public Documents
Flag : Write Public Documents

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
数据库在使用TDengine时,如何保持Java客户端的高可用性?   javajavax。命名。无法将引用转换为javax。sql。数据源错误   理解Java中的溢出问题   java如何将数据请求与数据更新过程同步?   java在使用多部分上传图像时如何在客户端获取进程   java如何在FusionCharts中使用json数组?   java哈希映射“无法解析”。可以执行方法,但不能打印   java如何让用户更改JtextArea的背景色   java我们应该如何使用@XMLRootElement配置响应对象而不使用out   java BigQuery BigQueryException更新或删除   java使用新对象更新ArrayList+删除旧对象   java Alarmmanager立即启动   javascript实时Html推送通知   安卓如何从java代码更改视图大小   java Kafka 1.1多个消费群体滞后   多线程Java使用FileWriter写入同一文件引入多线程   java Jdbc连接池,按用户名进行连接缓存   java错误使用OpenGL?