Source code for pyPamtra.tools

# -*- coding: utf-8 -*-

from __future__ import division, print_function
import numpy as np
import traceback
import warnings
import sys


[docs]class sftp2Cluster(object): def __init__(self, machinename, username): import paramiko self.ssh = paramiko.SSHClient() self.ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) self.ssh.connect(machinename, username=username) self.sftp = self.ssh.open_sftp() def __del__(self): self.ssh.close()
[docs] def put(self, filename, data): try: self.sftp.mkdir(os.path.dirname(filename)) except IOError: pass f = self.sftp.open(filename, 'w') f.write(data) f.close()
[docs] def rm(self, filename, silent=True): try: self.sftp.remove(filename) print("removed %s" % (filename)) except IOError: if silent: pass else: raise IOError
[docs] def mv(self, oldFile, newFile): self.sftp.rename(oldFile, newFile)
[docs]def formatExceptionInfo(maxTBlevel=5): cla, exc, trbk = sys.exc_info() excName = cla.__name__ try: excArgs = exc.__dict__["args"] except KeyError: excArgs = "<no args>" excTb = traceback.format_tb(trbk, maxTBlevel) return (excName, excArgs, excTb)