def parse_string(s): # Trim the start: s = s[19:] print 'parsing string', s kw = read_json(s) return SummaryPlotData(**kw)
def parse_string(s): # Trim the start: s = s[19:] print 'parsing string', s kw = read_json(s) return SummaryPlotData( **kw)
def parse_string(s): # Trim the start: s = s[19:] print 'parsing string', s kw = read_json(s) #return SummaryPlotData( x=d['x'], y=d['y'], t_start=d['t_start'],t_end=d['t_end'], params=d['params']) return SummaryPlotData(**kw)
def parse_string(s): # Trim the start: s = s[19:] print 'parsing string', s kw = read_json(s) #return SummaryPlotData( x=d['x'], y=d['y'], t_start=d['t_start'],t_end=d['t_end'], params=d['params']) return SummaryPlotData( **kw)
def parse_io_line(line): from neurounits import NeuroUnitParser from neurounits.unit_errors import ParsingError assert isinstance(line, basestring) print 'Line', line metadata = {} if 'METADATA' in line: (line, metadata) = line.split('METADATA') metadata = read_json(metadata) #r = re.compile( r"""<=> \s* (?P<MODE>[a-zA-Z]+) \s* (?P<SYMBOL>[a-zA-Z][a-zA-Z0-9_]*) \s* ([:] \s* (?P<UNIT>[a-zA-Z0-9/()]*) )? """, re.VERBOSE) r = re.compile( r"""<=> \s* (?P<MODE>[a-zA-Z]+) \s* (?P<DEFS>.*) $""", re.VERBOSE) m = r.match(line) if not m: raise ParsingError('Unable to parse line: "%s"'%line) g = m.groupdict() mode = g['MODE'] if mode in ('INPUT', 'OUTPUT', 'PARAMETER'): defs = [] data = g['DEFS'] for d in data.split(','): pDef = d.split(':') if len(pDef) == 1: (symbol, dimension_str) = (pDef[0], None) elif len(pDef) == 2: (symbol, dimension_str) = pDef else: raise ParsingError("Can't interpret line: %s" % line) symbol = symbol.strip() dimension_str = (dimension_str.strip() if dimension_str else dimension_str) # Allow units to be specified in '{' '}' too. This is hacky and should be better # integrated. if dimension_str: if dimension_str[0] == '{' and dimension_str[-1] == '}': dimension_str = '(' + dimension_str[1:-1] + ')' dimension = NeuroUnitParser.Unit(dimension_str) if dimension_str is not None else None dimension = dimension.with_no_powerten() if dimension is not None else dimension io_data = IODataDimensionSpec(symbol=symbol.strip(), iotype=IOType.LUT[mode], dimension=dimension, metadata=metadata) defs.append(io_data) return defs elif mode == "INITIAL": defs = [] data = g['DEFS'] for d in data.split(','): pDef = d.split(':') ic = IODataInitialCondition(symbol=pDef[0], value=pDef[1]) defs.append(ic) return defs else: raise ParsingError('Unexpected Mode: %s' % mode)