Added -d option to get all identifiers along a single dimension.
This commit is contained in:
parent
c7bfefe358
commit
7bdfdea23b
30
bin/dataset
30
bin/dataset
|
@ -8,9 +8,9 @@ import re
|
||||||
PROGRAM_NAME = 'dataset'
|
PROGRAM_NAME = 'dataset'
|
||||||
VERSION = '0.1.0'
|
VERSION = '0.1.0'
|
||||||
|
|
||||||
def show_info(input):
|
def read_dataset_header(input):
|
||||||
name = "N/A"
|
name = ""
|
||||||
type = "N/A"
|
type = ""
|
||||||
dimensions = []
|
dimensions = []
|
||||||
|
|
||||||
kv_re = re.compile('^\s*#\s*(\w+)\s*:(.*)$')
|
kv_re = re.compile('^\s*#\s*(\w+)\s*:(.*)$')
|
||||||
|
@ -34,16 +34,31 @@ def show_info(input):
|
||||||
type = v
|
type = v
|
||||||
elif k == 'dimension':
|
elif k == 'dimension':
|
||||||
values = v.split()
|
values = v.split()
|
||||||
dimensions.append((values[0], len(values) - 1))
|
dimensions.append((values[0], values[1:]))
|
||||||
|
|
||||||
|
return (name, type, dimensions)
|
||||||
|
|
||||||
|
def show_info(input):
|
||||||
|
name, type, dimensions = read_dataset_header(input)
|
||||||
|
|
||||||
print "Name: %s" % name
|
print "Name: %s" % name
|
||||||
print "Type: %s" % type
|
print "Type: %s" % type
|
||||||
print "Dimensions:",
|
print "Dimensions:",
|
||||||
for i, dim in enumerate(dimensions):
|
for i, dim in enumerate(dimensions):
|
||||||
print "%s(%i)" % dim,
|
dimname = dim[0]
|
||||||
|
length = len(dim[1])
|
||||||
|
print "%s(%i)" % (dimname, length),
|
||||||
if i < len(dimensions)-1:
|
if i < len(dimensions)-1:
|
||||||
print "x",
|
print "x",
|
||||||
|
print
|
||||||
|
|
||||||
|
def list_dimension_ids(input, dimname):
|
||||||
|
name, type, dimensions = read_dataset_header(input)
|
||||||
|
for i, dim in enumerate(dimensions):
|
||||||
|
name, ids = dim
|
||||||
|
if name == dimname:
|
||||||
|
for id in ids:
|
||||||
|
print id
|
||||||
|
|
||||||
def parse_options():
|
def parse_options():
|
||||||
conf_files = ['/etc/fluentsrc',
|
conf_files = ['/etc/fluentsrc',
|
||||||
|
@ -57,7 +72,7 @@ def parse_options():
|
||||||
help='Export as CSV file.')
|
help='Export as CSV file.')
|
||||||
|
|
||||||
op.add_option('-d', '--dimension',
|
op.add_option('-d', '--dimension',
|
||||||
action='store_true', default=False,
|
action='store', default=None,
|
||||||
help='Get all identifiers along a dimension.')
|
help='Get all identifiers along a dimension.')
|
||||||
|
|
||||||
op.add_option('-i', '--info',
|
op.add_option('-i', '--info',
|
||||||
|
@ -96,3 +111,6 @@ if __name__ == '__main__':
|
||||||
show_info(input)
|
show_info(input)
|
||||||
sys.exit(0)
|
sys.exit(0)
|
||||||
|
|
||||||
|
elif options.dimension != None:
|
||||||
|
list_dimension_ids(input, options.dimension)
|
||||||
|
|
||||||
|
|
Reference in New Issue