chirp::Client Class Reference

Python Client object. More...

Public Member Functions

def __init__
 Create a new chirp client.
def whoami
 Returns a string with identity of the client according to the server.
def listacl
 Returns a string with the ACL of the given directory.
def setacl
 Returns a string with the ACL of the given directory.
def resetacl
 Set the ACL for the given directory to be only for the rights to the calling user.
def ls
 Returns a list with the names of the files in the path.
def stat
 Returns a Chirp.Stat object with information on path.
def chmod
 Changes permissions on path.
def put
 Copies local file/directory source to the chirp server as file/directory destination.
def get
 Copies server file/directory source to the local file/directory destination.
def rm
 Removes the given file or directory from the server.
def mkdir
 Recursively create the directories in path.
def hash
 Computes the checksum of path.
def job_create
 Creates a chirp job.
def job_kill
 Kills the jobs identified with the different job ids.
def job_commit
 Commits (starts running) the jobs identified with the different job ids.
def job_reap
 Reaps the jobs identified with the different job ids.
def job_status
 Obtains the current status for each job id.
def job_wait
 Waits waiting_time seconds for the job_id to terminate.

Detailed Description

Python Client object.

This class is used to create a chirp client


Member Function Documentation

def chirp::Client::__init__ (   self,
  hostport,
  timeout = 60,
  authentication = None,
  tickets = None,
  debug = False 
)

Create a new chirp client.

Parameters:
self Reference to the current task object.
hostport The host:port of the server.
timeout The time to wait for a server response on every request.
authentication A list of prefered authentications. E.g., ['tickets', 'unix']
debug Generate client debug output.
def chirp::Client::whoami (   self,
  absolute_stop_time = None,
  timeout = None 
)

Returns a string with identity of the client according to the server.

Parameters:
self Reference to the current task object.
absolute_stop_time If given, maximum number of seconds since epoch to wait for a server response. (Overrides any timeout.)
timeout If given, maximum number of seconds to wait for a server response.
def chirp::Client::listacl (   self,
  path = '/',
  absolute_stop_time = None,
  timeout = None 
)

Returns a string with the ACL of the given directory.

Throws an IOError on error (no such directory).

Parameters:
self Reference to the current task object.
path Target directory.
absolute_stop_time If given, maximum number of seconds since epoch to wait for a server response. (Overrides any timeout.)
timeout If given, maximum number of seconds to wait for a server response.
def chirp::Client::setacl (   self,
  path,
  subject,
  rights,
  absolute_stop_time = None,
  timeout = None 
)

Returns a string with the ACL of the given directory.

Throws a GeneralError on error.

Parameters:
self Reference to the current task object.
path Target directory.
subject Target subject.
rights Permissions to be granted.
absolute_stop_time If given, maximum number of seconds since epoch to wait for a server response. (Overrides any timeout.)
timeout If given, maximum number of seconds to wait for a server response.
def chirp::Client::resetacl (   self,
  path,
  rights,
  absolute_stop_time = None,
  timeout = None 
)

Set the ACL for the given directory to be only for the rights to the calling user.

Throws a GeneralError on error.

Parameters:
self Reference to the current task object.
path Target directory.
rights Permissions to be granted.
absolute_stop_time If given, maximum number of seconds since epoch to wait for a server response. (Overrides any timeout.)
timeout If given, maximum number of seconds to wait for a server response.
def chirp::Client::ls (   self,
  path,
  absolute_stop_time = None,
  timeout = None 
)

Returns a list with the names of the files in the path.

Throws an IOError on error (no such directory).

Parameters:
self Reference to the current task object.
path Target file/directory.
absolute_stop_time If given, maximum number of seconds since epoch to wait for a server response. (Overrides any timeout.)
timeout If given, maximum number of seconds to wait for a server response.
def chirp::Client::stat (   self,
  path,
  absolute_stop_time = None,
  timeout = None 
)

Returns a Chirp.Stat object with information on path.

Throws an IOError on error (e.g., no such path or insufficient permissions).

Parameters:
self Reference to the current task object.
path Target file/directory.
absolute_stop_time If given, maximum number of seconds since epoch to wait for a server response. (Overrides any timeout.)
timeout If given, maximum number of seconds to wait for a server response.
def chirp::Client::chmod (   self,
  path,
  mode,
  absolute_stop_time = None,
  timeout = None 
)

Changes permissions on path.

Throws a GeneralFailure on error (e.g., no such path or insufficient permissions).

