Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
if self.sitemap_path is None:
error('invalid-config',
'No sitemap was provided')
if output is not None:
self.output = os.path.abspath(output)
else:
self.output = None
self.project_name = self.config.get('project_name', None)
self.project_version = self.config.get('project_version', None)
self.output_format = self.config.get('output_format')
if self.output_format not in ["html"]:
error('invalid-config',
'Unsupported output format : %s' % self.output_format)
self.__index_file = self.config.get_index()
if self.__index_file is None:
error('invalid-config', 'index is required')
if not os.path.exists(self.__index_file):
error('invalid-config',
'The provided index "%s" does not exist' %
self.__index_file)
cmd_line_includes = self.config.get_paths('include_paths')
self.__base_doc_folder = os.path.dirname(self.__index_file)
self.include_paths = OrderedSet([self.__base_doc_folder])
self.include_paths |= OrderedSet(cmd_line_includes)
self.__create_change_tracker()
self.__setup_private_folder()
def __setup_private_folder(self):
folder = self.get_private_folder()
if os.path.exists(folder):
if not os.path.isdir(folder):
error('setup-issue',
'%s exists but is not a directory' % folder)
else:
os.mkdir(folder)
try:
with open(conf_file) as _:
try:
json_conf = json.load(_)
except ValueError as ze_error:
error('invalid-config',
'The provided configuration file %s is not valid json.\n'
'The exact error was %s.\n'
'This often happens because of missing or extra commas, '
'but it may be something else, please fix it!\n' %
(conf_file, str(ze_error)))
except FileNotFoundError:
json_conf = {}
except IOError as _err:
error('setup-issue',
'Passed config file %s could not be opened (%s)' %
(conf_file, _err))
return json_conf
except IndentError as exc:
error('bad-indent', 'Invalid indentation', filename=filename,
lineno=lineno, column=exc.column)
if not line:
lineno += 1
continue
source_file = dequote(line)
if not source_file:
lineno += 1
continue
if source_file in all_source_files:
error('sitemap-duplicate', 'Filename listed twice',
filename=filename, lineno=lineno, column=level * 8 + 1)
all_source_files.add(source_file)
source_map[source_file] = (lineno, level * 8 + 1)
page = OrderedDict()
if root is not None and level == 0:
error('sitemap-error', 'Sitemaps only support one root',
filename=filename, lineno=lineno, column=0)
if root is None:
root = page
index = source_file
else:
lvl_diff = cur_level - level
for klass in __get_extra_extension_classes(extra_extension_paths):
all_classes[klass.extension_name] = klass
klass_list = list(all_classes.values())
if not sort:
return klass_list
for i, klass in enumerate(klass_list):
deps = klass.get_dependencies()
topodeps = set()
for dep in deps:
if dep.dependency_name not in all_classes:
if dep.optional:
continue
else:
error("setup-issue",
"Missing dependency %s for %s" %
(dep.dependency_name, klass.extension_name))
if dep.is_upstream:
topodeps.add(
klass_list.index(all_classes[dep.dependency_name]))
deps_map[i] = topodeps
sorted_class_indices = toposort_flatten(deps_map)
sorted_classes = [klass_list[i] for i in sorted_class_indices]
return sorted_classes
def parse_config(self, config):
super(LicenseExtension, self).parse_config(config)
short_name = config.get("default_license")
if short_name is not None:
try:
self.default_license = ALL_LICENSES[short_name]
except KeyError:
error('no-such-license', 'Unknown license : %s' % short_name)
short_name = config.get("default_code_samples_license")
if short_name is not None:
try:
self.default_code_samples_license = ALL_LICENSES[short_name]
except KeyError:
error('no-such-license', 'Unknown license : %s' % short_name)
data = config.get("default_copyright_holders")
if data:
try:
data = Schema([BASE_COPYRIGHT_SCHEMA]).validate(data)
except SchemaError:
error('invalid-config',
'Invalid default copyright holders metadata : %s' %
str(data))
for datum in data:
self.default_copyright_holders.append(
CopyrightHolder(datum.get('name'),
datum.get('email'),
[str(year) for year in datum.get('years')],
True))
self.authors_hold_copyright = config.get(
def create_default_layout(config):
"""
Banana banana
"""
project_name = config.get('project_name')
project_version = config.get('project_version')
if not project_name or not project_version:
error('setup-issue',
'--project-name and --project-version must be specified')
init_dir = config.get_path('init_dir')
if not init_dir:
init_dir = config.get_invoke_dir()
else:
if os.path.exists(init_dir) and not os.path.isdir(init_dir):
error('setup-issue',
'Init directory exists but is not a directory: %s' %
init_dir)
sitemap_path = check_path(init_dir, 'sitemap.txt')
conf_path = check_path(init_dir, 'hotdoc.json')
md_folder_path = check_path(init_dir, 'markdown_files')
assets_folder_path = check_path(init_dir, 'assets')
check_path(init_dir, 'built_doc')
"""
Banana banana
"""
project_name = config.get('project_name')
project_version = config.get('project_version')
if not project_name or not project_version:
error('setup-issue',
'--project-name and --project-version must be specified')
init_dir = config.get_path('init_dir')
if not init_dir:
init_dir = config.get_invoke_dir()
else:
if os.path.exists(init_dir) and not os.path.isdir(init_dir):
error('setup-issue',
'Init directory exists but is not a directory: %s' %
init_dir)
sitemap_path = check_path(init_dir, 'sitemap.txt')
conf_path = check_path(init_dir, 'hotdoc.json')
md_folder_path = check_path(init_dir, 'markdown_files')
assets_folder_path = check_path(init_dir, 'assets')
check_path(init_dir, 'built_doc')
cat_path = os.path.join(assets_folder_path, 'cat.gif')
os.makedirs(init_dir)
os.makedirs(assets_folder_path)
os.makedirs(md_folder_path)
with open(sitemap_path, 'w') as _:
_.write('index.md\n')