code: def edit(self, request, id):
          
          with pushd(tempfile.gettempdir()):
              try:
                  self.clone(id)
                  with pushd(id):
                      files = [f for f in os.listdir('.') if os.path.isfile(f)]
                      quoted = ['"{}"'.format(f) for f in files]
                      os.system("{} {}".format(self.editor, ' '.join(quoted)))
                      os.system('git commit -av && git push')
  
              finally:
                  shutil.rmtree(id)
docs: Edit a gist
  
          The files in the gist a cloned to a temporary directory and passed to
          the default editor (defined by the EDITOR environmental variable). When
          the user exits the editor, they will be provided with a prompt to
          commit the changes, which will then be pushed to the remote.
  
          Arguments:
              request: an initial request object
              id:      the gist identifier