Parameters:
self Reference to the current task object.
path Target file/directory.
mode Desired permissions (e.g., 0755)
absolute_stop_time If given, maximum number of seconds since epoch to wait for a server response. (Overrides any timeout.)
timeout If given, maximum number of seconds to wait for a server response.
def chirp::Client::put (   self,
  source,
  destination = None,
  absolute_stop_time = None,
  timeout = None 
)

Copies local file/directory source to the chirp server as file/directory destination.

If destination is not given, source name is used. Raises Chirp.TransferFailure on error.

Parameters:
self Reference to the current task object.
source A local file or directory.
destination File or directory name to use in the server (defaults to source).
absolute_stop_time If given, maximum number of seconds since epoch to wait for a server response. (Overrides any timeout.)
timeout If given, maximum number of seconds to wait for a server response.
def chirp::Client::get (   self,
  source,
  destination = None,
  absolute_stop_time = None,
  timeout = None 
)

Copies server file/directory source to the local file/directory destination.

If destination is not given, source name is used. Raises Chirp.TransferFailure on error.

Parameters:
self Reference to the current task object.
source A server file or directory.
destination File or directory name to be used locally (defaults to source).
absolute_stop_time If given, maximum number of seconds since epoch to wait for a server response. (Overrides any timeout.)
timeout If given, maximum number of seconds to wait for a server response.
def chirp::Client::rm (   self,
  path,
  absolute_stop_time = None,
  timeout = None 
)

Removes the given file or directory from the server.

Raises OSError on error.

Parameters:
self Reference to the current task object.
path Target file/directory.
absolute_stop_time If given, maximum number of seconds since epoch to wait for a server response. (Overrides any timeout.)
timeout If given, maximum number of seconds to wait for a server response.
def chirp::Client::mkdir (   self,
  path,
  mode = 493,
  absolute_stop_time = None,
  timeout = None 
)

Recursively create the directories in path.

Raises OSError on error.

Parameters:
self Reference to the current task object.
path Target file/directory.
mode Unix permissions for the created directory.
absolute_stop_time If given, maximum number of seconds since epoch to wait for a server response. (Overrides any timeout.)
timeout If given, maximum number of seconds to wait for a server response.
def chirp::Client::hash (   self,
  path,
  algorithm = 'sha1',
  absolute_stop_time = None,
  timeout = None 
)

Computes the checksum of path.

Raises IOError on error.

Parameters:
self Reference to the current task object.
path Target file.
algorithm One of 'md5' or 'sha1' (default).
absolute_stop_time If given, maximum number of seconds since epoch to wait for a server response. (Overrides any timeout.)
timeout If given, maximum number of seconds to wait for a server response.
def chirp::Client::job_create (   self,
  job_description 
)

Creates a chirp job.

See http://ccl.cse.nd.edu/software/manuals/chirp.html for details.

Parameters:
job_description A dictionary with a job chirp description.
    job_description = {
        'executable': "/bin/tar",
        'arguments':  [ 'tar', '-cf', 'archive.tar', 'a', 'b' ],
        'files':      { 'task_path': 'a',
                        'serv_path': '/users/magrat/a.txt'
                        'type':      'INPUT' },
                      { 'task_path': 'b',
                        'serv_path': '/users/magrat/b.txt'
                        'type':      'INPUT' },
                      { 'task_path': 'archive.tar',
                        'serv_path': '/users/magrat/archive.tar'
                        'type':      'OUTPUT' }
    }
    job_id = client.job_create(job_description);
def chirp::Client::job_kill (   self,
  job_ids 
)

Kills the jobs identified with the different job ids.

Parameters:
job_ids Job ids of the chirp jobs to be killed.
def chirp::Client::job_commit (   self,
  job_ids 
)

Commits (starts running) the jobs identified with the different job ids.

Parameters:
job_ids Job ids of the chirp jobs to be committed.
def chirp::Client::job_reap (   self,
  job_ids 
)

Reaps the jobs identified with the different job ids.

Parameters:
job_ids Job ids of the chirp jobs to be reaped.
def chirp::Client::job_status (   self,
  job_ids 
)

Obtains the current status for each job id.

The value returned is a list which contains a dictionary reference per job id.

Parameters:
job_ids Job ids of the chirp jobs to be reaped.
def chirp::Client::job_wait (   self,
  waiting_time,
  job_id = 0 
)

Waits waiting_time seconds for the job_id to terminate.

Return value is the same as job_status. If the call timesout, an empty string is returned. If job_id is missing, C<<job_wait>> waits for any of the user's job.

Parameters:
waiting_time maximum number of seconds to wait for a job to finish.
job_id id of the job to wait.

The documentation for this class was generated from the following file:

Generated on 14 Dec 2016 for cctools by  doxygen 1.6.1