WEB开发网
开发学院软件开发Python 一个用于 Python 的 CMIS API 库,第 2 部分: 使用... 阅读

一个用于 Python 的 CMIS API 库,第 2 部分: 使用 Python 和 cmislib 构建真正的 ECM 工具

 2010-05-05 00:00:00 来源:WEB开发网   
核心提示: 步骤 2:使用 cmislib 初始化您的 CMIS 连接清单 4 最终开始执行一些真正的 CMIS 工作,首先必须导入 cmislib 模块,一个用于 Python 的 CMIS API 库,第 2 部分: 使用 Python 和 cmislib 构建真正的 ECM 工具(7),首先,使用此前

步骤 2:使用 cmislib 初始化您的 CMIS 连接

清单 4 最终开始执行一些真正的 CMIS 工作。首先必须导入 cmislib 模块。首先,使用此前(在清单 2 和 3 中)获取的值初始化客户端对象;然后,获取 defaultRepository 对象 repo。接下来,使用 getObjectByPath(path) 调用尝试获取目标文件夹。(注意,cmislib 能够帮助您轻松获取这个对象,就像从这个标准 Python 库获取一个本地文件夹对象一样。)如果这个操作由于某种原因失败(比如指定的文件夹不存在),则这个任务将失败并显示一条恰当的消息。那么,您需要使用 getTypeDefinition() 调用对目标类型定义执行一个类似的健全性检查。

拥有这两个有效的 cmislib 对象后,您知道您拥有的与目标系统相关的所有信息都是正确的,因此可以继续进行处理。注意用于初始化 folderCacheDict dictionary 对象的那一行。如果稍后再次需要这个文件夹对象,可以从这个缓存获取它,而不是再往返一次去获取它。注意,这个缓存对于您使用的特定遍历算法并不真正需要,我在这里使用它只是为了展示当您将来需要扩展这个工具时应该怎样做。

清单 4. 初始化 CmisClient 并获取目标文件夹和目标类对象

from cmislib.model import CmisClient 
 
# initialize the client object based on the passed in values 
client = CmisClient(UrlCmisService, user_id, password) 
repo = client.defaultRepository 
 
# test to see if the target folder is valid 
targetCmisLibFolder = None 
try: 
  targetCmisLibFolder = repo.getObjectByPath(targetCmisFolderStartingPath) 
except: 
  # terminate if we can't get a folder object 
  print "The target folder specified can not be found:" + targetCmisFolderStartingPath 
  sys.exit() 
 
# initialize the folder cache with the starting folder 
folderCacheDict = {targetCmisFolderStartingPath : targetCmisLibFolder} 
 
# test to see if the target class type is valid 
targetTypeDef = None 
try: 
  targetTypeDef = repo.getTypeDefinition(targetClassName) 
except: 
  # terminate if we can't get the target class type definition object 
  print "The target class type specified can not be found:" + targetClassName 
  sys.exit() 

上一页  2 3 4 5 6 7 8 9 10  下一页

Tags:一个 用于 Python

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接