Exemple #1
0
 def save(self, filename):  # WIP
     self.filename = filename
     exception = None
     open_file = None
     try:
         if not self.filename:
             raise IOError("no filename specified for saving")
         open_file = open(self.filename, 'w')
         dataExtra = self.extractInitData()
         GRO_parse.write_extraData_to_GRO(open_file, dataExtra[0])
         GRO_parse.write_extraData_to_GRO(open_file, [str(self.rowCount())])
         for row in self.GRO_rows:
             residNum = row.residNum
             residName = row.residName  # (residNum, residName, atomName, atomNum, X,Y,Z ) = range(7)
             atomName = row.atomName
             atomNum = row.atomNum
             x = row.X
             y = row.Y
             z = row.Z
             line = [residNum, residName, atomName, atomNum, x, y, z]
             # print('line is ',line)
             GRO_parse.write_SingleLine_to_GRO(open_file, line)
         GRO_parse.write_vectorBox_to_GRO(open_file, dataExtra[2])
         self.dirty = False
     except IOError as e:
         exception = e
     finally:
         if open_file is not None:
             open_file.close()
         if exception is not None:
             raise exception