parameters: (location, content)
return_statement: return os.path.exists(location)
docstring: Save files.
docstring_summary: Save files.
docstring_tokens: Save files .
function: async def async_save_file(location, content):
      """Save files."""
      _LOGGER.debug("Saving %s", location)
      mode = "w"
      encoding = "utf-8"
      errors = "ignore"
  
      if not isinstance(content, str):
          mode = "wb"
          encoding = None
          errors = None
  
      try:
          async with aiofiles.open(
              location, mode=mode, encoding=encoding, errors=errors
          ) as outfile:
              await outfile.write(content)
              outfile.close()
  
          # Create gz for .js files
          if os.path.isfile(location):
              if location.endswith(".js") or location.endswith(".css"):
                  with open(location, "rb") as f_in:
                      with gzip.open(location + ".gz", "wb") as f_out:
                          shutil.copyfileobj(f_in, f_out)
  
          # Remove with 2.0
          if "themes" in location and location.endswith(".yaml"):
              filename = location.split("/")[-1]
              base = location.split("/themes/")[0]
              combined = f"{base}/themes/{filename}"
              if os.path.exists(combined):
                  _LOGGER.info("Removing old theme file %s", combined)
                  os.remove(combined)
  
      except (Exception, BaseException) as error:  # pylint: disable=broad-except
          _LOGGER.error("Could not write data to %s - %s", location, error)
          return False
  
      return os.path.exists(location)
function_tokens: async def async_save_file ( location , content ) : _LOGGER . debug ( "Saving %s" , location ) mode = "w" encoding = "utf-8" errors = "ignore" if not isinstance ( content , str ) : mode = "wb" encoding = None errors = None try : async with aiofiles . open ( location , mode = mode , encoding = encoding , errors = errors ) as outfile : await outfile . write ( content ) outfile . close ( ) # Create gz for .js files if os . path . isfile ( location ) : if location . endswith ( ".js" ) or location . endswith ( ".css" ) : with open ( location , "rb" ) as f_in : with gzip . open ( location + ".gz" , "wb" ) as f_out : shutil . copyfileobj ( f_in , f_out ) # Remove with 2.0 if "themes" in location and location . endswith ( ".yaml" ) : filename = location . split ( "/" ) [ - 1 ] base = location . split ( "/themes/" ) [ 0 ] combined = f"{base}/themes/{filename}" if os . path . exists ( combined ) : _LOGGER . info ( "Removing old theme file %s" , combined ) os . remove ( combined ) except ( Exception , BaseException ) as error : # pylint: disable=broad-except _LOGGER . error ( "Could not write data to %s - %s" , location , error ) return False return os . path . exists ( location )