def testSpreadsheetDataInterpolateNoName(self):
     sp=SpreadsheetData(data=data3a,names=names3a)
     data=sp(-1,invalidExtend=True)
     self.assertEqual(len(data),2)
     self.assertAlmostEqual(data["val"],0)
     self.assertEqual(data["descr"],b('val_0'))
     data=sp(2,invalidExtend=True)
     self.assertAlmostEqual(data["val"],4)
     self.assertEqual(data["descr"],b('val_2'))
     data=sp(5.1,invalidExtend=True)
     self.assertAlmostEqual(data["val"],26.1)
     self.assertEqual(data["descr"],b('val_5'))
 def testSpreadsheetDataInterpolateNoName(self):
     sp = SpreadsheetData(data=data3a, names=names3a)
     data = sp(-1, invalidExtend=True)
     self.assertEqual(len(data), 2)
     self.assertAlmostEqual(data["val"], 0)
     self.assertEqual(data["descr"], b('val_0'))
     data = sp(2, invalidExtend=True)
     self.assertAlmostEqual(data["val"], 4)
     self.assertEqual(data["descr"], b('val_2'))
     data = sp(5.1, invalidExtend=True)
     self.assertAlmostEqual(data["val"], 26.1)
     self.assertEqual(data["descr"], b('val_5'))
    def testGetTimesTimelineWithStringNoTitle(self):
        sd = TimelineDirectory(self.theDir, dirName="state")
        st = sd["state"]
        spread = st(False)

        self.assertEqual(spread(-1, "state"), "")
        self.assertEqual(spread(1, "state"), b("da"))
        self.assertEqual(spread(2.7, "state"), b("hier"))
        self.assertAlmostEqual(spread(2.7, "code"), 2.85)
        data = spread(2.7)
        self.assertEqual(len(data), 2)
        self.assertEqual(data["state"], b("hier"))
        self.assertAlmostEqual(data["code"], 2.85)
        import numpy as np
        self.assertEqual(spread.data.dtype[1].kind, "S")
    def testGetTimesTimelineWithStringNoTitle(self):
        sd=TimelineDirectory(self.theDir,dirName="state")
        st=sd["state"]
        spread=st(False)

        self.assertEqual(spread(-1,"state"),"")
        self.assertEqual(spread(1,"state"),b("da"))
        self.assertEqual(spread(2.7,"state"),b("hier"))
        self.assertAlmostEqual(spread(2.7,"code"),2.85)
        data=spread(2.7)
        self.assertEqual(len(data),2)
        self.assertEqual(data["state"],b("hier"))
        self.assertAlmostEqual(data["code"],2.85)
        import numpy as np
        self.assertEqual(spread.data.dtype[1].kind,"S")
    def testGetTimesTimelineWithString(self):
        sd=TimelineDirectory(self.theDir,dirName="state")
        st=sd["state"]
        self.assertEqual(st.getData([0.5,1,2,4]),[['nix', 1.0], ['da', 2.0], ['da', 2.0], ['hier', 3.0]])
        self.assert_(not st.isProbe())
        spread=st()

        self.assertEqual(spread(-1,"state_t=0 state"),"")
        self.assertEqual(spread(1,"state_t=0 state"),b("da"))
        self.assertEqual(spread(2.7,"state_t=0 state"),b("hier"))
        self.assertAlmostEqual(spread(2.7,"state_t=0 code"),2.85)
        data=spread(2.7)
        self.assertEqual(len(data),2)
        self.assertEqual(data["state_t=0 state"],b("hier"))
        self.assertAlmostEqual(data["state_t=0 code"],2.85)
Exemplo n.º 6
0
 def toNumpy(self, regexp, dtypes):
     import numpy as np
     try:
         return np.fromregex(StringIO(self.data), regexp, dtypes)
     except TypeError:
         from PyFoam.ThirdParty.six import BytesIO, b
         return np.fromregex(BytesIO(b(self.data)), regexp, dtypes)
