Working on input checker.

git-svn-id: https://subversion.assembla.com/svn/qmcdev/trunk@4637 e5b18d87-469d-4833-9cc0-8cdfa06e9491
This commit is contained in:
Ken Esler 2010-02-20 02:12:29 +00:00
parent 510ecb08cd
commit 5201e3159a
2 changed files with 69 additions and 12 deletions

View File

@ -1,37 +1,44 @@
#!/bin/env python
from xml.dom.minidom import *
import sys
from check_qmcsystem import *
def check_project (proj):
class simulation:
system = qmcsystem()
def check_project (proj, sim):
print 'checking project section'
return
def check_random (rand):
def check_random (rand, sim):
print 'checking random section'
return
def check_qmcsystem(system):
print 'checking qmcsystem section'
return
#def check_qmcsystem(system):
# print 'checking qmcsystem section'
# return
def check_wavefunction(wf):
def check_wavefunction(wf, sim):
print 'checking wavefunction section'
return
def check_hamiltonian(ham):
def check_hamiltonian(ham, sim):
print 'checking hamiltonian section'
return
def check_loop(loop):
def check_loop(loop, sim):
print 'checking loop section'
return
def check_qmc(qmc):
def check_qmc(qmc, sim):
print 'checking qmc section'
return
def check_simulation(sim):
def check_simulation(sim_elem):
mysim = simulation()
sim_dict = {'project' : check_project , \
'random' : check_random , \
'qmcsystem' : check_qmcsystem , \
@ -40,11 +47,11 @@ def check_simulation(sim):
'loop' : check_loop , \
'qmc' : check_qmc }
for elem in sim.childNodes:
for elem in sim_elem.childNodes:
if elem.nodeType == elem.ELEMENT_NODE:
n = elem.localName
if (n in sim_dict):
sim_dict[elem.localName](elem)
sim_dict[elem.localName](elem, mysim)
else:
print "Error: unrecognized subelement \"" + n + "\" in "\
"element \"simulation\""

50
utils/check_qmcsystem.py Normal file
View File

@ -0,0 +1,50 @@
class qmcsystem:
lattice = [[0.0, 0.0, 0.0],\
[0.0, 0.0, 0.0],\
[0.0, 0.0, 0.0]]\
def get_parameter (self, par_elem):
name = par_elem.attributes["name"]
print "name = " + name.value
val = ""
for elem in par_elem.childNodes:
print elem
if elem.nodeType == elem.TEXT_NODE:
print elem
val = elem.text
return (name,val)
def check_cell(self, cell_elem):
for elem in cell_elem.childNodes:
if elem.nodeType == elem.ELEMENT_NODE:
n = elem.localName
print n
if n == 'parameter':
self.get_parameter(elem)
return
def check_particleset (self, pset_elem):
print "checking particleset"
return
mydict = {"simulationcell" : check_cell,\
"particleset" : check_particleset }
def check (self, sys_elem, sim):
print 'checking qmcsystem element'
print 'lattice = ' + repr (sim.system.lattice)
for elem in sys_elem.childNodes:
if elem.nodeType == elem.ELEMENT_NODE:
n = elem.localName
print n
if (n in self.mydict):
self.mydict[n](self, elem)
def check_qmcsystem(sys_elem, sim):
sim.system.check (sys_elem, sim)
return