Skip to content

A simple ChRIS 'ts' app to copy filtered output directories from many plugin instances

License

Notifications You must be signed in to change notification settings

FNNDSC/pl-tsdircopy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

pl-tsdircopy

https://img.shields.io/docker/v/fnndsc/pl-tsdircopy https://img.shields.io/github/license/fnndsc/pl-tsdircopy

A plugin ts app to efficiently copy one or more obj storage directories.

tsdircopy is a ChRIS-based application to efficiently copy the contents of one or more obj storage directories, given by the --dir argument, to its output directory. This argument is a string containing one or more directories separated by comma. Unlike dircopy it doesn't create a new feed and unlike dsdircopy it doesn't require a input dir positional argument.

python tsdircopy.py
        [-h] [--help]
        [--json]
        [--man]
        [--meta]
        [--savejson <DIR>]
        [-v <level>] [--verbosity <level>]
        [--version]
        <outputDir>
        --dir <DIR>
        [--plugininstances <instances>]
        [-f <filter>] [--filter <filter>]
        [-g] [--groupByInstance]
[-h] [--help]
If specified, show help message and exit.

[--json]
If specified, show json representation of app and exit.

[--man]
If specified, print (this) man page and exit.

[--meta]
If specified, print plugin meta data and exit.

[--savejson <DIR>]
If specified, save json representation file to DIR and exit.

[-v <level>] [--verbosity <level>]
Verbosity level for app. Not used currently.

[--version]
If specified, print version number and exit.

<outputDir>
Output directory.

--dir <DIR>
Required, it's a string representing a comma-separated list of one or more
directories.

[--plugininstances <instances>]
If specified, it's a string representing a comma-separated list of plugin
instance ids.

[-f <filter>] [--filter <filter>]
If specified, it's a string representing a comma-separated list of regular
expressions.

[-g] [--groupByInstance]
If specified then an output directory is created for each input plugin instance
within this plugin app's output path

Getting inline help is:

docker run --rm fnndsc/pl-tsdircopy tsdircopy --man

You need you need to specify the output directories using the -v flag to docker run.

docker run --rm -u $(id -u) -v $(pwd)/out:/outgoing      \
    fnndsc/pl-tsdircopy tsdircopy /outgoing --dir <DIR>

Build the Docker container:

docker build -t local/pl-tsdircopy .

Run unit tests:

docker run --rm local/pl-tsdircopy nosetests

This example will copy all files in the cube/uploads and SERVICES/PACS/BCH directories into the output dir. Note: This is a utility 'ts' plugin that only works in the context of the ChRIS platform.

docker run --rm -v $(pwd)/out:/outgoing fnndsc/pl-tsdircopy    \
tsdircopy /outgoing --dir 'cube/uploads,SERVICES/PACS/BCH'
https://raw.githubusercontent.com/FNNDSC/cookiecutter-chrisapp/master/doc/assets/badge/light.png

About

A simple ChRIS 'ts' app to copy filtered output directories from many plugin instances

Topics

Resources

License

Stars

Watchers

Forks

Packages