コード例 #1
0
 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")
コード例 #2
0
ファイル: FromTemplate.py プロジェクト: floli/tools
    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)
コード例 #3
0
 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")
コード例 #4
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
コード例 #5
0
    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())
コード例 #6
0
 def testTemplateFilePercentDelimiter(self):
     t=TemplateFile(content="x=$!x!$")
     self.assertEqual(t.getString({"x":4}),"x=4")
コード例 #7
0
 def testTemplateFileMathRealDelim(self):
     t=TemplateFile(content=templateMath.replace("$","|"))
     self.assertEqual(t.getString({"x":4}),"sqrt(x) = 2.0")
コード例 #8
0
 def testTemplateFileLongMath(self):
     t=TemplateFile(content=templateMath,expressionDelimiter="$")
     self.assertEqual(t.getString({"x":4}),"sqrt(x) = 2.0")
コード例 #9
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")
コード例 #10
0
ファイル: TemplateFile.py プロジェクト: LeeRuns/PyFoam
 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")
コード例 #11
0
 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()))
コード例 #13
0
ファイル: TemplateFile.py プロジェクト: floli/tools
 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")
コード例 #14
0
ファイル: TemplateFile.py プロジェクト: floli/tools
 def testTemplateFileLongVars(self):
     t=TemplateFile(content=template2)
     self.assertEqual(int(t.getString({"x":1})),36)
コード例 #15
0
ファイル: TemplateFile.py プロジェクト: floli/tools
 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")
コード例 #16
0
   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")
コード例 #18
0
 def testTemplateFileBuiltinStuff(self):
     t=TemplateFile(content=templateBuiltIn)
     self.assertEqual(t.getString({}),"\nTRUE\nFALSE\n2 3\n* 32\n")
コード例 #19
0
 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()))
コード例 #21
0
    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)
コード例 #23
0
 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")