gpt4 book ai didi

python - 如何在临时文件夹中使用 CMIS repo.query

转载 作者:行者123 更新时间:2023-11-30 23:36:16 25 4
gpt4 key购买 nike

作为集成测试的一部分,我在子文件夹中创建文档:

class CmisTestBase(unittest.TestCase):
def setUp(self):
""" Create a root test folder for the test. """
logger.debug("Creating client")
self.cmis_client = CmisClient(REPOSITORY_URL, USERNAME, PASSWORD)
logger.debug("Getting default repo")
self.repo = self.cmis_client.getDefaultRepository()
logger.debug("Getting root folder")
self.root_folder = self.repo.getObjectByPath(TEST_ROOT_PATH)
logger.debug("Creating test folder")
self.folder_name = ".".join(['cmislib', self.__class__.__name__, str(time.time())])
self.test_folder = self.root_folder.createFolder(self.folder_name)

def tearDown(self):
""" Clean up after the test. """
logger.debug("Deleting test folder")
self.test_folder.deleteTree()

在我的测试中,我创建文档,然后测试是否可以使用 repo.query 查询它们:

class SearchNoauth(SearchTest):
def setUp(self):
super(SearchNoauth, self).setUp()

def tearDown(self):
super(SearchNoauth, self).tearDown()

def test_noauth_empty(self):
logger.debug("Calling test_noauth_empty")
# Create a single document
self.create_document_simple()
# Retrieve all documents (No argument passed)
response = self.client.profile_noauth()
self.assertEqual(response.status_code, 200)
result_data = response.json()
logger.debug("results: {0}".format(pformat(result_data, indent=4)))
self.assertEqual(len(result_data), 1)

但据我所知,在测试范围内创建的自定义内容未找到,因为默认存储库不会搜索测试文件夹。

我希望有一个 API:

  • 允许搜索文件夹(不仅仅是存储库)或

  • 支持在特定文件夹中查找对象的语法

如何构建 CMIS 查询来查找文件夹中匹配的自定义文档?

<小时/>

多一点:

  • self.client.profile_noauth 是对 Python 客户端库中 profile_noauth 方法的调用
  • 访问金字塔服务器
  • 聚合了多种服务,包括 Alfresco,
  • 并最终针对 Alfresco 默认存储库调用 repo.query

这个问题的大部分内容是如何修改外观服务的 CMIS 查询以在文件夹中查找。

<小时/>

后来:我想I may have an answer 。基本思想是获取文件夹的 ID 并使用 in_folder():

>>> folder = repo.getObjectByPath('/Sites/test-site-1/documentLibrary')
>>> query = """
select cmis:objectId, cmis:name
from cmis:document
where in_folder('%s')
order by cmis:lastModificationDate desc
""" % folder.id

最佳答案

您在帖子中回答了问题。如果您想查询特定文件夹中的文档,可以使用 infolder 子句,这需要您要搜索的文件夹的 ID。

关于python - 如何在临时文件夹中使用 CMIS repo.query,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16657554/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com