def save(self, filename = None): """ Save the interlingua object to a comma separated values file. @param filename: The file name to use; if not specified, the name of the source file will be used. @type filename: str """ if filename is None: filename = self.__filename else: self.__set_filename(filename) writer = Csv.writer(open(self.__filename, "wb")) writer.writerow((self.name, )) writer.writerow(self.p_o_s) writer.writerow(self.arg_struct) for c in self.taxonomy: writer.writerow((c.interlingua, c.p_o_s, c.arg_struct, c.meaning, c.baseconcept, c.derivation, c.notes, c.reference))
def load(self): """ Load the interlingua object from a comma separated values file. The internal status of the object is changed to the loaded values. """ reader = Csv.reader(open(self.__filename, "rb")) name = reader.next()[0] p_o_s = list(reader.next()) arg_struct = list(reader.next()) self.taxonomy.clear() for (i, p, a, m, b, d, n, r) in reader: if b == "": b = None c = Concept(i, p, a, m, b, d) c.notes = n c.reference = r self.taxonomy.set(c) self.name, self.p_o_s, self.arg_struct = name, p_o_s, arg_struct