From: Zbigniew Jędrzejewski-S. <zb...@in...> - 2014-04-01 21:10:39
|
This makes the code more palatable for 2to3, which then doesn't try to wrap all uses of .keys() with list(). --- python/moose/alternate.py | 8 +++---- python/moose/graphutil.py | 2 +- python/moose/hdfutil.py | 28 ++++++++++------------ python/moose/moose.py | 6 ++--- python/moose/moose_py3k.py | 6 ++--- python/moose/multiscale/core/simulator.py | 4 ++-- python/moose/multiscale/helper/graph_methods.py | 4 ++-- python/moose/multiscale/helper/moose_methods.py | 1 + python/moose/multiscale/parser/ChannelML.py | 6 ++--- python/moose/multiscale/parser/MorphML.py | 4 ++-- python/moose/multiscale/parser/utils.py | 2 +- python/moose/neuroml/ChannelML.py | 6 ++--- python/moose/neuroml/MorphML.py | 4 ++-- python/moose/neuroml/utils.py | 2 +- python/moose/neuroml2/converter.py | 3 ++- python/moose/neuroml2/generated_neuroml.py | 5 +--- python/moose/neuroml2/hhfit.py | 2 +- python/moose/xmls_to_network/.noweb/main.nw | 6 ++--- python/moose/xmls_to_network/core/hhfit.py | 2 +- python/moose/xmls_to_network/core/multiscale.py | 2 +- .../moose/xmls_to_network/core/neuroml2_parser.py | 5 +--- .../moose/xmls_to_network/helper/graph_methods.py | 4 ++-- python/moose/xmls_to_network/parser/nml_parser.py | 5 +--- .../generatedNEURON/NEURONUtils/NEURONSimUtils.py | 2 +- .../NeuroMLUtils/NetworkMLHDF5Handler.py | 8 +++---- .../NeuroMLUtils/NetworkMLSaxHandler.py | 16 ++++++------- .../twoNeurons/generatedNEURON/twoNeurons.hoc | 4 ++-- .../NeuroMLUtils/NetworkMLHDF5Handler.py | 8 +++---- .../NeuroMLUtils/NetworkMLSaxHandler.py | 10 ++++---- .../generatedPyNN/PyNNUtils/PyNNUtils.py | 4 ++-- 30 files changed, 80 insertions(+), 89 deletions(-) diff --git a/python/moose/alternate.py b/python/moose/alternate.py index 24a0d41..ccd4f93 100644 --- a/python/moose/alternate.py +++ b/python/moose/alternate.py @@ -669,7 +669,7 @@ class Neutral(object): return self.oid_.getFieldNames(ftype) def getNeighbors(self, fieldName): - if fieldName in getFieldDict(self.className).keys(): + if fieldName in getFieldDict(self.className): return [eval('%s("%s")' % (id_[0].getField('class'), id_.getPath())) for id_ in self.oid_.getNeighbors(fieldName)] raise ValueError('%s: no such field on %s' % (fieldName, self.path)) @@ -885,8 +885,8 @@ def showfield(element, field='*', showtype=False): element = Neutral(element) if field == '*': value_field_dict = getFieldDict(element.className, 'valueFinfo') - max_type_len = max([len(dtype) for dtype in value_field_dict.values()]) - max_field_len = max([len(dtype) for dtype in value_field_dict.keys()]) + max_type_len = max(len(dtype) for dtype in value_field_dict.values()) + max_field_len = max(len(dtype) for dtype in value_field_dict) print() print('[', element.path, ']') for key, dtype in value_field_dict.items(): @@ -1003,7 +1003,7 @@ def update_class(cls, class_id): def define_class(class_id): """Define a class based on Cinfo element with Id=class_id.""" class_name = class_id[0].getField('name') - if class_name in globals().keys(): + if class_name in globals(): return base = class_id[0].getField('baseClass') if base != 'none': diff --git a/python/moose/graphutil.py b/python/moose/graphutil.py index c62db9f..13216f9 100644 --- a/python/moose/graphutil.py +++ b/python/moose/graphutil.py @@ -171,7 +171,7 @@ class TestMooseGraph(unittest.TestCase): def test_edgelabels(self): for ee in self.graph.edges(): - keys = self.graph.edge[ee[0]][ee[1]].keys() + keys = self.graph.edge[ee[0]][ee[1]] self.assertTrue('src' in keys) self.assertTrue('dest' in keys) diff --git a/python/moose/hdfutil.py b/python/moose/hdfutil.py index a17ff5a..b7d9ce6 100644 --- a/python/moose/hdfutil.py +++ b/python/moose/hdfutil.py @@ -85,6 +85,7 @@ # Code: from __future__ import print_function +from future_builtins import zip import moose as moose__ import numpy as np import h5py as h5 @@ -122,19 +123,17 @@ def get_rec_dtype(em): print('Creating entries for class:', obj.className) fielddict = moose__.getFieldDict(obj.className, 'valueFinfo') print(fielddict) - keys = sorted(list(fielddict.keys())) - fields = [] # [('path', 'S1024')] - for fieldname in keys: - ftype = fielddict[fieldname] - # If we do not have the type of this field in cpp-np data - # type map, skip it. We can handle vectors as nested - # table, but the problem with that is numpy requires all - # entries to have a fixed size for this table. Since - # vectors can have arbitrary length, we cannot get such a - # fixed size without checking the size of the vector field - # in all elements. - if ftype in cpptonp: - fields.append((fieldname, cpptonp[ftype])) + + # If we do not have the type of this field in cpp-np data + # type map, skip it. We can handle vectors as nested + # table, but the problem with that is numpy requires all + # entries to have a fixed size for this table. Since + # vectors can have arbitrary length, we cannot get such a + # fixed size without checking the size of the vector field + # in all elements. + fields = [(fieldname, cpptonp[ftype]) # [('path', 'S1024')] + for fieldname, ftype in sorted(fielddict.items()) + if ftype in cpptonp] dtype_table[obj.className] = np.dtype(fields) return dtype_table[obj.className] @@ -257,7 +256,7 @@ def savestate(filename=None): print('Creating entries for class:', obj.className) fielddict = moose__.getFieldDict(obj.className, 'valueFinfo') print(fielddict) - keys = sorted(list(fielddict.keys())) + keys = sorted(fielddict) fields = [] # [('path', 'S1024')] for fieldname in keys: ftype = fielddict[fieldname] @@ -309,7 +308,6 @@ def restorestate(filename): if f.startswith('set_') and f not in ['set_this', 'set_name', 'set_lastDimension', 'set_runTime'] and not f.startswith('set_num_')] with h5.File(filename, 'r') as fd: typeinfo = fd['/metadata/typeinfo'][:] - classdict = {} dimsdict = dict(zip(typeinfo['path'], typeinfo['dims'])) classdict = dict(zip(typeinfo['path'], typeinfo['class'])) parentdict = dict(zip(typeinfo['path'], typeinfo['parent'])) diff --git a/python/moose/moose.py b/python/moose/moose.py index af62d19..e995ab6 100644 --- a/python/moose/moose.py +++ b/python/moose/moose.py @@ -162,10 +162,10 @@ def showfield(el, field='*', showtype=False): el = element(el) if field == '*': value_field_dict = getFieldDict(el.className, 'valueFinfo') - max_type_len = max([len(dtype) for dtype in list(value_field_dict.values())]) - max_field_len = max([len(dtype) for dtype in list(value_field_dict.keys())]) + max_type_len = max(len(dtype) for dtype in value_field_dict.values()) + max_field_len = max(len(dtype) for dtype in value_field_dict) print('\n[', el.path, ']') - for key, dtype in list(value_field_dict.items()): + for key, dtype in value_field_dict.items(): if dtype == 'bad' or key == 'this' or key == 'dummy' or key == 'me' or dtype.startswith('vector') or 'ObjId' in dtype: continue value = el.getField(key) diff --git a/python/moose/moose_py3k.py b/python/moose/moose_py3k.py index f4c5302..0a8e82d 100644 --- a/python/moose/moose_py3k.py +++ b/python/moose/moose_py3k.py @@ -156,10 +156,10 @@ def showfield(elem, field='*', showtype=False): elem = element(elem) if field == '*': value_field_dict = getFieldDict(elem.className, 'valueFinfo') - max_type_len = max([len(dtype) for dtype in list(value_field_dict.values())]) - max_field_len = max([len(dtype) for dtype in list(value_field_dict.keys())]) + max_type_len = max(len(dtype) for dtype in value_field_dict.values()) + max_field_len = max(len(dtype) for dtype in value_field_dict) print('\n[', elem.path, ']') - for key, dtype in list(value_field_dict.items()): + for key, dtype in value_field_dict.items(): if dtype == 'bad' or key == 'this' or key == 'dummy' or key == 'me' or dtype.startswith('vector') or 'ObjId' in dtype: continue value = elem.getField(key) diff --git a/python/moose/multiscale/core/simulator.py b/python/moose/multiscale/core/simulator.py index 03f519b..ed6ffb6 100644 --- a/python/moose/multiscale/core/simulator.py +++ b/python/moose/multiscale/core/simulator.py @@ -320,7 +320,7 @@ class Simulator: # for i, var in enumerate(variables): # varType, varName, plotXml = var # varName = varType + varName -# assert varName in self.tableDict.keys() +# assert varName in self.tableDict # configDict = self.configurePlot(plotXml) # yvec, xvec = self.getPlotData(varName) # pylab.subplot(self.totalPlots, 1, i) @@ -401,7 +401,7 @@ class Simulator: def getPlotData(self, varName): """Get the plot data from dictionary """ - assert varName in self.tableDict.keys(), "{} not found in {}".format( + assert varName in self.tableDict, "{} not found in {}".format( varName , self.tableDict.keys() ) diff --git a/python/moose/multiscale/helper/graph_methods.py b/python/moose/multiscale/helper/graph_methods.py index b5d1360..6135e5c 100644 --- a/python/moose/multiscale/helper/graph_methods.py +++ b/python/moose/multiscale/helper/graph_methods.py @@ -46,7 +46,7 @@ def write_dot(g, filename): for n in g.nodes(): i += 1 nodeLabel = "[label=\"\"".format(i) - if 'proximal' in g.node[n].keys(): + if 'proximal' in g.node[n]: x = (float(g.node[n]['proximal'].get('x')) + float(g.node[n]['distal'].get('x')))/2 y = (float(g.node[n]['proximal'].get('y')) + float(g.node[n]['distal'].get('y')))/2 z = (float(g.node[n]['proximal'].get('z')) + float(g.node[n]['distal'].get('z')))/2 @@ -65,7 +65,7 @@ def write_dot(g, filename): for (f, t) in g.edges(): edge = g.node[f]['label'] + " -> " + g.node[t]['label'] edge += " [" - if 'synapse' in g.edge[f][t].keys(): + if 'synapse' in g.edge[f][t]: # color this edge and make it look like a synapse edge += " label=\"{0}\",".format(g.edge[f][t]['id']) edge += "color=blue,style=dotted," diff --git a/python/moose/multiscale/helper/moose_methods.py b/python/moose/multiscale/helper/moose_methods.py index e3e9d68..f19c0a1 100644 --- a/python/moose/multiscale/helper/moose_methods.py +++ b/python/moose/multiscale/helper/moose_methods.py @@ -8,6 +8,7 @@ Last modified: Tue Jan 28, 2014 10:31PM """ from __future__ import print_function +from future_builtins import filter __author__ = "Dilawar Singh" __copyright__ = "Copyright 2013, NCBS Bangalore" diff --git a/python/moose/multiscale/parser/ChannelML.py b/python/moose/multiscale/parser/ChannelML.py index 48f642e..e1a819d 100644 --- a/python/moose/multiscale/parser/ChannelML.py +++ b/python/moose/multiscale/parser/ChannelML.py @@ -226,7 +226,7 @@ class ChannelML: q10sets = IVrelation.findall('./{'+self.cml+'}q10_settings') for q10settings in q10sets: # self.temperature from neuro.utils - if 'gate' in list(q10settings.attrib.keys()): + if 'gate' in q10settings.attrib: if q10settings.attrib['gate'] == self.gate_name: self.setQ10(q10settings) break @@ -400,12 +400,12 @@ class ChannelML: def setQ10(self, q10settings): - if 'q10_factor' in list(q10settings.attrib.keys()): + if 'q10_factor' in q10settings.attrib: expTemp = float(q10settings.attrib['experimental_temp']) self.q10factor = float(q10settings.attrib['q10_factor']) ** ( ( self.temperature - expTemp) /10.0 ) - elif 'fixed_q10' in list(q10settings.attrib.keys()): + elif 'fixed_q10' in q10settings.attrib: self.q10factor = float(q10settings.attrib['fixed_q10']) diff --git a/python/moose/multiscale/parser/MorphML.py b/python/moose/multiscale/parser/MorphML.py index d492541..e658d04 100644 --- a/python/moose/multiscale/parser/MorphML.py +++ b/python/moose/multiscale/parser/MorphML.py @@ -285,7 +285,7 @@ class MorphML(): cablegroups = cable.findall(".//{"+self.meta+"}group") for cablegroup in cablegroups: cablegroupname = cablegroup.text - if cablegroupname in list(self.cablegroupsDict.keys()): + if cablegroupname in self.cablegroupsDict: self.cablegroupsDict[cablegroupname].append(cableid) else: self.cablegroupsDict[cablegroupname] = [cableid] @@ -306,7 +306,7 @@ class MorphML(): """ synLocs = cell.findall(".//{"+self.nml+"}potential_syn_loc") for psl in synLocs: - if 'synapse_direction' in list(psl.attrib.keys()): + if 'synapse_direction' in psl.attrib: if psl.attrib['synapse_direction'] in ['post']: self.set_group_compartment_param( cell diff --git a/python/moose/multiscale/parser/utils.py b/python/moose/multiscale/parser/utils.py index 18e2ae2..749c28d 100644 --- a/python/moose/multiscale/parser/utils.py +++ b/python/moose/multiscale/parser/utils.py @@ -196,7 +196,7 @@ def keepOnlyInclude(network, onlyInclude): populations = network.find(".//{"+nml_ns+"}populations") for population in network.findall(".//{"+nml_ns+"}population"): popname = population.attrib["name"] - if popname in list(includeCellsDict.keys()): + if popname in includeCellsDict: includecellids = includeCellsDict[popname] instances = population.find(".//{"+nml_ns+"}instances") for instance in instances.findall(".//{"+nml_ns+"}instance"): diff --git a/python/moose/neuroml/ChannelML.py b/python/moose/neuroml/ChannelML.py index 830ee4b..3cc3fc6 100644 --- a/python/moose/neuroml/ChannelML.py +++ b/python/moose/neuroml/ChannelML.py @@ -149,7 +149,7 @@ class ChannelML(): self.gate_name = gate.attrib['name'] for q10settings in IVrelation.findall('./{'+self.cml+'}q10_settings'): ## self.temperature from neuro.utils - if 'gate' in q10settings.attrib.keys(): + if 'gate' in q10settings.attrib: if q10settings.attrib['gate'] == self.gate_name: self.setQ10(q10settings) break @@ -301,10 +301,10 @@ class ChannelML(): moosegate_tableB.tableVector2D = tableB def setQ10(self,q10settings): - if 'q10_factor' in q10settings.attrib.keys(): + if 'q10_factor' in q10settings.attrib: self.q10factor = float(q10settings.attrib['q10_factor'])\ **((self.temperature-float(q10settings.attrib['experimental_temp']))/10.0) - elif 'fixed_q10' in q10settings.attrib.keys(): + elif 'fixed_q10' in q10settings.attrib: self.q10factor = float(q10settings.attrib['fixed_q10']) diff --git a/python/moose/neuroml/MorphML.py b/python/moose/neuroml/MorphML.py index 08a20d4..38ab865 100644 --- a/python/moose/neuroml/MorphML.py +++ b/python/moose/neuroml/MorphML.py @@ -208,7 +208,7 @@ class MorphML(): cablegroups = cable.findall(".//{"+self.meta+"}group") for cablegroup in cablegroups: cablegroupname = cablegroup.text - if cablegroupname in self.cablegroupsDict.keys(): + if cablegroupname in self.cablegroupsDict: self.cablegroupsDict[cablegroupname].append(cableid) else: self.cablegroupsDict[cablegroupname] = [cableid] @@ -337,7 +337,7 @@ class MorphML(): connectivity = cell.find(".//{"+self.neuroml+"}connectivity") if connectivity is not None: for potential_syn_loc in cell.findall(".//{"+self.nml+"}potential_syn_loc"): - if 'synapse_direction' in potential_syn_loc.attrib.keys(): + if 'synapse_direction' in potential_syn_loc.attrib: if potential_syn_loc.attrib['synapse_direction'] in ['post']: self.set_group_compartment_param(cell, cellname, potential_syn_loc,\ 'synapse_type', potential_syn_loc.attrib['synapse_type'], self.nml, mechanismname='synapse') diff --git a/python/moose/neuroml/utils.py b/python/moose/neuroml/utils.py index 3a1e3c0..749c28d 100644 --- a/python/moose/neuroml/utils.py +++ b/python/moose/neuroml/utils.py @@ -196,7 +196,7 @@ def keepOnlyInclude(network, onlyInclude): populations = network.find(".//{"+nml_ns+"}populations") for population in network.findall(".//{"+nml_ns+"}population"): popname = population.attrib["name"] - if popname in includeCellsDict.keys(): + if popname in includeCellsDict: includecellids = includeCellsDict[popname] instances = population.find(".//{"+nml_ns+"}instances") for instance in instances.findall(".//{"+nml_ns+"}instance"): diff --git a/python/moose/neuroml2/converter.py b/python/moose/neuroml2/converter.py index 24c64ce..d932581 100644 --- a/python/moose/neuroml2/converter.py +++ b/python/moose/neuroml2/converter.py @@ -50,6 +50,7 @@ #!!!!! TODO: unit conversion !!!! +from future_builtins import map import traceback import warnings from collections import deque @@ -111,7 +112,7 @@ def convert_morphology(root, positions='auto'): y=compartment.y, z=compartment.z, diameter=compartment.diameter) - plist = map(moose.element, compartment.neighbours['axial']) + plist = list(map(moose.element, compartment.neighbours['axial'])) try: parent = neuroml.SegmentParent(segments=comp_seg[moose.element(plist[0])].id) except (KeyError, IndexError) as e: diff --git a/python/moose/neuroml2/generated_neuroml.py b/python/moose/neuroml2/generated_neuroml.py index 0ea0243..e39161d 100644 --- a/python/moose/neuroml2/generated_neuroml.py +++ b/python/moose/neuroml2/generated_neuroml.py @@ -14,10 +14,7 @@ import datetime as datetime_ etree_ = None Verbose_import_ = False -( - XMLParser_import_none, XMLParser_import_lxml, - XMLParser_import_elementtree -) = range(3) +XMLParser_import_none, XMLParser_import_lxml, XMLParser_import_elementtree = 0, 1, 2 XMLParser_import_library = None try: # lxml diff --git a/python/moose/neuroml2/hhfit.py b/python/moose/neuroml2/hhfit.py index fe4165e..764d1c8 100644 --- a/python/moose/neuroml2/hhfit.py +++ b/python/moose/neuroml2/hhfit.py @@ -214,7 +214,7 @@ def find_ratefn(x, y, **kwargs): rms_error = 1e10 # arbitrarily setting this best_fn = None best_p = None - for fn in fn_rate_map.keys(): + for fn in fn_rate_map: p = randomized_curve_fit(fn, x, y, **kwargs) if p is None: continue diff --git a/python/moose/xmls_to_network/.noweb/main.nw b/python/moose/xmls_to_network/.noweb/main.nw index 685e697..08402d1 100644 --- a/python/moose/xmls_to_network/.noweb/main.nw +++ b/python/moose/xmls_to_network/.noweb/main.nw @@ -544,13 +544,13 @@ for nw in network : if xml_helper.isTaggedWith(nw, "population") : try : populationId = nw.get('id') - if 'cell' in nw.keys() : + if 'cell' in nw : typeOfPopulation = 'cell' populationId = nw.get('cell') - elif 'network' in nw.keys() : + elif 'network' in nw : typeOfPopulation = 'network' populationId = nw.get('network') - elif 'component' in nw.keys() : + elif 'component' in nw : debug.printDebug("DEVL", "Component in network is not implmeneted yet.") else : pass print typeOfPopulation, populationId diff --git a/python/moose/xmls_to_network/core/hhfit.py b/python/moose/xmls_to_network/core/hhfit.py index e367a5e..1aeef89 100644 --- a/python/moose/xmls_to_network/core/hhfit.py +++ b/python/moose/xmls_to_network/core/hhfit.py @@ -214,7 +214,7 @@ def find_ratefn(x, y, **kwargs): rms_error = 1e10 # arbitrarily setting this best_fn = None best_p = None - for fn in fn_rate_map.keys(): + for fn in fn_rate_map: p = randomized_curve_fit(fn, x, y, **kwargs) if p is None: continue diff --git a/python/moose/xmls_to_network/core/multiscale.py b/python/moose/xmls_to_network/core/multiscale.py index a78d72a..5ab62e6 100644 --- a/python/moose/xmls_to_network/core/multiscale.py +++ b/python/moose/xmls_to_network/core/multiscale.py @@ -151,7 +151,7 @@ class Multiscale: segName = os.path.join(instId, cellType, segmentId) self.mooseG.add_node(segName) self.mooseG.node[segName]['population'] = populationName - for k in cellG.node[n].keys(): + for k in cellG.node[n]: self.mooseG.node[segName][k] = cellG.node[n][k] self.attachLabel(self.mooseG, segName) diff --git a/python/moose/xmls_to_network/core/neuroml2_parser.py b/python/moose/xmls_to_network/core/neuroml2_parser.py index 89fa1de..4e20177 100644 --- a/python/moose/xmls_to_network/core/neuroml2_parser.py +++ b/python/moose/xmls_to_network/core/neuroml2_parser.py @@ -14,10 +14,7 @@ import datetime as datetime_ etree_ = None Verbose_import_ = False -( - XMLParser_import_none, XMLParser_import_lxml, - XMLParser_import_elementtree -) = range(3) +XMLParser_import_none, XMLParser_import_lxml, XMLParser_import_elementtree = 0, 1, 2 XMLParser_import_library = None try: # lxml diff --git a/python/moose/xmls_to_network/helper/graph_methods.py b/python/moose/xmls_to_network/helper/graph_methods.py index b5d1360..6135e5c 100644 --- a/python/moose/xmls_to_network/helper/graph_methods.py +++ b/python/moose/xmls_to_network/helper/graph_methods.py @@ -46,7 +46,7 @@ def write_dot(g, filename): for n in g.nodes(): i += 1 nodeLabel = "[label=\"\"".format(i) - if 'proximal' in g.node[n].keys(): + if 'proximal' in g.node[n]: x = (float(g.node[n]['proximal'].get('x')) + float(g.node[n]['distal'].get('x')))/2 y = (float(g.node[n]['proximal'].get('y')) + float(g.node[n]['distal'].get('y')))/2 z = (float(g.node[n]['proximal'].get('z')) + float(g.node[n]['distal'].get('z')))/2 @@ -65,7 +65,7 @@ def write_dot(g, filename): for (f, t) in g.edges(): edge = g.node[f]['label'] + " -> " + g.node[t]['label'] edge += " [" - if 'synapse' in g.edge[f][t].keys(): + if 'synapse' in g.edge[f][t]: # color this edge and make it look like a synapse edge += " label=\"{0}\",".format(g.edge[f][t]['id']) edge += "color=blue,style=dotted," diff --git a/python/moose/xmls_to_network/parser/nml_parser.py b/python/moose/xmls_to_network/parser/nml_parser.py index 1930979..16f4186 100644 --- a/python/moose/xmls_to_network/parser/nml_parser.py +++ b/python/moose/xmls_to_network/parser/nml_parser.py @@ -14,10 +14,7 @@ import datetime as datetime_ etree_ = None Verbose_import_ = False -( - XMLParser_import_none, XMLParser_import_lxml, - XMLParser_import_elementtree -) = range(3) +XMLParser_import_none, XMLParser_import_lxml, XMLParser_import_elementtree = 0, 1, 2 XMLParser_import_library = None try: # lxml diff --git a/python/moose/xmls_to_network/twoNeurons/generatedNEURON/NEURONUtils/NEURONSimUtils.py b/python/moose/xmls_to_network/twoNeurons/generatedNEURON/NEURONUtils/NEURONSimUtils.py index a5ea349..5432bc3 100644 --- a/python/moose/xmls_to_network/twoNeurons/generatedNEURON/NEURONUtils/NEURONSimUtils.py +++ b/python/moose/xmls_to_network/twoNeurons/generatedNEURON/NEURONUtils/NEURONSimUtils.py @@ -125,7 +125,7 @@ class NetManagerNEURON(NetworkHandler): self.log.info("Projection: "+projName+" from "+source+" to "+target+" with "+sizeInfo) - for synapseType in synapseTypes.keys(): + for synapseType in synapseTypes: synObjName = projName+"_"+synapseType+"["+str(size)+"]" self.log.info("Creating array for syns: "+synObjName) diff --git a/python/moose/xmls_to_network/twoNeurons/generatedNEURON/NeuroMLUtils/NetworkMLHDF5Handler.py b/python/moose/xmls_to_network/twoNeurons/generatedNEURON/NeuroMLUtils/NetworkMLHDF5Handler.py index ac85153..ac285f4 100644 --- a/python/moose/xmls_to_network/twoNeurons/generatedNEURON/NeuroMLUtils/NetworkMLHDF5Handler.py +++ b/python/moose/xmls_to_network/twoNeurons/generatedNEURON/NeuroMLUtils/NetworkMLHDF5Handler.py @@ -150,7 +150,7 @@ class NetworkMLHDF5Handler(): elif val == 'post_fraction_along' or val[0] == 'post_fraction_along': indexPostFractAlong = int(attrName[len('column_'):]) - for synType in self.globalSynapseProps.keys(): + for synType in self.globalSynapseProps: if str(val).count(synType) >0: extraParamIndices[str(val)] = int(attrName[len('column_'):]) @@ -164,7 +164,7 @@ class NetworkMLHDF5Handler(): for i in range(0, d.shape[0]): row = d[i,:] localSynapseProps = {} - synTypes = self.globalSynapseProps.keys() + synTypes = self.globalSynapseProps for synType in synTypes: localSynapseProps[synType] = self.globalSynapseProps[synType].copy() @@ -186,7 +186,7 @@ class NetworkMLHDF5Handler(): if len(extraParamIndices)>0: for synType in localSynapseProps: - for paramName in extraParamIndices.keys(): + for paramName in extraParamIndices: if paramName.count(synType)>0: self.log.debug(paramName +"->"+synType) if paramName.count('weight')>0: @@ -206,7 +206,7 @@ class NetworkMLHDF5Handler(): self.log.debug("Connection %d from %f to %f" % (id, preCellId, postCellId)) - for synType in localSynapseProps.keys(): + for synType in localSynapseProps: synProps = localSynapseProps[synType] diff --git a/python/moose/xmls_to_network/twoNeurons/generatedNEURON/NeuroMLUtils/NetworkMLSaxHandler.py b/python/moose/xmls_to_network/twoNeurons/generatedNEURON/NeuroMLUtils/NetworkMLSaxHandler.py index e73b0b2..fed1d85 100644 --- a/python/moose/xmls_to_network/twoNeurons/generatedNEURON/NeuroMLUtils/NetworkMLSaxHandler.py +++ b/python/moose/xmls_to_network/twoNeurons/generatedNEURON/NeuroMLUtils/NetworkMLSaxHandler.py @@ -223,7 +223,7 @@ class NetworkMLSaxHandler(xml.sax.ContentHandler): self.postFract = 0.5 self.localSynapseProps.clear() - synTypes = self.globalSynapseProps.keys() + synTypes = self.globalSynapseProps for synType in synTypes: self.localSynapseProps[synType] = self.globalSynapseProps[synType].copy() @@ -282,7 +282,7 @@ class NetworkMLSaxHandler(xml.sax.ContentHandler): self.globalSynapseProps[self.latestSynapseType] = newSynapseProps - for synProp in self.globalSynapseProps.keys(): + for synProp in self.globalSynapseProps: self.log.debug("globalSynapseProp "+synProp+": "+ str(self.globalSynapseProps[synProp])) @@ -310,7 +310,7 @@ class NetworkMLSaxHandler(xml.sax.ContentHandler): self.globalSynapseProps[self.latestSynapseType] = newSynapseProps - for synProp in self.globalSynapseProps.keys(): + for synProp in self.globalSynapseProps: self.log.debug("globalSynapseProp "+synProp+": "+ str(self.globalSynapseProps[synProp])) @@ -322,7 +322,7 @@ class NetworkMLSaxHandler(xml.sax.ContentHandler): if 'synapse_type' in attrs: synapse_type = attrs.get('synapse_type',"") elif len(self.localSynapseProps) == 1: - synapse_type = self.localSynapseProps.keys()[0] + synapse_type = self.localSynapseProps.popitem()[0] if synapse_type != "": synProps = self.localSynapseProps[synapse_type] @@ -388,9 +388,9 @@ class NetworkMLSaxHandler(xml.sax.ContentHandler): else: - others = ["populations", "projections", "connections", "inputs", - "meta:tag", "meta:value", "meta:property", "meta:properties"] - if (others.count(name) == 0): + others = {"populations", "projections", "connections", "inputs", + "meta:tag", "meta:value", "meta:property", "meta:properties"} + if name not in others: print('Unhandled, unknown element: '+ name) return @@ -455,7 +455,7 @@ class NetworkMLSaxHandler(xml.sax.ContentHandler): self.log.debug(" Gathered all details of connection: " + self.currentConnId) - for synType in self.localSynapseProps.keys(): + for synType in self.localSynapseProps: synProps = self.localSynapseProps[synType] diff --git a/python/moose/xmls_to_network/twoNeurons/generatedNEURON/twoNeurons.hoc b/python/moose/xmls_to_network/twoNeurons/generatedNEURON/twoNeurons.hoc index 8c264ee..d1b303d 100644 --- a/python/moose/xmls_to_network/twoNeurons/generatedNEURON/twoNeurons.hoc +++ b/python/moose/xmls_to_network/twoNeurons/generatedNEURON/twoNeurons.hoc @@ -349,7 +349,7 @@ for cellNum=0, n_PurkinjeCellGroup-1 { {nrnpython("group1._v_attrs.Population = 'PurkinjeCellGroup'")} {nrnpython("hArray = h5file.createArray(group1, 'VOLTAGE', allData, 'Values of VOLTAGE from cell group: PurkinjeCellGroup')")} {nrnpython("hArray.setAttr('Variable', 'VOLTAGE')")} -{nrnpython("for columnIndex in columnsVsCellNums.keys(): hArray.setAttr('column_'+str(columnIndex), 'cellNum_'+ str(columnsVsCellNums[columnIndex]))")} +{nrnpython("for columnIndex in columnsVsCellNums: hArray.setAttr('column_'+str(columnIndex), 'cellNum_'+ str(columnsVsCellNums[columnIndex]))")} // Saving VOLTAGE on only one seg, id: 0, in the only cell in SimpleCellGroup @@ -381,7 +381,7 @@ for cellNum=0, n_SimpleCellGroup-1 { {nrnpython("group1._v_attrs.Population = 'SimpleCellGroup'")} {nrnpython("hArray = h5file.createArray(group1, 'VOLTAGE', allData, 'Values of VOLTAGE from cell group: SimpleCellGroup')")} {nrnpython("hArray.setAttr('Variable', 'VOLTAGE')")} -{nrnpython("for columnIndex in columnsVsCellNums.keys(): hArray.setAttr('column_'+str(columnIndex), 'cellNum_'+ str(columnsVsCellNums[columnIndex]))")} +{nrnpython("for columnIndex in columnsVsCellNums: hArray.setAttr('column_'+str(columnIndex), 'cellNum_'+ str(columnsVsCellNums[columnIndex]))")} { sprint(timeFilename, "%s%s", targetDir, "time.dat")} { f_time.wopen(timeFilename) } diff --git a/python/moose/xmls_to_network/twoNeurons/generatedPyNN/NeuroMLUtils/NetworkMLHDF5Handler.py b/python/moose/xmls_to_network/twoNeurons/generatedPyNN/NeuroMLUtils/NetworkMLHDF5Handler.py index ac85153..ac285f4 100644 --- a/python/moose/xmls_to_network/twoNeurons/generatedPyNN/NeuroMLUtils/NetworkMLHDF5Handler.py +++ b/python/moose/xmls_to_network/twoNeurons/generatedPyNN/NeuroMLUtils/NetworkMLHDF5Handler.py @@ -150,7 +150,7 @@ class NetworkMLHDF5Handler(): elif val == 'post_fraction_along' or val[0] == 'post_fraction_along': indexPostFractAlong = int(attrName[len('column_'):]) - for synType in self.globalSynapseProps.keys(): + for synType in self.globalSynapseProps: if str(val).count(synType) >0: extraParamIndices[str(val)] = int(attrName[len('column_'):]) @@ -164,7 +164,7 @@ class NetworkMLHDF5Handler(): for i in range(0, d.shape[0]): row = d[i,:] localSynapseProps = {} - synTypes = self.globalSynapseProps.keys() + synTypes = self.globalSynapseProps for synType in synTypes: localSynapseProps[synType] = self.globalSynapseProps[synType].copy() @@ -186,7 +186,7 @@ class NetworkMLHDF5Handler(): if len(extraParamIndices)>0: for synType in localSynapseProps: - for paramName in extraParamIndices.keys(): + for paramName in extraParamIndices: if paramName.count(synType)>0: self.log.debug(paramName +"->"+synType) if paramName.count('weight')>0: @@ -206,7 +206,7 @@ class NetworkMLHDF5Handler(): self.log.debug("Connection %d from %f to %f" % (id, preCellId, postCellId)) - for synType in localSynapseProps.keys(): + for synType in localSynapseProps: synProps = localSynapseProps[synType] diff --git a/python/moose/xmls_to_network/twoNeurons/generatedPyNN/NeuroMLUtils/NetworkMLSaxHandler.py b/python/moose/xmls_to_network/twoNeurons/generatedPyNN/NeuroMLUtils/NetworkMLSaxHandler.py index e73b0b2..1f03327 100644 --- a/python/moose/xmls_to_network/twoNeurons/generatedPyNN/NeuroMLUtils/NetworkMLSaxHandler.py +++ b/python/moose/xmls_to_network/twoNeurons/generatedPyNN/NeuroMLUtils/NetworkMLSaxHandler.py @@ -223,7 +223,7 @@ class NetworkMLSaxHandler(xml.sax.ContentHandler): self.postFract = 0.5 self.localSynapseProps.clear() - synTypes = self.globalSynapseProps.keys() + synTypes = self.globalSynapseProps for synType in synTypes: self.localSynapseProps[synType] = self.globalSynapseProps[synType].copy() @@ -282,7 +282,7 @@ class NetworkMLSaxHandler(xml.sax.ContentHandler): self.globalSynapseProps[self.latestSynapseType] = newSynapseProps - for synProp in self.globalSynapseProps.keys(): + for synProp in self.globalSynapseProps: self.log.debug("globalSynapseProp "+synProp+": "+ str(self.globalSynapseProps[synProp])) @@ -310,7 +310,7 @@ class NetworkMLSaxHandler(xml.sax.ContentHandler): self.globalSynapseProps[self.latestSynapseType] = newSynapseProps - for synProp in self.globalSynapseProps.keys(): + for synProp in self.globalSynapseProps: self.log.debug("globalSynapseProp "+synProp+": "+ str(self.globalSynapseProps[synProp])) @@ -322,7 +322,7 @@ class NetworkMLSaxHandler(xml.sax.ContentHandler): if 'synapse_type' in attrs: synapse_type = attrs.get('synapse_type',"") elif len(self.localSynapseProps) == 1: - synapse_type = self.localSynapseProps.keys()[0] + synapse_type = self.localSynapseProps.popitem()[0] if synapse_type != "": synProps = self.localSynapseProps[synapse_type] @@ -455,7 +455,7 @@ class NetworkMLSaxHandler(xml.sax.ContentHandler): self.log.debug(" Gathered all details of connection: " + self.currentConnId) - for synType in self.localSynapseProps.keys(): + for synType in self.localSynapseProps: synProps = self.localSynapseProps[synType] diff --git a/python/moose/xmls_to_network/twoNeurons/generatedPyNN/PyNNUtils/PyNNUtils.py b/python/moose/xmls_to_network/twoNeurons/generatedPyNN/PyNNUtils/PyNNUtils.py index a9c04c0..424e356 100644 --- a/python/moose/xmls_to_network/twoNeurons/generatedPyNN/PyNNUtils/PyNNUtils.py +++ b/python/moose/xmls_to_network/twoNeurons/generatedPyNN/PyNNUtils/PyNNUtils.py @@ -196,7 +196,7 @@ class NetManagerPyNN(NetworkHandler): self.log.error("Error at handleInputSource! Need a size attribute in sites element to create spike source!") return - if inputProps.keys().count("synaptic_mechanism")>0 and inputProps.keys().count("frequency")>0: + if "synaptic_mechanism" in inputProps and "frequency" in inputProps: freq = float(inputProps["frequency"]) @@ -247,7 +247,7 @@ class NetManagerPyNN(NetworkHandler): exec("from pyNN.%s import *" % self.my_simulator) # Does this really need to be imported every time? - if self.inputCount.keys().count(inputName)==0: + if inputName not in self.inputCount: self.inputCount[inputName] = 0 weight = float(self.inputWeights[inputName]) -- 1.8.5.3 |