Basic obi less
This commit is contained in:
@ -1,35 +1,15 @@
|
|||||||
#cython: language_level=3
|
#cython: language_level=3
|
||||||
|
|
||||||
from obitools3.dms.dms cimport DMS # TODO cimport doesn't work
|
from obitools3.apps.optiongroups import addSequenceInputOption
|
||||||
from obitools3.dms.view.view cimport View # TODO cimport doesn't work
|
from obitools3.uri.decode import open_uri
|
||||||
|
|
||||||
|
|
||||||
# TODO with URIs
|
|
||||||
|
|
||||||
__title__="Less equivalent"
|
__title__="Less equivalent"
|
||||||
|
|
||||||
default_config = { 'inputview' : None,
|
|
||||||
}
|
|
||||||
|
|
||||||
def addOptions(parser):
|
def addOptions(parser):
|
||||||
|
|
||||||
# TODO put this common group somewhere else but I don't know where
|
addSequenceInputOption(parser)
|
||||||
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.")
|
|
||||||
|
|
||||||
|
|
||||||
group=parser.add_argument_group('obi less specific options')
|
group=parser.add_argument_group('obi less specific options')
|
||||||
|
|
||||||
@ -38,29 +18,24 @@ def addOptions(parser):
|
|||||||
metavar='<N>',
|
metavar='<N>',
|
||||||
default=10,
|
default=10,
|
||||||
type=int,
|
type=int,
|
||||||
help="Print N sequences (default: 10)")
|
help="Print N entries (default: 10)")
|
||||||
|
|
||||||
|
|
||||||
def run(config):
|
def run(config):
|
||||||
|
|
||||||
cdef DMS d
|
cdef object entries
|
||||||
cdef View view
|
|
||||||
cdef int n
|
cdef int n
|
||||||
|
|
||||||
# Open DMS
|
input = open_uri(config['obi']['inputURI'])
|
||||||
d = DMS.open(config['obi']['defaultdms'])
|
|
||||||
|
entries = input[1]
|
||||||
# Open input view
|
|
||||||
view = View.open(d, config['obi']['view'])
|
|
||||||
|
|
||||||
if config['less']['print'] > len(view) :
|
if config['less']['print'] > len(entries) :
|
||||||
n = len(view)
|
n = len(entries)
|
||||||
else :
|
else :
|
||||||
n = config['less']['print']
|
n = config['less']['print']
|
||||||
|
|
||||||
# Print
|
# Print
|
||||||
for i in range(n) :
|
for i in range(n) :
|
||||||
print(repr(view[i]))
|
print(repr(entries[i]))
|
||||||
|
|
||||||
d.close()
|
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user