用于commvault api的python包装器

pinkop的Python项目详细描述


Build StatusPyPI VersionPyPI DownloadsJoin the chat at https://gitter.im/theherk/pinkopy

pinkopy是commvault api的python包装器。支持CommVault 在v2.0.0中添加了v11 api。

安装

来自Pypi

pip install pinkopy

来源

git clone git@github.com:theherk/pinkopy.git
pip install pinkopy

用法

frompinkopyimportCommvaultSessionconfig={'service':'service url','user':'username','pw':'password'}withCommvaultSession(**config)ascommvault:client_jobs=commvault.jobs.get_jobs('1234',job_filter="Backup")cust_jobs=commvault.jobs.get_subclient_jobs(client_jobs,'12345678',last=3)# multi statusforjobincust_jobs:job_id=job['jobSummary']['jobId']job_details=commvault.jobs.get_job_details('1234',job_id)job_vmstatus=commvault.jobs.get_job_vmstatus(job_details)

Pinkopy不必用作上下文管理器。

commvault=CommvaultSession(**config)

Pinkopy过去在一个类上拥有所有的方法。现在,方法是 被分成几个类,类似于api本身 布置好了。然而,模块化存在的方法是 引入了一个垫片,使其向后兼容。所以 这些方法可以直接在commvaultsession实例上调用。

client_properties=commvault.clients.get_client_properties('2234')# or the old wayclient_properties=commvault.get_client_properties('2234')

这样,你的旧代码就可以工作了。另外,您可以实例化 如果你愿意的话,你需要的课程。

withSubclientSession(**config)assubclients:subclients=subclients.get_subclients('2234')

缓存

2.0.0中最大的引入是对缓存的改进。 我们实现了一个 伟大的 ttl_cache 使用 lru_cache 从核心图书馆。这是从一个叫 cachetools。这个 实现允许您传入要使用的方法的列表 如果没有,此缓存或提供非常合理的默认值。

cache_ttl期间,缓存将用 不运行函数的上一个返回值。比如说, 第一次调用get_clients可能需要几秒钟, 但在接下来的通话中只有几毫秒。

默认情况下,我们缓存20分钟,但您也可以设置此值。

cache_methods=['get_clients','get_subclients']withCommvaultSession(cache_ttl=120,cache_methods=cache_methods,**config)ascommvault:clients1=commvault.clients.get_clients()# slowclients2=commvault.clients.get_clients()# fast# ... fast

或者完全关闭缓存。

withCommvaultSession(use_cache=False,**config)ascommvault:clients1=commvault.clients.get_clients()# slowclients2=commvault.clients.get_clients()# slow but fresh

贡献

请向此存储库投稿。它目前只支持 commvault提供的一组小api。但是,如果你这样做了 贡献,请遵循这些准则。

指南

  • 使用 Gitflow。 您的请求必须来自gitflow分支。
    • 功能/您的功能
    • 错误修复/问题编号
  • 仅限命令式提交消息。第一行是必须的, 简短的句子。下面几行可能有更多细节。
  • 构建必须通过(现在应该很容易,因为 没有测试)。
  • 不要提交二进制文件。
  • 确保向github用户提交。

名称

名字本来是commpy,但后来我喜欢commepy。 从这里到平克比只有一小步之遥,这是对一位亲爱的 我的朋友。

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

推荐PyPI第三方库


热门话题
java如何在ArrayList<List>中选择我的列表中的哪一列用于排序我的ArrayList?   Java设计模式相当于Smalltalk的:   如何在Java中说stringA>stringB   用Python重写Java代码的Python方式   java如何在Mybatis for Postgresql db中使用like(非IN)编写查询?   java看不到如何禁用AlertDialog对话框   java正常转换,但照明仍然很奇怪?   为什么Java中存在检查和未检查异常   使用Flink的JavaSpringBootGradle项目不起作用   java我可以在最终hashmap中存储函数名以供执行吗?   java无法理解实际应用程序中的枚举   java Hibernate注释执行内部连接   java Jenkins Maven3错误,工件已启用   数组的java打印内容只返回[null,null,null,null]   java对同一实体的多个更新   java将日期从一个时区转换为本地时区   jface tableviewer中的java多行功能或换行文本功能   ArrayList是如何在Java中实现的?   如何将程序的输出像矩阵一样写入文件,Java   java EasyMock和返回泛型类的方法