def testTemplateFileMacro(self): t = TemplateFile(content=templateMacro) if PY3 and sys.version_info.minor > 1: self.assertEqual( t.getString({"vals": [2, 3.3, -1]}), "2 \t = 4\n3.3 \t = 10.889999999999999\n-1 \t = 1\n") else: self.assertEqual(t.getString({"vals": [2, 3.3, -1]}), "2 \t = 4\n3.3 \t = 10.89\n-1 \t = 1\n")
def run(self): fName=self.parser.getArgs()[0] vals=eval(self.parser.getArgs()[1]) if self.opts.template==None: template=fName+".template" else: template=self.opts.template t=TemplateFile(name=template) if self.opts.test: print t.getString(vals) else: t.writeToFile(fName,vals)
def testTemplateFileString(self): t=TemplateFile(content=template1,expressionDelimiter="$") self.assertEqual(t.getString({"x":-1}),"This should be 1") fName=mktemp() t.writeToFile(fName,{"x":1+2.}) result=open(fName).read() self.assertEqual(result,"This should be 9.0")
def __call__(self): texts={} for n,val in iteritems(self.templates): template=TemplateFile(content=val, expressionDelimiter="|-", encoding="ascii") try: texts[n]=str(template.getString(self.runner.getData())) except TemplateRenderError: e = sys.exc_info()[1] # Needed because python 2.5 does not support 'as e' error("Template error",e,"while rendering",val) msg=Message() msg["To"]=self.sendTo msg["From"]=self.sentFrom msg["Subject"]=texts["subject"] for n,v in iteritems(self.mailFields): msg[n]=v msg.set_payload(texts["message"]) print_("Connecting to SMTP-server",self.server) try: s=smtplib.SMTP(self.server) except: e = sys.exc_info()[1] # Needed because python 2.5 does not support 'as e' error("Could not connect to",self.server,":",e) print_("Sending mail") r=s.sendmail(self.sentFrom,self.sendTo.split(","),msg.as_string()) print_("\n",self.name,"Sent mail to",self.sendTo," Response:",r) # not yet tested with python3
def __call__(self): if self.useSSL: meth = httplib.HTTPSConnection else: meth = httplib.HTTPConnection conn = meth(self.host) parameters = {} for n, val in iteritems(self.parameters): if n in self.templates: template = TemplateFile(content=val, expressionDelimiter="|-", encoding="ascii") try: parameters[n] = str( template.getString(self.runner.getData())) except TemplateRenderError: e = sys.exc_info()[ 1] # Needed because python 2.5 does not support 'as e' error("Template error", e, "while rendering", val) else: parameters[n] = val encoded = urllib.urlencode(parameters) try: conn.request(self.method, self.url, encoded, self.headers) except socket.error: e = sys.exc_info()[ 1] # Needed because python 2.5 does not support 'as e' error("Could not connect to", self.host, ":", e) result = conn.getresponse() print_("\n", self.name, "Result of request:", result.status, result.reason, result.read())
def testTemplateFilePercentDelimiter(self): t=TemplateFile(content="x=$!x!$") self.assertEqual(t.getString({"x":4}),"x=4")
def testTemplateFileMathRealDelim(self): t=TemplateFile(content=templateMath.replace("$","|")) self.assertEqual(t.getString({"x":4}),"sqrt(x) = 2.0")
def testTemplateFileLongMath(self): t=TemplateFile(content=templateMath,expressionDelimiter="$") self.assertEqual(t.getString({"x":4}),"sqrt(x) = 2.0")
def testTemplateFileListLoop(self): t=TemplateFile(content=templateList) self.assertEqual(t.getString({"theList":["Henry","Joe","joe","Tom"]}),"Little Henry\nBig Joe\nBig joe\nLittle Tom\n")
def testTemplateFileMacro(self): t=TemplateFile(content=templateMacro) if PY3 and sys.version_info.minor>1: self.assertEqual(t.getString({"vals":[2,3.3,-1]}),"2 \t = 4\n3.3 \t = 10.889999999999999\n-1 \t = 1\n") else: self.assertEqual(t.getString({"vals":[2,3.3,-1]}),"2 \t = 4\n3.3 \t = 10.89\n-1 \t = 1\n")
def testTemplateFileForLoop(self): t=TemplateFile(content=templateFor) self.assertEqual(t.getString({"x":2})," 0 1 2 3 ")
def __call__(self): print("Data:",pformat(self.runner.getData())) template=TemplateFile(content=self.message, expressionDelimiter="|-", encoding="ascii") print(template.getString(self.runner.getData()))
def testTemplateFileFile(self): open("/tmp/writenTemplate","w").write(template1) t=TemplateFile(name="/tmp/writenTemplate") self.assertEqual(t.getString({"x":-1}),"This should be 1\n")
def testTemplateFileLongVars(self): t=TemplateFile(content=template2) self.assertEqual(int(t.getString({"x":1})),36)
def testTemplateFileString(self): t=TemplateFile(content=template1) self.assertEqual(t.getString({"x":-1}),"This should be 1\n") t.writeToFile("/tmp/testTemplate",{"x":"1+sqrt(4)"}) result=open("/tmp/testTemplate").read() self.assertEqual(result,"This should be 9.0\n")
energyFluid_In_|name| { type swakExpression; region |name|; expression "h*vol()"; accumulations ( sum ); valueType internalField; verbose true; } <!--(end)--> <!--(for name in solids)--> energySolid_In_|name| { type swakExpression; region |name|; expression "rho*cp*T*vol()"; accumulations ( sum ); valueType internalField; verbose true; } <!--(end)--> } """ t = TemplateFile(content=template) values = { 'fluids': rInfo["fluidRegionNames"], 'solids': rInfo["solidRegionNames"] } print t.getString(values)
def testAssignmentNotWorkingInPython3(self): t=TemplateFile(content=templateVariablesIn3, expressionDelimiter="|-", allowExec=True) self.assertEqual(t.getString({}),"\nB30\nB29_1\nB28_2\n")
def testTemplateFileBuiltinStuff(self): t=TemplateFile(content=templateBuiltIn) self.assertEqual(t.getString({}),"\nTRUE\nFALSE\n2 3\n* 32\n")
def testTemplateFileLongVars(self): t=TemplateFile(content=template2,expressionDelimiter="$") self.assertEqual(int(t.getString({"x":1})),36)
def __call__(self): print("Data:", pformat(self.runner.getData())) template = TemplateFile(content=self.message, expressionDelimiter="|-", encoding="ascii") print(template.getString(self.runner.getData()))
def testAssignmentNotWorkingInPython3(self): t = TemplateFile(content=templateVariablesIn3, expressionDelimiter="|-", allowExec=True) self.assertEqual(t.getString({}), "\nB30\nB29_1\nB28_2\n")
<!--(for name in fluids)--> energyFluid_In_|name| { type swakExpression; region |name|; expression "h*vol()"; accumulations ( sum ); valueType internalField; verbose true; } <!--(end)--> <!--(for name in solids)--> energySolid_In_|name| { type swakExpression; region |name|; // expression "rho*cp*T*vol()"; expression "rho*T*vol()"; accumulations ( sum ); valueType internalField; verbose true; } <!--(end)--> } """ t=TemplateFile(content=template) values = { 'fluids' : rInfo["fluidRegionNames"], 'solids' : rInfo["solidRegionNames"] } print t.getString(values)
def testTemplateFileFile(self): fName=mktemp() open(fName,"w").write(template1) t=TemplateFile(name=fName,expressionDelimiter="$") self.assertEqual(t.getString({"x":-1}),"This should be 1")