diff options
Diffstat (limited to 'tools/addon-sdk-1.12/python-lib/cuddlefish/docs/documentationitem.py')
-rwxr-xr-x | tools/addon-sdk-1.12/python-lib/cuddlefish/docs/documentationitem.py | 124 |
1 files changed, 0 insertions, 124 deletions
diff --git a/tools/addon-sdk-1.12/python-lib/cuddlefish/docs/documentationitem.py b/tools/addon-sdk-1.12/python-lib/cuddlefish/docs/documentationitem.py deleted file mode 100755 index c72133a..0000000 --- a/tools/addon-sdk-1.12/python-lib/cuddlefish/docs/documentationitem.py +++ /dev/null @@ -1,124 +0,0 @@ -# This Source Code Form is subject to the terms of the Mozilla Public -# License, v. 2.0. If a copy of the MPL was not distributed with this -# file, You can obtain one at http://mozilla.org/MPL/2.0/. - -import sys, os, re - -class DocumentationItemInfo(object): - def __init__(self, env_root, md_path, filename): - self.env_root = env_root - # full path to MD file, without filename - self.source_path = md_path - # MD filename - self.source_filename = filename - - def env_root(self): - return self.env_root - - def source_path(self): - return self.source_path - - def source_filename(self): - return self.source_filename - - def base_filename(self): - return self.source_filename[:-len(".md")] - - def source_path_and_filename(self): - return os.sep.join([self.source_path, self.source_filename]) - - def source_path_relative_from_env_root(self): - return self.source_path[len(self.env_root) + 1:] - -class DevGuideItemInfo(DocumentationItemInfo): - def __init__(self, env_root, devguide_root, md_path, filename): - DocumentationItemInfo.__init__(self, env_root, md_path, filename) - self.devguide_root = devguide_root - - def source_path_relative_from_devguide_root(self): - return self.source_path[len(self.devguide_root) + 1:] - - def destination_path(self): - root_pieces = self.devguide_root.split(os.sep) - root_pieces[-1] = "dev-guide" - return os.sep.join([os.sep.join(root_pieces), self.source_path_relative_from_devguide_root()]) - -class ModuleInfo(DocumentationItemInfo): - def __init__(self, env_root, module_root, md_path, filename): - DocumentationItemInfo.__init__(self, env_root, md_path, filename) - self.module_root = module_root - - def js_module_path(self): - return os.path.join(self.env_root, "lib", self.source_path_relative_from_module_root(), self.source_filename[:-len(".md")] + ".js") - - def source_path_relative_from_module_root(self): - return self.source_path[len(self.module_root) + 1:] - - def destination_path(self): - if self.level() == "third-party": - return os.sep.join([self.env_root, "doc", "modules", "packages"]) - root_pieces = self.module_root.split(os.sep) - root_pieces[-1] = "modules" - relative_pieces = self.source_path_relative_from_module_root().split(os.sep) - return os.sep.join(root_pieces + relative_pieces) - - def relative_url(self): - if self.level() == "third-party": - relative_pieces = ["packages"] - else: - relative_pieces = self.source_path_relative_from_module_root().split(os.sep) - return "/".join(relative_pieces) + "/" + self.base_filename() + ".html" - - def name(self): - if os.sep.join([self.module_root, "sdk"]) == self.source_path or self.level() == "third-party": - return self.source_filename[:-3] - else: - path_from_root_pieces = self.source_path_relative_from_module_root().split(os.sep) - return "/".join(["/".join(path_from_root_pieces[1:]), self.source_filename[:-len(".md")]]) - - def level(self): - if self.source_path_relative_from_env_root().startswith("packages"): - return "third-party" - else: - if os.sep.join([self.module_root, "sdk"]) == self.source_path: - return "high" - else: - return "low" - -def get_modules_in_package(env_root, package_docs_dir, module_list, ignore_files_in_root): - for (dirpath, dirnames, filenames) in os.walk(package_docs_dir): - for filename in filenames: - # ignore files in the root - if ignore_files_in_root and package_docs_dir == dirpath: - continue - if filename.endswith(".md"): - module_list.append(ModuleInfo(env_root, package_docs_dir, dirpath, filename)) - -def get_module_list(env_root): - module_list = [] - # get the built-in modules - module_root = os.sep.join([env_root, "doc", "module-source"]) - get_modules_in_package(env_root, module_root, module_list, True) - # get the third-party modules - packages_root = os.sep.join([env_root, "packages"]) - if os.path.exists(packages_root): - for entry in os.listdir(packages_root): - if os.path.isdir(os.sep.join([packages_root, entry])): - package_docs = os.sep.join([packages_root, entry, "docs"]) - if os.path.exists(package_docs): - get_modules_in_package(env_root, package_docs, module_list, False) - module_list.sort(key=lambda x: x.name()) - return module_list - -def get_devguide_list(env_root): - devguide_list = [] - devguide_root = os.sep.join([env_root, "doc", "dev-guide-source"]) - for (dirpath, dirnames, filenames) in os.walk(devguide_root): - for filename in filenames: - if filename.endswith(".md"): - devguide_list.append(DevGuideItemInfo(env_root, devguide_root, dirpath, filename)) - return devguide_list - -if __name__ == "__main__": - module_list = get_module_list(sys.argv[1]) - print [module_info.name for module_info in module_list] |