コード例 #1
0
    def do_write_save(self, args):
        """Write the current state of the save into a file

Usage:
  write_save <file> [<gluid>]
  write_save -l <file>

Arguments:
  file          Path to the new save file.
  gluid         GLUID used to encrypt the new save file. Must be base64 encoded.

Options:
  -l --legacy   Write a legacy save file (1.8.x version).
  -h --help     Show this help."""
        if args['<gluid>'] is not None:
            try:
                args['<gluid>'] = binascii.a2b_base64(
                    args['<gluid>'].encode('utf-8'))
            except binascii.Error:
                print("Invalid encryption key")
                return
        try:
            self._save_manager.save(
                compress_data(self._xml_handle.to_string()), args['<file>'],
                self.save_number, args['<gluid>'],
                (self.savedata.legacy or args['--legacy'])
                and args['<gluid>'] is None)
        except Exception as e:
            print("Was unable to write to file, reason: {}".format(str(e)))
コード例 #2
0
ファイル: ponyshell.py プロジェクト: kidaak/CelestiaSunrise
    def do_write_save(self, args):
        """Write the current state of the save into a file

Usage:
  write_save <file> [<gluid>]
  write_save -l <file>

Arguments:
  file          Path to the new save file.
  gluid         GLUID used to encrypt the new save file. Must be base64 encoded.

Options:
  -l --legacy   Write a legacy save file (1.8.x version).
  -h --help     Show this help."""
        if args['<gluid>'] is not None:
            try:
                args['<gluid>'] = binascii.a2b_base64(args['<gluid>'].encode('utf-8'))
            except binascii.Error:
                print("Invalid encryption key")
                return
        try:
            self._save_manager.save(compress_data(self._xml_handle.to_string()),
                                    args['<file>'],
                                    self.save_number,
                                    args['<gluid>'],
                                    (self.savedata.legacy or args['--legacy'])
                                    and args['<gluid>'] is None)
        except Exception as e:
            print("Was unable to write to file, reason: {}".format(str(e)))
コード例 #3
0
ファイル: threaded.py プロジェクト: lwd-temp/CelestiaSunrise
 def worker(self, queue):
     ThreadedBase.worker(self, queue)
     res = {
         "error": None,
     }
     try:
         if not self.xml:
             self.save_manager.save(compress_data(self.xml_handle.to_string()),
                                    self.savedata.savefile,
                                    self.save_number,
                                    self.savedata.gluid,
                                    self.savedata.legacy)
         else:
             with open(self.xml, 'wb') as f:
                 f.write(self.xml_handle.prettify())
     except Exception as e:
         res["error"] = e
     res["done"] = True
     queue.put(res)
コード例 #4
0
ファイル: threaded.py プロジェクト: kidaak/CelestiaSunrise
 def worker(self, queue):
     ThreadedBase.worker(self, queue)
     res = {
         "error": None,
     }
     try:
         if not self.xml:
             self.save_manager.save(compress_data(self.xml_handle.to_string()),
                                    self.savedata.savefile,
                                    self.save_number,
                                    self.savedata.gluid,
                                    self.savedata.legacy)
         else:
             with open(self.xml, 'wb') as f:
                 f.write(self.xml_handle.prettify())
     except Exception as e:
         res["error"] = e
     res["done"] = True
     queue.put(res)