Esempio n. 1
0
    def read(self, pfn):
        fp = open(pfn, "r")
        self.file_name = pfn
        self.line1 = fp.readline()
        self.line2 = fp.readline()

        # read the dimensions part
        fp.readline()
        delim = fp.readline()

        while delim != "** Parameters **":
            dim = fp.readline().strip()
            size = int(fp.readline().strip())
            self.dims[dim] = size
            delim = fp.readline().strip()

        delim = fp.readline().strip()
        while delim:
            p = Parameter()
            name = fp.readline().strip()
            p.name = name

            num_dim = int(fp.readline().strip())
            d = []
            for ii in xrange(num_dim):
                d.append(fp.readline().strip())
            p.dims = d

            num_vals = int(fp.readline().strip())
            type_t = int(fp.readline().strip())
            p.type_code = type_t

            v = []
            for ii in xrange(num_vals):
                if type_t == 1:
                    v.append(int(fp.readline().strip()))
                elif type_t == 2:
                    v.append(float(fp.readline().strip()))
                else:
                    v.append(fp.readline().strip())
            p.vals = v

            self.params[name] = p

            delim = fp.readline().strip()