本文整理汇总了Python中utils.build_underscore_name函数的典型用法代码示例。如果您正苦于以下问题:Python build_underscore_name函数的具体用法?Python build_underscore_name怎么用?Python build_underscore_name使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了build_underscore_name函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: __emit_get_printable
def __emit_get_printable(self, hfile, cfile):
translations = { 'service' : self.service.lower() }
template = (
'\n'
'#if defined (LIBQMI_GLIB_COMPILATION)\n'
'\n'
'G_GNUC_INTERNAL\n'
'gchar *__qmi_message_${service}_get_printable (\n'
' QmiMessage *self,\n'
' const gchar *line_prefix);\n'
'\n'
'#endif\n'
'\n')
hfile.write(string.Template(template).substitute(translations))
template = (
'\n'
'gchar *\n'
'__qmi_message_${service}_get_printable (\n'
' QmiMessage *self,\n'
' const gchar *line_prefix)\n'
'{\n'
' if (qmi_message_is_indication (self)) {\n'
' switch (qmi_message_get_message_id (self)) {\n')
for message in self.list:
if message.type == 'Indication':
translations['enum_name'] = message.id_enum_name
translations['message_underscore'] = utils.build_underscore_name (message.name)
translations['enum_value'] = message.id
inner_template = (
' case ${enum_name}:\n'
' return indication_${message_underscore}_get_printable (self, line_prefix);\n')
template += string.Template(inner_template).substitute(translations)
template += (
' default:\n'
' return NULL;\n'
' }\n'
' } else {\n'
' switch (qmi_message_get_message_id (self)) {\n')
for message in self.list:
if message.type == 'Message':
translations['enum_name'] = message.id_enum_name
translations['message_underscore'] = utils.build_underscore_name (message.name)
translations['enum_value'] = message.id
inner_template = (
' case ${enum_name}:\n'
' return message_${message_underscore}_get_printable (self, line_prefix);\n')
template += string.Template(inner_template).substitute(translations)
template += (
' default:\n'
' return NULL;\n'
' }\n'
' }\n'
'}\n')
cfile.write(string.Template(template).substitute(translations))
示例2: emit_getter
def emit_getter(self, hfile, cfile):
input_variable_name = utils.build_underscore_name(self.name)
variable_getter_dec = self.variable.build_getter_declaration(' ', input_variable_name)
variable_getter_doc = self.variable.build_getter_documentation(' * ', input_variable_name)
variable_getter_imp = self.variable.build_getter_implementation(' ', 'self->' + self.variable_name, input_variable_name, True)
translations = { 'name' : self.name,
'variable_name' : self.variable_name,
'variable_getter_dec' : variable_getter_dec,
'variable_getter_doc' : variable_getter_doc,
'variable_getter_imp' : variable_getter_imp,
'underscore' : utils.build_underscore_name(self.name),
'prefix_camelcase' : utils.build_camelcase_name(self.prefix),
'prefix_underscore' : utils.build_underscore_name(self.prefix),
'static' : 'static ' if self.static else '' }
# Emit the getter header
template = (
'\n'
'${static}gboolean ${prefix_underscore}_get_${underscore} (\n'
' ${prefix_camelcase} *self,\n'
'${variable_getter_dec}'
' GError **error);\n')
hfile.write(string.Template(template).substitute(translations))
# Emit the getter source
template = (
'\n'
'/**\n'
' * ${prefix_underscore}_get_${underscore}:\n'
' * @self: a #${prefix_camelcase}.\n'
'${variable_getter_doc}'
' * @error: Return location for error or %NULL.\n'
' *\n'
' * Get the \'${name}\' field from @self.\n'
' *\n'
' * Returns: %TRUE if the field is found, %FALSE otherwise.\n'
' */\n'
'${static}gboolean\n'
'${prefix_underscore}_get_${underscore} (\n'
' ${prefix_camelcase} *self,\n'
'${variable_getter_dec}'
' GError **error)\n'
'{\n'
' g_return_val_if_fail (self != NULL, FALSE);\n'
'\n'
' if (!self->${variable_name}_set) {\n'
' g_set_error (error,\n'
' QMI_CORE_ERROR,\n'
' QMI_CORE_ERROR_TLV_NOT_FOUND,\n'
' "Field \'${name}\' was not found in the message");\n'
' return FALSE;\n'
' }\n'
'\n'
'${variable_getter_imp}'
'\n'
' return TRUE;\n'
'}\n')
cfile.write(string.Template(template).substitute(translations))
示例3: emit_output_tlv_get
def emit_output_tlv_get(self, f, line_prefix):
tlv_out = utils.build_underscore_name (self.fullname) + '_out'
error = 'error' if self.mandatory else 'NULL'
translations = { 'name' : self.name,
'container_underscore' : utils.build_underscore_name (self.prefix),
'tlv_out' : tlv_out,
'tlv_id' : self.id_enum_name,
'variable_name' : self.variable_name,
'lp' : line_prefix,
'error' : error }
template = (
'${lp}gsize offset = 0;\n'
'${lp}gsize init_offset;\n'
'\n'
'${lp}if ((init_offset = qmi_message_tlv_read_init (message, ${tlv_id}, NULL, ${error})) == 0) {\n')
if self.mandatory:
template += (
'${lp} g_prefix_error (${error}, "Couldn\'t get the mandatory ${name} TLV: ");\n'
'${lp} ${container_underscore}_unref (self);\n'
'${lp} return NULL;\n')
else:
template += (
'${lp} goto ${tlv_out};\n')
template += (
'${lp}}\n')
f.write(string.Template(template).substitute(translations))
# Now, read the contents of the buffer into the variable
self.variable.emit_buffer_read(f, line_prefix, tlv_out, error, 'self->' + self.variable_name)
template = (
'\n'
'${lp}/* The remaining size of the buffer needs to be 0 if we successfully read the TLV */\n'
'${lp}if ((offset = __qmi_message_tlv_read_remaining_size (message, init_offset, offset)) > 0) {\n'
'${lp} g_warning ("Left \'%" G_GSIZE_FORMAT "\' bytes unread when getting the \'${name}\' TLV", offset);\n'
'${lp}}\n'
'\n'
'${lp}self->${variable_name}_set = TRUE;\n'
'\n'
'${tlv_out}:\n')
if self.mandatory:
template += (
'${lp}if (!self->${variable_name}_set) {\n'
'${lp} ${container_underscore}_unref (self);\n'
'${lp} return NULL;\n'
'${lp}}\n')
else:
template += (
'${lp};\n')
f.write(string.Template(template).substitute(translations))
示例4: add_sections
def add_sections(self, sections):
translations = { 'underscore' : utils.build_underscore_name(self.name),
'prefix_camelcase' : utils.build_camelcase_name(self.prefix),
'prefix_underscore' : utils.build_underscore_name(self.prefix) }
# Public methods
template = (
'${prefix_underscore}_get_${underscore}\n')
if self.container_type == 'Input':
template += (
'${prefix_underscore}_set_${underscore}\n')
sections['public-methods'] += string.Template(template).substitute(translations)
示例5: emit_setter
def emit_setter(self, hfile, cfile):
input_variable_name = utils.build_underscore_name(self.name)
variable_setter_dec = self.variable.build_setter_declaration(' ', input_variable_name)
variable_setter_doc = self.variable.build_setter_documentation(' * ', input_variable_name)
variable_setter_imp = self.variable.build_setter_implementation(' ', input_variable_name, 'self->' + self.variable_name)
translations = { 'name' : self.name,
'variable_name' : self.variable_name,
'variable_setter_dec' : variable_setter_dec,
'variable_setter_doc' : variable_setter_doc,
'variable_setter_imp' : variable_setter_imp,
'underscore' : utils.build_underscore_name(self.name),
'prefix_camelcase' : utils.build_camelcase_name(self.prefix),
'prefix_underscore' : utils.build_underscore_name(self.prefix),
'static' : 'static ' if self.static else '' }
# Emit the setter header
template = (
'\n'
'${static}gboolean ${prefix_underscore}_set_${underscore} (\n'
' ${prefix_camelcase} *self,\n'
'${variable_setter_dec}'
' GError **error);\n')
hfile.write(string.Template(template).substitute(translations))
# Emit the setter source
template = (
'\n'
'/**\n'
' * ${prefix_underscore}_set_${underscore}:\n'
' * @self: a #${prefix_camelcase}.\n'
'${variable_setter_doc}'
' * @error: Return location for error or %NULL.\n'
' *\n'
' * Set the \'${name}\' field in the message.\n'
' *\n'
' * Returns: %TRUE if @value was successfully set, %FALSE otherwise.\n'
' */\n'
'${static}gboolean\n'
'${prefix_underscore}_set_${underscore} (\n'
' ${prefix_camelcase} *self,\n'
'${variable_setter_dec}'
' GError **error)\n'
'{\n'
' g_return_val_if_fail (self != NULL, FALSE);\n'
'\n'
'${variable_setter_imp}'
' self->${variable_name}_set = TRUE;\n'
'\n'
' return TRUE;\n'
'}\n')
cfile.write(string.Template(template).substitute(translations))
示例6: clear_func_name
def clear_func_name(self):
# element public format might be a base type like 'gchar *' rather
# than a structure name like QmiFooBar
elt_name = self.array_element.public_format.replace('*', 'pointer')
return utils.build_underscore_name(self.name) + \
'_' + \
utils.build_underscore_name_from_camelcase(utils.build_camelcase_name(elt_name))
示例7: __init__
def __init__(self, dictionary, struct_type_name, container_type):
# Call the parent constructor
Variable.__init__(self, dictionary)
# The public format of the struct is built directly from the suggested
# struct type name
self.public_format = utils.build_camelcase_name(struct_type_name)
self.private_format = self.public_format
self.container_type = container_type
# Load members of this struct
self.members = []
for member_dictionary in dictionary["contents"]:
member = {}
member["name"] = utils.build_underscore_name(member_dictionary["name"])
member["object"] = VariableFactory.create_variable(
member_dictionary, struct_type_name + " " + member["name"], self.container_type
)
self.members.append(member)
# We'll need to dispose if at least one of the members needs it
for member in self.members:
if member["object"].needs_dispose == True:
self.needs_dispose = True
示例8: add_sections
def add_sections(self, sections):
if self.fields is None:
return
translations = { 'name' : self.name,
'camelcase' : utils.build_camelcase_name (self.fullname),
'underscore' : utils.build_underscore_name (self.fullname),
'type_macro' : 'QMI_TYPE_' + utils.remove_prefix(utils.build_underscore_uppercase_name(self.fullname), 'QMI_') }
# Standard
template = (
'${underscore}_get_type\n'
'${type_macro}\n')
sections['standard'] += string.Template(template).substitute(translations)
# Public types
template = (
'${camelcase}\n')
sections['public-types'] += string.Template(template).substitute(translations)
# Public methods
template = '<SUBSECTION ${camelcase}Methods>\n'
if self.readonly == False:
template += (
'${underscore}_new\n')
template += (
'${underscore}_ref\n'
'${underscore}_unref\n')
sections['public-methods'] += string.Template(template).substitute(translations)
for field in self.fields:
field.add_sections(sections)
示例9: emit_section_content
def emit_section_content(self, sfile):
translations = { 'name_dashed' : utils.build_dashed_name(self.name),
'underscore' : utils.build_underscore_name(self.fullname) }
template = (
'\n'
'<SUBSECTION ${name_dashed}>\n')
sfile.write(string.Template(template).substitute(translations))
if self.has_query:
template = (
'${underscore}_query_new\n')
sfile.write(string.Template(template).substitute(translations))
if self.has_set:
template = (
'${underscore}_set_new\n')
sfile.write(string.Template(template).substitute(translations))
if self.has_response:
template = (
'${underscore}_response_parse\n')
sfile.write(string.Template(template).substitute(translations))
if self.has_notification:
template = (
'${underscore}_notification_parse\n')
sfile.write(string.Template(template).substitute(translations))
示例10: emit
def emit(self, hfile, cfile):
translations = { 'name' : self.name,
'camelcase' : utils.build_camelcase_name (self.fullname),
'underscore' : utils.build_underscore_name (self.fullname),
'static' : 'static ' if self.static else '' }
auxfile = cfile if self.static else hfile
if self.fields is None:
template = ('\n'
'/* Note: no fields in the ${name} container */\n')
auxfile.write(string.Template(template).substitute(translations))
cfile.write(string.Template(template).substitute(translations))
return
# Emit the container and field types
# Emit field getter/setter
if self.fields is not None:
for field in self.fields:
field.emit_types(auxfile, cfile)
self.__emit_types(auxfile, cfile, translations)
# Emit TLV enums
self.__emit_tlv_ids_enum(cfile)
# Emit fields
if self.fields is not None:
for field in self.fields:
field.emit_getter(auxfile, cfile)
if self.readonly == False:
field.emit_setter(auxfile, cfile)
# Emit the container core
self.__emit_core(auxfile, cfile, translations)
示例11: add_sections
def add_sections(self, sections):
translations = { 'underscore' : utils.build_underscore_name(self.name),
'prefix_camelcase' : utils.build_camelcase_name(self.prefix),
'prefix_underscore' : utils.build_underscore_name(self.prefix) }
if TypeFactory.is_section_emitted(self.fullname) is False:
TypeFactory.set_section_emitted(self.fullname)
self.variable.add_sections(sections)
# Public methods
template = (
'${prefix_underscore}_get_${underscore}\n')
if self.container_type == 'Input':
template += (
'${prefix_underscore}_set_${underscore}\n')
sections['public-methods'] += string.Template(template).substitute(translations)
示例12: __init__
def __init__(self, prefix, dictionary, common_objects_dictionary, container_type, static):
# The field prefix, usually the name of the Container,
# e.g. "Qmi Message Ctl Something Output"
self.prefix = prefix
# The name of the specific field, e.g. "Result"
self.name = dictionary['name']
# The specific TLV ID
self.id = dictionary['id']
# Whether the field is to be considered mandatory in the message
self.mandatory = True if dictionary['mandatory'] == 'yes' else False
# The type, which must always be "TLV"
self.type = dictionary['type']
# The container type, which must be either "Input" or "Output"
self.container_type = container_type
# Whether the whole field is internally used only
self.static = static
# Create the composed full name (prefix + name),
# e.g. "Qmi Message Ctl Something Output Result"
self.fullname = dictionary['fullname'] if 'fullname' in dictionary else self.prefix + ' ' + self.name
# Create our variable object
self.variable = VariableFactory.create_variable(dictionary, self.fullname, self.container_type)
# Create the variable name within the Container
self.variable_name = 'arg_' + utils.build_underscore_name(self.name).lower()
# Create the ID enumeration name
self.id_enum_name = utils.build_underscore_name(self.prefix + ' TLV ' + self.name).upper()
# Output Fields may have prerequisites
self.prerequisites = []
if 'prerequisites' in dictionary:
self.prerequisites = dictionary['prerequisites']
# First, look for references to common types
for prerequisite_dictionary in self.prerequisites:
if 'common-ref' in prerequisite_dictionary:
for common in common_objects_dictionary:
if common['type'] == 'prerequisite' and \
common['common-ref'] == prerequisite_dictionary['common-ref']:
# Replace the reference with a copy of the common dictionary
copy = dict(common)
self.prerequisites.remove(prerequisite_dictionary)
self.prerequisites.append(copy)
break
else:
raise RuntimeError('Common type \'%s\' not found' % prerequisite_dictionary['name'])
示例13: emit_sections
def emit_sections(self, sfile):
if self.static:
return
translations = { 'hyphened' : utils.build_dashed_name (self.fullname),
'fullname_underscore' : utils.build_underscore_name(self.fullname),
'camelcase' : utils.build_camelcase_name (self.fullname),
'service' : utils.build_underscore_name (self.service),
'name_underscore' : utils.build_underscore_name (self.name),
'fullname' : self.service + ' ' + self.name,
'type' : 'response' if self.type == 'Message' else 'indication' }
sections = { 'public-types' : '',
'public-methods' : '',
'standard' : '',
'private' : '' }
if self.input:
self.input.add_sections (sections)
self.output.add_sections (sections)
if self.type == 'Message':
template = (
'<SUBSECTION ${camelcase}ClientMethods>\n'
'qmi_client_${service}_${name_underscore}\n'
'qmi_client_${service}_${name_underscore}_finish\n')
sections['public-methods'] += string.Template(template).substitute(translations)
translations['public_types'] = sections['public-types']
translations['public_methods'] = sections['public-methods']
translations['standard'] = sections['standard']
translations['private'] = sections['private']
template = (
'<SECTION>\n'
'<FILE>${hyphened}</FILE>\n'
'<TITLE>${fullname}</TITLE>\n'
'${public_types}'
'${public_methods}'
'<SUBSECTION Private>\n'
'${private}'
'<SUBSECTION Standard>\n'
'${standard}'
'</SECTION>\n'
'\n')
sfile.write(string.Template(template).substitute(translations))
示例14: __emit_response_or_indication_parser
def __emit_response_or_indication_parser(self, hfile, cfile):
# If no output fields to parse, don't emit anything
if self.output is None or self.output.fields is None:
return
translations = { 'name' : self.name,
'type' : 'response' if self.type == 'Message' else 'indication',
'container' : utils.build_camelcase_name (self.output.fullname),
'container_underscore' : utils.build_underscore_name (self.output.fullname),
'underscore' : utils.build_underscore_name (self.fullname),
'message_id' : self.id_enum_name }
template = (
'\n'
'static ${container} *\n'
'__${underscore}_${type}_parse (\n'
' QmiMessage *message,\n'
' GError **error)\n'
'{\n'
' ${container} *self;\n'
'\n'
' g_return_val_if_fail (qmi_message_get_message_id (message) == ${message_id}, NULL);\n'
'\n'
' self = g_slice_new0 (${container});\n'
' self->ref_count = 1;\n')
cfile.write(string.Template(template).substitute(translations))
for field in self.output.fields:
cfile.write(
'\n'
' do {\n')
field.emit_output_prerequisite_check(cfile, ' ')
cfile.write(
'\n'
' {\n')
field.emit_output_tlv_get(cfile, ' ')
cfile.write(
'\n'
' }\n')
cfile.write(
' } while (0);\n')
cfile.write(
'\n'
' return self;\n'
'}\n')
示例15: emit_output_tlv_get
def emit_output_tlv_get(self, f, line_prefix):
translations = { 'name' : self.name,
'container_underscore' : utils.build_underscore_name (self.prefix),
'underscore' : utils.build_underscore_name (self.fullname),
'tlv_id' : self.id_enum_name,
'variable_name' : self.variable_name,
'lp' : line_prefix,
'error' : 'error' if self.mandatory == 'yes' else 'NULL'}
template = (
'${lp}const guint8 *buffer;\n'
'${lp}guint16 buffer_len;\n'
'\n'
'${lp}buffer = qmi_message_get_raw_tlv (message,\n'
'${lp} ${tlv_id},\n'
'${lp} &buffer_len);\n'
'${lp}if (buffer && ${underscore}_validate (buffer, buffer_len)) {\n'
'${lp} self->${variable_name}_set = TRUE;\n'
'\n')
f.write(string.Template(template).substitute(translations))
# Now, read the contents of the buffer into the variable
self.variable.emit_buffer_read(f, line_prefix + ' ', 'self->' + self.variable_name, 'buffer', 'buffer_len')
template = (
'\n'
'${lp} /* The remaining size of the buffer needs to be 0 if we successfully read the TLV */\n'
'${lp} if (buffer_len > 0) {\n'
'${lp} g_warning ("Left \'%u\' bytes unread when getting the \'${name}\' TLV", buffer_len);\n'
'${lp} }\n')
if self.mandatory == 'yes':
template += (
'${lp}} else {\n'
'${lp} g_set_error (error,\n'
'${lp} QMI_CORE_ERROR,\n'
'${lp} QMI_CORE_ERROR_TLV_NOT_FOUND,\n'
'${lp} \"Couldn\'t get the ${name} TLV: Not found\");\n'
'${lp} ${container_underscore}_unref (self);\n'
'${lp} return NULL;\n'
'${lp}}\n')
else:
template += (
'${lp}}\n')
f.write(string.Template(template).substitute(translations))