def _upgrade(self): # fix import loop from horizons.savegamemanager import SavegameManager metadata = SavegameManager.get_metadata(self.original_path) rev = metadata['savegamerev'] if rev == 0: # not a regular savegame, usually a map self.final_path = self.original_path elif rev == VERSION.SAVEGAMEREVISION: # the current version self.final_path = self.original_path else: # upgrade self.using_temp = True handle, self.final_path = tempfile.mkstemp(prefix='uh-savegame.' + os.path.basename(os.path.splitext(self.original_path)[0]) + '.', suffix='.sqlite') os.close(handle) shutil.copyfile(self.original_path, self.final_path) db = DbReader(self.final_path) if rev < 49: self._upgrade_to_rev49(db) if rev < 50: self._upgrade_to_rev50(db) if rev < 51: self._upgrade_to_rev51(db) if rev < 52: self._upgrade_to_rev52(db) db.close()
def _upgrade(self): # fix import loop from horizons.savegamemanager import SavegameManager metadata = SavegameManager.get_metadata(self.original_path) rev = metadata["savegamerev"] if rev == 0: # not a regular savegame, usually a map self.final_path = self.original_path elif rev == VERSION.SAVEGAMEREVISION: # the current version self.final_path = self.original_path else: # upgrade self.using_temp = True handle, self.final_path = tempfile.mkstemp( prefix="uh-savegame." + os.path.basename(os.path.splitext(self.original_path)[0]) + ".", suffix=".sqlite", ) os.close(handle) shutil.copyfile(self.original_path, self.final_path) db = DbReader(self.final_path) db("BEGIN TRANSACTION") if rev < 49: self._upgrade_to_rev49(db) if rev < 50: self._upgrade_to_rev50(db) if rev < 51: self._upgrade_to_rev51(db) if rev < 52: self._upgrade_to_rev52(db) if rev < 53: self._upgrade_to_rev53(db) if rev < 54: self._upgrade_to_rev54(db) if rev < 55: self._upgrade_to_rev55(db) if rev < 56: self._upgrade_to_rev56(db) if rev < 57: self._upgrade_to_rev57(db) if rev < 58: self._upgrade_to_rev58(db) if rev < 59: self._upgrade_to_rev59(db) if rev < 60: self._upgrade_to_rev60(db) if rev < 61: self._upgrade_to_rev61(db) if rev < 62: self._upgrade_to_rev62(db) db("COMMIT") db.close()