用于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在EclipseIndigo上安装新的Glassfish服务器   java打印组织的最短方法是什么。w3c。多姆。文件发送到stdout?   安卓 java。lang.NullPointerException:尝试在oncreate方法中的null对象引用上调用virtual方法   linux java,我的线程无一例外地终止了,为什么?   JSON和Lombok构造函数的java问题Jackson反序列化   Spring引导升级后,java无法实例化自定义库的数据源   输入Kotlin中Java Scanner的等价物是什么?   列表vs数组作为java中递归的参数   创建名为“FilterService”的bean时发生java错误:通过字段“filterDAO”表示的未满足的依赖关系   如何在Java(基本上是Android)中将指纹图像的字节数组转换为iso 19794_2?   java如何使用基本适配器单击每个位置   java如何更新数据库显示消息“您的数据库已更新,没有任何错误,但实际上我的数据库未更新”   不同比例的安卓屏幕设备的java程序   java Android For循环,全局静态列表与本地列表