Exemplo n.º 7
0
    def __init__(self,fName):
        aPath=path.abspath(fName)
        pSep=aPath.split(path.sep)
        self.name=path.splitext(pSep[-1])[0]
        self.time=float(pSep[-2])
        self.function=pSep[-3]
        self.cloudName=pSep[-4]

        f=CleanCharactersFile(fName,charsToRemove="()")
        r=BytesIO(b(f.content))
        hLine=str(r.readline().strip()).replace("'","")

        # missing in some libraries
        if hLine.find("cellI tetFaceI")>0:
            hLine=hLine.replace("cellI tetFaceI","cellI faceI stepFraction tetFaceI")

        header=[str(n) for n in hLine.split()[1:]]
        spec=[]

        for name in header:
            if name in ["currentProc","cellI","faceI","tetFaceI","tetPtI","origProc","origId","typeId"]:
                spec.append((name,"i8"))
            elif name in ["active"]:
                spec.append((name,np.bool_))
            else:
                spec.append((str(name),"f8"))

        self.data=np.recfromtxt(r,dtype=spec)
    def testGetTimesTimelineWithString(self):
        sd = TimelineDirectory(self.theDir, dirName="state")
        st = sd["state"]
        self.assertEqual(st.getData(
            [0.5, 1, 2,
             4]), [['nix', 1.0], ['da', 2.0], ['da', 2.0], ['hier', 3.0]])
        self.assert_(not st.isProbe())
        spread = st()

        self.assertEqual(spread(-1, "state_t=0 state"), "")
        self.assertEqual(spread(1, "state_t=0 state"), b("da"))
        self.assertEqual(spread(2.7, "state_t=0 state"), b("hier"))
        self.assertAlmostEqual(spread(2.7, "state_t=0 code"), 2.85)
        data = spread(2.7)
        self.assertEqual(len(data), 2)
        self.assertEqual(data["state_t=0 state"], b("hier"))
        self.assertAlmostEqual(data["state_t=0 code"], 2.85)
    def on_service_state_change(zeroconf, service_type, name, state_change):
        if verbose:
            print_("Service %s of type %s state changed: %s" %
                   (name, service_type, state_change))

        if state_change is zc.ServiceStateChange.Added:
            info = zero.get_service_info(service_type, name)

            if info:
                if verbose:
                    print_("  Address: %s:%d" %
                           (socket.inet_ntoa(info.address), info.port))
                    print_("  Weight: %d, priority: %d" %
                           (info.weight, info.priority))
                    print_("  Server: %s" % (info.server, ))
                if info.properties:
                    if verbose:
                        print_("  Properties are:")
                        for key, value in info.properties.items():
                            print_("    %s: %s" % (key, value))
                    try:
                        new = ServerInfo(
                            info.properties[b("ip")],
                            int(info.properties[b("pid")]),
                            int(info.properties[b("port")]),
                            eval(info.properties[b("ssl")])
                            if b("ssl") in info.properties else False)
                        new.queryData()
                        servers[name] = new
                        if progress:
                            print_("+", flush=True, end="")
                    except socket.error:
                        warning("Connection refused by", new["ip"])
                else:
                    if verbose:
                        print_("  No properties")
            else:
                if verbose:
                    print_("  No info")
        elif state_change is zc.ServiceStateChange.Removed:
            if name in servers:
                if verbose:
                    print_("Remove", name)
                del servers[name]
                if progress:
                    print_("-", flush=True, end="")
Exemplo n.º 10
0
 def toNumpy(self, regexp, dtypes):
     """Assume that the unparsed data contains line-wise data and transform it to a numpy-array.
     @param regexp: regular expression where the groups correspond to the dtypes,
     @param dtypes: list with dtypes"""
     import numpy as np
     try:
         return np.fromregex(StringIO(self.data), regexp, dtypes)
     except TypeError:
         from PyFoam.ThirdParty.six import BytesIO, b
         return np.fromregex(BytesIO(b(self.data)), regexp, dtypes)
    def on_service_state_change(zeroconf, service_type, name, state_change):
        if verbose:
            print_("Service %s of type %s state changed: %s" % (name, service_type, state_change))

        if state_change is zc.ServiceStateChange.Added:
            info = zero.get_service_info(service_type, name)

            if info:
                if verbose:
                    print_("  Address: %s:%d" % (socket.inet_ntoa(info.address), info.port))
                    print_("  Weight: %d, priority: %d" % (info.weight, info.priority))
                    print_("  Server: %s" % (info.server,))
                if info.properties:
                    if verbose:
                        print_("  Properties are:")
                        for key, value in info.properties.items():
                            print_("    %s: %s" % (key, value))
                    try:
                        new=ServerInfo(info.properties[b("ip")],
                                       int(info.properties[b("pid")]),
                                       int(info.properties[b("port")]),
                                       eval(info.properties[b("ssl")]) if b("ssl") in info.properties else False)
                        new.queryData()
                        servers[name]=new
                        if progress:
                            print_("+",flush=True,end="")
                    except socket.error:
                        warning("Connection refused by",new["ip"])
                else:
                    if verbose:
                        print_("  No properties")
            else:
                if verbose:
                    print_("  No info")
        elif state_change is zc.ServiceStateChange.Removed:
            if name in servers:
                if verbose:
                    print_("Remove",name)
                del servers[name]
                if progress:
                    print_("-",flush=True,end="")
    def testSpreadsheetDataInterpolationWithString(self):
        sp = SpreadsheetData(data=data3a, names=names3a)
        self.assertAlmostEqual(sp(-1, "val", invalidExtend=True), 0)
        self.assert_(numpy.isnan(sp(-1, "val")))
        self.assertAlmostEqual(sp(10, "val", invalidExtend=True), 81)
        self.assert_(numpy.isnan(sp(10, "val")))
        self.assertAlmostEqual(sp(1, "val"), 1)
        self.assertAlmostEqual(sp(1.5, "val"), 2.5)
        self.assertAlmostEqual(sp(5, "val"), 25)
        self.assertAlmostEqual(sp(5.1, "val"), 26.1)
        self.assertAlmostEqual(sp(8.9, "val"), 79.3)
        self.assertAlmostEqual(sp(8.9, "t"), 8.9)

        self.assertAlmostEqual(sp(1, "val", noInterpolation=True), 1)
        self.assert_(numpy.isnan(sp(1.5, "val", noInterpolation=True)))

        self.assertEqual(sp(-1, "descr", invalidExtend=True), b('val_0'))
        self.assertEqual(sp(-1, "descr"), '')
        self.assertEqual(sp(2, "descr"), b('val_2'))
        self.assertEqual(sp(3, "descr"), b('val_3'))
        self.assertEqual(sp(2.4, "descr"), b('val_2'))
        self.assertEqual(sp(2.5, "descr"), b('val_3'))
        self.assertEqual(sp(2.7, "descr"), b('val_3'))
    def testSpreadsheetDataInterpolationWithString(self):
        sp=SpreadsheetData(data=data3a,names=names3a)
        self.assertAlmostEqual(sp(-1,"val",invalidExtend=True),0)
        self.assert_(numpy.isnan(sp(-1,"val")))
        self.assertAlmostEqual(sp(10,"val",invalidExtend=True),81)
        self.assert_(numpy.isnan(sp(10,"val")))
        self.assertAlmostEqual(sp(1,"val"),1)
        self.assertAlmostEqual(sp(1.5,"val"),2.5)
        self.assertAlmostEqual(sp(5,"val"),25)
        self.assertAlmostEqual(sp(5.1,"val"),26.1)
        self.assertAlmostEqual(sp(8.9,"val"),79.3)
        self.assertAlmostEqual(sp(8.9,"t"),8.9)

        self.assertAlmostEqual(sp(1,"val",noInterpolation=True),1)
        self.assert_(numpy.isnan(sp(1.5,"val",noInterpolation=True)))

        self.assertEqual(sp(-1,"descr",invalidExtend=True),b('val_0'))
        self.assertEqual(sp(-1,"descr"),'')
        self.assertEqual(sp(2,"descr"),b('val_2'))
        self.assertEqual(sp(3,"descr"),b('val_3'))
        self.assertEqual(sp(2.4,"descr"),b('val_2'))
        self.assertEqual(sp(2.5,"descr"),b('val_3'))
        self.assertEqual(sp(2.7,"descr"),b('val_3'))
