Flutter Engine
The Flutter Engine
Classes | Functions
gn_helpers Namespace Reference

Classes

class  GNException
 

Functions

def ToGNString (value, allow_dicts=True)
 

Function Documentation

◆ ToGNString()

def gn_helpers.ToGNString (   value,
  allow_dicts = True 
)
Returns a stringified GN equivalent of a Python value.

allow_dicts indicates if this function will allow converting dictionaries
to GN scopes. This is only possible at the top level, you can't nest a
GN scope in a list, so this should be set to False for recursive calls.
Prints the given value to stdout.

allow_dicts indicates if this function will allow converting dictionaries
to GN scopes. This is only possible at the top level, you can't nest a
GN scope in a list, so this should be set to False for recursive calls.

Definition at line 30 of file gn_helpers.py.

30def ToGNString(value, allow_dicts=True):
31 """Returns a stringified GN equivalent of a Python value.
32
33 allow_dicts indicates if this function will allow converting dictionaries
34 to GN scopes. This is only possible at the top level, you can't nest a
35 GN scope in a list, so this should be set to False for recursive calls."""
36 if isinstance(value, str) or isinstance(value, unicode):
37 if value.find('\n') >= 0:
38 raise GNException("Trying to print a string with a newline in it.")
39 return '"' + ''.join(_TranslateToGnChars(value)) + '"'
40
41 if isinstance(value, list):
42 return '[ %s ]' % ', '.join(ToGNString(v, False) for v in value)
43
44 if isinstance(value, dict):
45 if not allow_dicts:
46 raise GNException("Attempting to recursively print a dictionary.")
47 result = ""
48 for key in value:
49 if not isinstance(key, str):
50 raise GNException("Dictionary key is not a string.")
51 result += "%s = %s\n" % (key, ToGNString(value[key], False))
52 return result
53
54 if isinstance(value, int):
55 return str(value)
56
57 raise GNException("Unsupported type %s (value %s) when printing to GN." %
58 (type(value), value))
GLenum type
def ToGNString(value, allow_dicts=True)
Definition: gn_helpers.py:30
static SkString join(const CommandLineFlags::StringArray &)
Definition: skpbench.cpp:741