Minimum Intrusion Grid (MiG) Utilities library


Install
pip install mig-utils==0.1.7.4

Documentation

mig_utils

https://travis-ci.org/rasmunk/mig_utils.svg?branch=master

A Minimum Intrusion Grid(MiG) utilities python library: It includes the mig.io module that provides access to MiG Sharelinks through python by wrapping around (https://github.com/althonos/fs.sshfs) for sshfs connections and (https://github.com/ParallelSSH/ssh2-python.git) for sftp which is the default and recommended connection

Installation

Installation from pypi

pip install mig-utils

Installation from a local git repository

cd mig-utils
pip install .

IO Example

ERDA (https://erda.dk) sharelink access with python3 example. A likewise sharelink class (IdmcShare) exists for IDMC (https://idmc.dk)

# First import the class that gives you access to the share in question*
from mig.io import ERDAShare, IDMCShare

# ERDA Sharelink example
print("ERDA")
# Open connection to a sharelink
erda_share = ERDAShare('SHARELINKID')
# List files/dirs in share
print(erda_share.list())

with erda_share.open('tmp', 'w') as tmp:
    tmp.write("sdfsfsf")

# Get a _io.SFTPFileHandle object with automatic close
with erda_share.open('tmp', 'r') as tmp:
    print(tmp.read())

# Get a default _io.SFTPFileHandle object with manual lifetime
file = erda_share.open('tmp', 'r')
print(file.read())
file.close()

# remove file
erda_share.remove('tmp')

print("\n")

# IDMC Sharelink example
print("IDMC")
# Open connection to a sharelink
idmc_share = IDMCShare('SHARELINKID')
# List files/dirs in share
print(idmc_share.list())

# write binary string
with idmc_share.open('b_tmp', 'wb') as b_tmp:
    b_tmp.write(b'sadasdasd')

# Get a _io.SFTPFileHandle object with automatic close
with idmc_share.open('b_tmp', 'rb') as tmp:
    print(tmp.read())

# Get a default _io.TextIOWrapper object with manual lifetime
file = idmc_share.open('b_tmp', 'rb')
print(file.read())
file.close()