diff --git a/python/obitools3/commands/less.pyx b/python/obitools3/commands/less.pyx index 67cde9e..5d578bd 100644 --- a/python/obitools3/commands/less.pyx +++ b/python/obitools3/commands/less.pyx @@ -1,35 +1,15 @@ #cython: language_level=3 -from obitools3.dms.dms cimport DMS # TODO cimport doesn't work -from obitools3.dms.view.view cimport View # TODO cimport doesn't work +from obitools3.apps.optiongroups import addSequenceInputOption +from obitools3.uri.decode import open_uri - -# 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.") - + + addSequenceInputOption(parser) group=parser.add_argument_group('obi less specific options') @@ -38,29 +18,24 @@ def addOptions(parser): metavar='', default=10, type=int, - help="Print N sequences (default: 10)") + help="Print N entries (default: 10)") def run(config): - cdef DMS d - cdef View view + cdef object entries cdef int n - - # Open DMS - d = DMS.open(config['obi']['defaultdms']) - - # Open input view - view = View.open(d, config['obi']['view']) + + input = open_uri(config['obi']['inputURI']) + + entries = input[1] - if config['less']['print'] > len(view) : - n = len(view) + if config['less']['print'] > len(entries) : + n = len(entries) else : n = config['less']['print'] # Print for i in range(n) : - print(repr(view[i])) - - d.close() + print(repr(entries[i]))