Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
def __extract_feature_comment(self, feature_type, feature):
pagename = feature_type + '-' + feature['name']
possible_comment_names = [pagename, feature['name']]
if feature_type == 'element':
possible_comment_names.append(feature['hierarchy'][0])
comment = None
for comment_name in possible_comment_names:
comment = self.app.database.get_comment(comment_name)
if comment:
break
description = feature.get('description')
if not comment:
comment = Comment(
pagename,
Comment(description=feature['name']),
description=description,
short_description=Comment(description=description))
self.app.database.add_comment(comment)
elif not comment.short_description:
comment.short_description = Comment(
description=description)
comment.title = Comment(description=feature['name'])
comment.name = feature.get('name', pagename)
comment.meta['title'] = feature['name']
self.__toplevel_comments.add(comment)
return pagename, comment
def __fetch_comment(self, sym, database):
old_comment = sym.comment
new_comment = database.get_comment(sym.unique_name)
sym.comment = Comment(sym.unique_name)
if new_comment:
sym.comment = new_comment
elif old_comment:
if old_comment.filename not in ChangeTracker.all_stale_files:
sym.comment = old_comment
else:
aliases = []
sym = self.app.database.get_symbol(unique_name)
if sym is None:
sym = self.create_symbol(
PropertySymbol,
prop_type=type_,
display_name=name, unique_name=unique_name,
aliases=aliases, parent_name=parent_name,
extra={'gst-element-name': pagename},
)
assert sym
if not self.app.database.get_comment(unique_name):
comment = Comment(unique_name, Comment(name=name),
description=prop['blurb'])
self.app.database.add_comment(comment)
# FIXME This is incorrect, it's not yet format time (from gi_extension)
extra_content = self.formatter.format_flags(flags)
sym.extension_contents['Flags'] = extra_content
if default:
if prop_type_name in ['GstCaps', 'GstStructure']:
default = '<pre class="language-yaml">' + \
'<code class="language-yaml">%s</code></pre>' % default
sym.extension_contents['Default value'] = default
res.append(sym)
return res
self.filename = os.path.abspath(filename)
else:
self.filename = None
self.lineno = lineno
self.endlineno = endlineno
self.line_offset = 0
self.col_offset = 0
self.initial_col_offset = 0
self.annotations = annotations or {}
meta = self.__cleanup_meta(meta)
self.description = description or meta.get('description', '')
if title:
self.title = title
elif meta.get('title'):
self.title = Comment(name='title',
description=meta.get('title'))
else:
self.title = None
if short_description:
self.short_description = short_description
elif meta.get('short_description'):
self.short_description = Comment(name='short_description',
description=meta.get('short_description'))
else:
self.short_description = ''
self.extension_attrs = defaultdict(lambda: defaultdict(dict))
self.tags = tags or {}
self.meta = meta or {}
self.raw_comment = raw_comment
def __fetch_comment(self, sym, database):
sym.comment = database.get_comment(
sym.unique_name) or Comment(sym.unique_name)
for sym in sym.get_children_symbols():
if isinstance(sym, Symbol):
self.__fetch_comment(sym, database)
comment = None
for comment_name in possible_comment_names:
comment = self.app.database.get_comment(comment_name)
if comment:
break
description = feature.get('description')
if not comment:
comment = Comment(
pagename,
Comment(description=feature['name']),
description=description,
short_description=Comment(description=description))
self.app.database.add_comment(comment)
elif not comment.short_description:
comment.short_description = Comment(
description=description)
comment.title = Comment(description=feature['name'])
comment.name = feature.get('name', pagename)
comment.meta['title'] = feature['name']
self.__toplevel_comments.add(comment)
return pagename, comment
comment = self.app.database.get_comment(comment_name)
if comment:
break
description = feature.get('description')
if not comment:
comment = Comment(
pagename,
Comment(description=feature['name']),
description=description,
short_description=Comment(description=description))
self.app.database.add_comment(comment)
elif not comment.short_description:
comment.short_description = Comment(
description=description)
comment.title = Comment(description=feature['name'])
comment.name = feature.get('name', pagename)
comment.meta['title'] = feature['name']
self.__toplevel_comments.add(comment)
return pagename, comment