def reference(self, symbol, name_only=False): # mozbuild.sphinx imports some Sphinx modules, so we need to be sure # the optional Sphinx package is installed. self._activate_virtualenv() self.virtualenv_manager.install_pip_package('Sphinx==1.1.3') from mozbuild.sphinx import ( format_module, function_reference, special_reference, variable_reference, ) import mozbuild.frontend.context as m if name_only: for s in sorted(m.VARIABLES.keys()): print(s) for s in sorted(m.FUNCTIONS.keys()): print(s) for s in sorted(m.SPECIAL_VARIABLES.keys()): print(s) return 0 if len(symbol): for s in symbol: if s in m.VARIABLES: for line in variable_reference(s, *m.VARIABLES[s]): print(line) continue elif s in m.FUNCTIONS: for line in function_reference(s, *m.FUNCTIONS[s]): print(line) continue elif s in m.SPECIAL_VARIABLES: for line in special_reference(s, *m.SPECIAL_VARIABLES[s]): print(line) continue print('Could not find symbol: %s' % s) return 1 return 0 for line in format_module(m): print(line) return 0