Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
# as the default param because that is only evaluated once, so the same
# time would always be used.
date = datetime.utcnow().strftime("%a, %d %b %Y %H:%M:%S +0000")
common = _build_common_file_template(tree, path, is_binary, date, config)
links = file_doc.get('links', [])
if is_binary_image(path):
return render_template(
'image_file.html',
**merge(common, {
'sections': sidebar_links(links),
'revision': image_rev}))
elif is_binary:
return render_template(
'text_file.html',
**merge(common, {
'lines': [],
'is_binary': True,
'sections': sidebar_links(links)}))
else:
# We concretize the lines into a list because we iterate over it multiple times
lines = [doc['content'] for doc in line_docs]
if not contents:
# If contents are not provided, we can reconstruct them by
# stitching the lines together.
contents = ''.join(lines)
offsets = build_offset_map(lines)
tree_config = config.trees[tree]
if is_textual_image(path) and image_rev:
# Add a link to view textual images on revs:
links.extend(dictify_links([
(4,
def _make_repo(self, **overrides):
with external_repo(**merge(self.def_repo, overrides)) as repo:
yield repo
# Split ignores into paths and filenames:
tree['ignore_paths'] = [i for i in tree['ignore_patterns']
if i.startswith('/')]
tree['ignore_filenames'] = [i for i in tree['ignore_patterns']
if not i.startswith('/')]
# Delete misleading, useless, or raw values people shouldn't use:
del tree['ignore_patterns']
del tree['disabled_plugins']
# Validate plugin config:
enableds_with_all_optional_config = set(
p for p in tree['enabled_plugins']
if all(isinstance(k, Optional) for k in p.config_schema.iterkeys()))
plugin_schema = Schema(merge(
dict((Optional(name) if plugin in enableds_with_all_optional_config
or plugin not in tree['enabled_plugins']
else name,
plugin.config_schema)
for name, plugin in all_plugins_but_core().iteritems()),
# And whatever isn't a plugin section, that we don't care about:
{object: object}))
# Insert empty missing sections for enabled plugins with entirely
# optional config so their defaults get filled in. (Don't insert them
# if the plugin has any required options; then we wouldn't produce the
# proper error message about the section being absent.)
for plugin in enableds_with_all_optional_config:
tree.setdefault(plugin.name, {})
tree = plugin_schema.validate(tree)
super(TreeConfig, self).__init__(tree)
def fetch_samples(series_id, platform_id=None):
qs = Sample.objects.filter(series=series_id).exclude(deleted='T')
if platform_id is not None:
qs = qs.filter(platform=platform_id)
return [merge(d, d['attrs']) for d in list(qs.values())]
def start(self, children):
ref = self.ref or get_first_key(children[0])
return {
"$schema": "http://json-schema.org/draft-07/schema#",
"$ref": "#/definitions/" + ref,
"definitions": merge(*children),
}