From d252131950a3c680ac8b494cad4efe6653a22580 Mon Sep 17 00:00:00 2001 From: Celine Mercier Date: Wed, 5 Jul 2017 13:44:12 +0200 Subject: [PATCH] Basic obi less command --- python/obitools3/commands/less.pyx | 57 ++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 python/obitools3/commands/less.pyx diff --git a/python/obitools3/commands/less.pyx b/python/obitools3/commands/less.pyx new file mode 100644 index 0000000..175b814 --- /dev/null +++ b/python/obitools3/commands/less.pyx @@ -0,0 +1,57 @@ +#cython: language_level=3 + +from obitools3.dms.dms import DMS # TODO cimport doesn't work +from obitools3.dms.view.view import View # TODO cimport doesn't work + + +# TODO with URIs + +__title__="Less equivalent" + +default_config = { 'inputview' : None, + } + +def addOptions(parser): + + # TODO put this common group somewhere else but I don't know where + group=parser.add_argument_group('DMS and view options') + + group.add_argument('--default-dms','-d', + action="store", dest="obi:defaultdms", + metavar='', + default=None, + type=str, + help="Name of the default DMS for reading and writing data.") + + group.add_argument('--view','-v', + action="store", dest="obi:view", + metavar='', + default=None, + type=str, + help="Name of the view to print.") + + + group=parser.add_argument_group('obi less specific options') + + group.add_argument('--print', '-n', + action="store", dest="less:print", + metavar='', + default=10, + type=int, + help="Print N sequences (default: 10)") + + +def run(config): + + # Open DMS + d = DMS.open(config['obi']['defaultdms']) + + # Open input view + iview = View.open(d, config['obi']['inputview']) + + # Print + for i in range(config['less']['print']) : + print(repr(iview[i])) + + d.close() +