code: def save(self):
          
          # Code to load all attributes
          for prop in dir(self):
              if getattr(self, prop) == None: continue
              if not prop in self.configVars: continue
              
              # Special handling for some attributes
              if prop == "session":
                  pic = pickle.dumps(getattr(self, prop).cookies)
                  comp = zlib.compress(pic)
                  enc = base64.b64encode(comp)
                  self.config[prop] = enc.decode()
                  continue
                      
              if prop == "password" and not self.savePassword: continue
              if prop == "password":
                  s = hashlib.md5(self.username.encode()).hexdigest()
                  p = base64.b64encode(getattr(self, prop).encode()) + s.encode()
                  self.config[prop] = p.decode()
                  continue
                  
              self.config[prop] = str(getattr(self, prop))
                  
          if 'password' in self.config and not self.savePassword: del self.config.password
          self.config.write()
          self.__loadConfig()
docs: Exports all user attributes to the user's configuration and writes configuration
          
          Saves the values for each attribute stored in User.configVars
          into the user's configuration. The password is automatically
          encoded and salted to prevent saving it as plaintext. The 
          session is pickled, encoded, and compressed to take up
          less space in the configuration file. All other attributes
          are saved in plain text. Writes the changes to the configuration file.