mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2024-11-13 04:46:15 +01:00
34a28f2f06
And use this for a) documentation purposes; and b) to preserve C ABI when an interface is extended. See https://bugzilla.gnome.org/show_bug.cgi?id=647577#c5 for more details. Also add test cases for this. Signed-off-by: David Zeuthen <davidz@redhat.com>
64 lines
1.4 KiB
Python
64 lines
1.4 KiB
Python
# -*- Mode: Python -*-
|
|
|
|
def strip_dots(s):
|
|
ret = ''
|
|
force_upper = False
|
|
for c in s:
|
|
if c == '.':
|
|
force_upper = True
|
|
else:
|
|
if force_upper:
|
|
ret += c.upper()
|
|
force_upper = False
|
|
else:
|
|
ret += c
|
|
return ret
|
|
|
|
def dots_to_hyphens(s):
|
|
return s.replace('.', '-')
|
|
|
|
def camel_case_to_uscore(s):
|
|
ret = ''
|
|
insert_uscore = False
|
|
prev_was_lower = False
|
|
for c in s:
|
|
if c.isupper():
|
|
if prev_was_lower:
|
|
insert_uscore = True
|
|
prev_was_lower = False
|
|
else:
|
|
prev_was_lower = True
|
|
if insert_uscore:
|
|
ret += '_'
|
|
ret += c.lower()
|
|
insert_uscore = False
|
|
return ret
|
|
|
|
def lookup_annotation(annotations, key):
|
|
if annotations:
|
|
for a in annotations:
|
|
if a.key == key:
|
|
return a.value
|
|
return None
|
|
|
|
def lookup_docs(annotations):
|
|
s = lookup_annotation(annotations, 'org.gtk.GDBus.DocString')
|
|
if s == None:
|
|
return ''
|
|
else:
|
|
return s
|
|
|
|
def lookup_since(annotations):
|
|
s = lookup_annotation(annotations, 'org.gtk.GDBus.Since')
|
|
if s == None:
|
|
return ''
|
|
else:
|
|
return s
|
|
|
|
def lookup_brief_docs(annotations):
|
|
s = lookup_annotation(annotations, 'org.gtk.GDBus.DocString.Short')
|
|
if s == None:
|
|
return ''
|
|
else:
|
|
return s
|