File: example_01.py

package info (click to toggle)
python-pbcommand 0.2.17-1~bpo8%2B1
  • links: PTS, VCS
  • area: main
  • in suites: jessie-backports
  • size: 556 kB
  • sloc: python: 3,451; makefile: 200
file content (34 lines) | stat: -rw-r--r-- 1,370 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
import pprint

from pbcommand.models.common import (FileTypes, ResourceTypes, SymbolTypes, TaskTypes)
from pbcommand.models.parser import get_pbparser
from pbcommand.models.tool_contract import ToolDriver


def _example_options(p):
    p.add_input_file_type(FileTypes.BAM, "ubam", "Unaligned BAM", "A General description of BAM")
    p.add_input_file_type(FileTypes.DS_REF, "ref", "Reference", "Reference Dataset XML")
    p.add_int("mytool.task_options.myoption", "myopt", 7, "My Option", "My Option which does this and that")
    p.add_str("mytool.task_options.myopt2", "mylabel", "Stuff", "My Option name", "My Option2 description")
    p.add_output_file_type(FileTypes.REPORT, "rpt", "Json Report", "Mapping Stats Report Task", "mapping-stats.report.json")
    return p


def example_01():
    driver = ToolDriver("my-exe --config")
    resource_types = (ResourceTypes.TMP_DIR, ResourceTypes.LOG_FILE)
    p = get_pbparser("pbcommand.tools.example", "0.1.2", "My Description", driver, TaskTypes.DISTRIBUTED, SymbolTypes.MAX_NPROC, resource_types)
    return _example_options(p)


def example_02():
    p = example_01()

    print "Generated Manifest"
    pprint.pprint(p.parsers[1].to_tool_contract())

    # ipython will dump out here. with non-zero exitcode. blah...
    print "Running Argparse --help"
    p.parsers[0].parser.parse_args(["--help"])

    return p