Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

pinkopy is a Python wrapper for the Commvault api.

License

NotificationsYou must be signed in to change notification settings

theherk/pinkopy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

pinkopy is a Python wrapper for the Commvault api. Support for Commvault v11 api was added in v2.0.0.

Installation

from PyPI

pip install pinkopy

from source

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

Usage

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 doesn't have to be used as a context manager.

commvault=CommvaultSession(**config)

pinkopy used to have all the methods on one class. Now, the methods are divided among several classes and are similar to how the api, itself, is laid out. However, the methods that existed when the modularity was introduced, a shim was also introduced to be backwards compatible. So those methods can be called on the CommvaultSession instance directly.

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

This way, you old code works. In addition, you can instantiate just the session you need if you prefer.

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

Cache

The biggest introduction in 2.0.0 was an improved take on caching. Rather than implementing our own ill-conceived cache, we implemented a greatttl_cache that useslru_cache from the core library. It is from a library calledcachetools. The implementation allows you to pass in a list of methods you want to use this cache or provides very sensible defaults if you don't.

The cache, for the duration ofcache_ttl, will respond with the previous return value without running the function. So, for instance, theget_clients call could take several seconds on the first call, but only a few milliseconds on following calls.

By default, we cache for 20 minutes, but you can set this value, too.

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

Or turn off the cache entirely.

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

Contribution

Please do contribute to this repository. It currently only supports a small set of the api provided by Commvault. However, if you do contribute, please follow these guidelines.

Guidelines

  • UseGitflow. Your pull requests must come from a Gitflow branch.
    • feature/yourfeature
    • bugfix/issuenumber
  • ONLY imperative commit messages. Line one is one imperative, brief sentence. Following lines may have more details.
  • Builds must pass (which should be pretty easy right now, since there are no tests).
  • Never commit binary files.
  • Make sure you are committing with your Github user.

Name

The name was originally going to be commpy, but then I liked commiepy. From here it was only a small leap to pinkopy, a tribute to a dear friend of mine.

About

pinkopy is a Python wrapper for the Commvault api.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages


[8]ページ先頭

©2009-2025 Movatter.jp