Basic obi less

This commit is contained in:
Celine Mercier
2017-10-04 15:46:26 +02:00
parent 532d8e9cd7
commit 1cb05de7e3

View File

@ -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='<DMS NAME>',
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='<VIEW NAME>',
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='<N>',
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]))