17
17
18
18
from __future__ import print_function
19
19
20
+ import argparse
20
21
import os
21
22
import sys
22
23
import warnings
27
28
BASE_DIR = os .path .abspath (
28
29
os .path .join (os .path .dirname (__file__ ), '..' ))
29
30
DOCS_DIR = os .path .join (BASE_DIR , 'docs' )
30
- OBJECT_INVENTORY_RELPATH = os .path .join ('_build' , 'html' , 'objects.inv' )
31
31
IGNORED_PREFIXES = ('test_' , '_' )
32
32
IGNORED_MODULES = frozenset ([
33
33
'gcloud.__init__' ,
@@ -118,11 +118,18 @@ def get_public_modules(path, base_package=None):
118
118
return result
119
119
120
120
121
- def main ():
122
- """Main script to verify modules included."""
121
+ def main (build_root = '_build' ):
122
+ """Main script to verify modules included.
123
+
124
+ :type build_root: str
125
+ :param build_root: The root of the directory where docs are built into.
126
+ Defaults to ``_build``.
127
+ """
128
+ object_inventory_relpath = os .path .join (build_root , 'html' , 'objects.inv' )
129
+
123
130
mock_uri = ''
124
131
inventory = fetch_inventory (SphinxApp , mock_uri ,
125
- OBJECT_INVENTORY_RELPATH )
132
+ object_inventory_relpath )
126
133
sphinx_mods = set (inventory ['py:module' ].keys ())
127
134
128
135
library_dir = os .path .join (BASE_DIR , 'gcloud' )
@@ -149,5 +156,20 @@ def main():
149
156
sys .exit (1 )
150
157
151
158
159
+ def get_parser ():
160
+ """Get simple ``argparse`` parser to determine package.
161
+
162
+ :rtype: :class:`argparse.ArgumentParser`
163
+ :returns: The parser for this script.
164
+ """
165
+ parser = argparse .ArgumentParser (
166
+ description = 'Run check that all GCloud modules are included in docs.' )
167
+ parser .add_argument ('--build-root' , dest = 'build_root' ,
168
+ help = 'The root directory where docs are located.' )
169
+ return parser
170
+
171
+
152
172
if __name__ == '__main__' :
153
- main ()
173
+ parser = get_parser ()
174
+ args = parser .parse_args ()
175
+ main (build_root = args .build_root )
0 commit comments