code: def main():
      old_dir = os.getcwd()
      print("Moving to %s." % HERE)
      os.chdir(HERE)
  
      try:
          print("Cleaning docs with 'make clean'")
          check_call(["make", "clean"])
          print("Building docs with 'make html'")
          check_call(["make", "html"])
  
          print("Clearing temp location '%s'" % TEMP_LOCATION)
          rmtree(TEMP_LOCATION, ignore_errors=True)
  
          with removing(TEMP_LOCATION):
              print("Copying built files to temp location.")
              move("build/html", TEMP_LOCATION)
  
              print("Moving to '%s'" % ZIPLINE_ROOT)
              os.chdir(ZIPLINE_ROOT)
  
              print("Checking out gh-pages branch.")
              check_call(
                  [
                      "git",
                      "branch",
                      "-f",
                      "--track",
                      "gh-pages",
                      "origin/gh-pages",
                  ]
              )
              check_call(["git", "checkout", "gh-pages"])
              check_call(["git", "reset", "--hard", "origin/gh-pages"])
  
              print("Copying built files:")
              for file_ in glob(TEMP_LOCATION_GLOB):
                  base = basename(file_)
  
                  print("%s -> %s" % (file_, base))
                  ensure_not_exists(base)
                  move(file_, ".")
      finally:
          os.chdir(old_dir)
  
      print()
      print(
          "Updated documentation branch in directory %s" % ZIPLINE_ROOT
      )
      print(
          "If you are happy with these changes, commit and push to gh-pages."
      )
  
file_path: zipline/docs/deploy.py
imports: from __future__ import print_function
  from contextlib import contextmanager
  from glob import glob
  import os
  from os.path import abspath, basename, dirname, exists, isfile
  from shutil import move, rmtree
  from subprocess import check_call
label_desc: Use image node_id 3 for calling a global function with example usage: main() without return types