Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
sagemath
GitHub Repository: sagemath/sage
Path: blob/develop/src/sage_docbuild/vendor.py
4052 views
1
# "sage -python -m sage_docbuild.vendor" updates src/doc/common/_vendor/*.inv
2
#
3
import os
4
import sys
5
6
import requests
7
8
from .conf import _vendored_inventories_dir, _intersphinx_targets
9
10
11
if __name__ == '__main__':
12
if not _vendored_inventories_dir:
13
print('Error: sage_docbuild.vendor needs to be able to write to SAGE_SRC', file=sys.stderr)
14
sys.exit(1)
15
errors = 0
16
for key, targets in _intersphinx_targets.items():
17
for target in targets:
18
if target.startswith('http'):
19
inv_url = target + 'objects.inv'
20
fname = os.path.join(_vendored_inventories_dir, key + '.inv')
21
print(f'Requesting {inv_url}', flush=True)
22
try:
23
r = requests.get(inv_url)
24
with open(fname, 'wb') as fd:
25
fd.write(r.content)
26
except Exception as e:
27
print(f'Error: {e}')
28
errors += 1
29
else:
30
print(f'Updated {fname}')
31
break
32
sys.exit(errors)
33
34