re-vendor.py 807 B

12345678910111213141516171819202122232425262728293031323334
  1. import os
  2. import sys
  3. import pip
  4. import glob
  5. import shutil
  6. here = os.path.abspath(os.path.dirname(__file__))
  7. def usage():
  8. print("Usage: re-vendor.py [clean|vendor]")
  9. sys.exit(1)
  10. def clean():
  11. for fn in os.listdir(here):
  12. dirname = os.path.join(here, fn)
  13. if os.path.isdir(dirname):
  14. shutil.rmtree(dirname)
  15. # six is a single file, not a package
  16. os.unlink(os.path.join(here, 'six.py'))
  17. def vendor():
  18. pip.main(['install', '-t', here, '-r', 'vendor.txt'])
  19. for dirname in glob.glob('*.egg-info'):
  20. shutil.rmtree(dirname)
  21. if __name__ == '__main__':
  22. if len(sys.argv) != 2:
  23. usage()
  24. if sys.argv[1] == 'clean':
  25. clean()
  26. elif sys.argv[1] == 'vendor':
  27. vendor()
  28. else:
  29. usage()