Exemplo n.º 14
0
        self.assertEqual(diff1["max"], None)
        self.assertEqual(diff1["average"], None)
        self.assertEqual(diff1["wAverage"], None)
        self.assertEqual(diff2["max"], None)
        self.assertEqual(diff2["average"], None)
        self.assertEqual(diff2["wAverage"], None)


theSuite.addTest(unittest.makeSuite(SpreadsheetDifferenceTest, "test"))

from PyFoam.ThirdParty.six import BytesIO, b

filecontent = b("""# time  Initial         Final   Iterations
0.005   1       2.96338e-06     8
0.01    0.148584        7.15711e-06     6
0.015   0.0448669       2.39894e-06     6
0.02    0.0235438       1.57074e-06     6
0.025   0.0148809       5.14401e-06     5
""")

from PyFoam.ThirdParty.six import BytesIO

from tempfile import mktemp


class SpreadsheetReadFileTest(unittest.TestCase):
    def testSpreadsheetReadFileTest(self):
        fName = mktemp()
        open(fName, "wb").write(filecontent)
        sp = SpreadsheetData(txtName=fName)
        self.assertEqual(len(sp.names()), 4)
Exemplo n.º 15
0
        diff2=sp2.compare(sp,"val",common=True)
        self.assertEqual(diff1["max"],None)
        self.assertEqual(diff1["average"],None)
        self.assertEqual(diff1["wAverage"],None)
        self.assertEqual(diff2["max"],None)
        self.assertEqual(diff2["average"],None)
        self.assertEqual(diff2["wAverage"],None)

theSuite.addTest(unittest.makeSuite(SpreadsheetDifferenceTest,"test"))

from PyFoam.ThirdParty.six import BytesIO,b

filecontent=b("""# time  Initial         Final   Iterations
0.005   1       2.96338e-06     8
0.01    0.148584        7.15711e-06     6
0.015   0.0448669       2.39894e-06     6
0.02    0.0235438       1.57074e-06     6
0.025   0.0148809       5.14401e-06     5
""")

from PyFoam.ThirdParty.six import BytesIO

from tempfile import mktemp

class SpreadsheetReadFileTest(unittest.TestCase):
    def testSpreadsheetReadFileTest(self):
        fName=mktemp()
        open(fName,"wb").write(filecontent)
        sp=SpreadsheetData(txtName=fName)
        self.assertEqual(len(sp.names()),4)
        self.assertEqual(sp.size(),5)