code: def updateFile(cls, file_, url):
          
          def compare(s1, s2):
              return s1 == s2, len(s2) - len(s1)
  
          if not url or not file_:
              return False
          try:
              req = urllib.request.urlopen(url)
              raw_codes = req.read()
              with open(file_, 'rb') as f:
                  current_codes = f.read().replace(b'\r', b'')
              is_same, diff = compare(current_codes, raw_codes)
              if is_same:
                  cit.info("{} is already up-to-date.".format(file_))
                  return False
              else:
                  cit.ask("A new version is available. Update? (Diff: {})".format(diff))
                  if cit.get_choice(['Yes', 'No']) == 'Yes':
                      with open(file_, 'wb') as f:
                          f.write(raw_codes)
                      cit.info("Update Success.")
                      return True
                  else:
                      cit.warn("Update Canceled")
                      return False
          except Exception as e:
              cit.err("{f} update failed: {e}".format(f=file_, e=e))
              return False
docs: Check and update file compares with remote_url
  
          Args:
              file_: str. Local filename. Normally it's __file__
              url: str. Remote url of raw file content. Normally it's https://raw.github.com/...
          Returns:
              bool: file updated or not