# HG changeset patch # User jjohnson # Date 1499269875 14400 # Node ID b9f797bf4f382f3125227666b1ad3e9433e20e29 # Parent c6e6e224509ccfc72775a5d0790b97b3098ab980 Uploaded diff -r c6e6e224509c -r b9f797bf4f38 ._query_tabular.py Binary file ._query_tabular.py has changed diff -r c6e6e224509c -r b9f797bf4f38 query_tabular.py --- a/query_tabular.py Thu Jun 22 09:15:36 2017 -0400 +++ b/query_tabular.py Wed Jul 05 11:51:15 2017 -0400 @@ -91,6 +91,12 @@ self.func = lambda i,l: '%d\t%s' % (i,l) elif filter_dict['filter'] == 'append_line_num': self.func = lambda i,l: '%s\t%d' % (l.rstrip('\r\n'),i) + elif filter_dict['filter'] == 'prepend_text': + s = filter_dict['column_text'] + self.func = lambda i,l: '%s\t%s' % (s,l) + elif filter_dict['filter'] == 'append_text': + s = filter_dict['column_text'] + self.func = lambda i,l: '%s\t%s' % (l.rstrip('\r\n'),s) elif filter_dict['filter'] == 'skip': cnt = filter_dict['count'] self.func = lambda i,l: l if i > cnt else None diff -r c6e6e224509c -r b9f797bf4f38 query_tabular.xml --- a/query_tabular.xml Thu Jun 22 09:15:36 2017 -0400 +++ b/query_tabular.xml Wed Jul 05 11:51:15 2017 -0400 @@ -1,4 +1,4 @@ - + using sqlite sql @@ -94,8 +94,8 @@ #elif $fi.filter.filter_type == 'comment': #set $filter_dict = dict() #set $filter_dict['filter'] = 'regex' - #set $filter_dict['pattern'] = '^' + str($fi.filter.comment_char) - #set $filter_dict['action'] = 'exclude' + #set $filter_dict['pattern'] = '^(%s).*$' % '|'.join([chr(int(x)).replace('|','[|]') for x in (str($fi.filter.comment_char)).split(',')]) + #set $filter_dict['action'] = 'exclude_match' #silent $input_filters.append($filter_dict) #elif $fi.filter.filter_type == 'regex': #set $filter_dict = dict() @@ -106,12 +106,12 @@ #elif $fi.filter.filter_type == 'select_columns': #set $filter_dict = dict() #set $filter_dict['filter'] = str($fi.filter.filter_type) - #set $filter_dict['columns'] = [int(str($ci)) for $ci in str($fi.filter.columns).split(',')] + #set $filter_dict['columns'] = [int(str($ci).replace('c','')) for $ci in str($fi.filter.columns).split(',')] #silent $input_filters.append($filter_dict) #elif $fi.filter.filter_type == 'replace': #set $filter_dict = dict() #set $filter_dict['filter'] = str($fi.filter.filter_type) - #set $filter_dict['column'] = int(str($fi.filter.column)) + #set $filter_dict['column'] = int(str($fi.filter.column).replace('c','')) #set $filter_dict['pattern'] = str($fi.filter.regex_pattern) #set $filter_dict['replace'] = str($fi.filter.regex_replace) #silent $input_filters.append($filter_dict) @@ -119,10 +119,15 @@ #set $filter_dict = dict() #set $filter_dict['filter'] = str($fi.filter.filter_type) #silent $input_filters.append($filter_dict) + #elif str($fi.filter.filter_type).endswith('pend_text'): + #set $filter_dict = dict() + #set $filter_dict['filter'] = str($fi.filter.filter_type) + #set $filter_dict['column_text'] = str($fi.filter.column_text) + #silent $input_filters.append($filter_dict) #elif $fi.filter.filter_type == 'normalize': #set $filter_dict = dict() #set $filter_dict['filter'] = str($fi.filter.filter_type) - #set $filter_dict['columns'] = [int(str($ci)) for $ci in str($fi.filter.columns).split(',')] + #set $filter_dict['columns'] = [int(str($ci).replace('c','')) for $ci in str($fi.filter.columns).split(',')] #set $filter_dict['separator'] = str($fi.filter.separator) #silent $input_filters.append($filter_dict) #end if @@ -154,6 +159,8 @@ + + @@ -161,12 +168,36 @@ help="Leave blank to use the comment lines metadata for this dataset" /> - - + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -180,13 +211,15 @@ - ^([1-9]\d*)(,[1-9]\d*)*$ + help="example: 1,4,2 or c1,c4,c2(selects the first,fourth, and second columns)"> + ^(c?[1-9]\d*)(,c?[1-9]\d*)*$ - + + ^(c?[1-9]\d*)$ + @@ -195,8 +228,13 @@ - + + + ^(c?[1-9]\d*)(,c?[1-9]\d*)*$ + ^[^\t\n\r\f\v]+$ @@ -300,6 +338,55 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +