              if not os.path.isfile(filename):
                  msg = "File does not exist: '{}'".format(filename)
                  logger.error(msg)
                  return
              with open(filename, "r") as cfgfile:
                  cfg = self.serializer.unmarshal(cfgfile.read())
          else:
              cfgfile = FileHandler("open", "config").retfile
              if not cfgfile:
                  return
              cfg = self.serializer.unmarshal(cfgfile.read())
 
</s> remove             cfg = self.serializer.unmarshal(cfgfile.read())
 </s> add             filename = cfgfile.name
            cfgfile.close()
            cfg = self.serializer.load(filename) </s> remove         cfg = self.cli_opts.get_option_values(command)
        cfgfile.write(self.serializer.marshal(cfg))
 </s> add         filename = cfgfile.name </s> remove         self.add_to_recent(cfgfile.name, command)
        logger.debug("Saved config: (command: '%s', cfgfile: '%s')", command, cfgfile)
 </s> add         cfg = self.cli_opts.get_option_values(command)
        self.serializer.save(filename, cfg)
        self.add_to_recent(filename, command)
        logger.debug("Saved config: (command: '%s', filename: '%s')", command, filename) </s> remove         self.add_to_recent(cfgfile.name, command)
        logger.debug("Loaded config: (command: '%s', cfgfile: '%s')", command, cfgfile)
 </s> add         self.add_to_recent(filename, command)
        logger.debug("Loaded config: (command: '%s', filename: '%s')", command, filename) </s> remove         try:
            with open(self.file, self.serializer.roptions) as align:
                data = self.serializer.unmarshal(align.read())
        except IOError as err:
            logger.error("Error: '%s' not read: %s", self.file, err.strerror)
            exit(1)
 </s> add         data = self.serializer.load(self.file)
            cfg = self.serializer.load(filename)
              if not os.path.isfile(filename):
                  msg = "File does not exist: '{}'".format(filename)
                  logger.error(msg)
                  return
            cfg = self.serializer.load(filename)
            cfg = self.serializer.load(filename)
          else:
              cfgfile = FileHandler("open", "config").retfile
              if not cfgfile:
                  return
              cfg = self.serializer.unmarshal(cfgfile.read())
keep keep keep keep replace replace keep keep keep keep keep
 Standardize serialization (#903)

* Standardize serialization

- Linting
- Standardize serializer use throughout code
- Extend serializer to load and save files
- Always load and save in utf-8
- Create documentation 
lib/gui/utils.py