def to_xml(self): xData = ElementTree.Element(self.data_type.tag) for attribute in self.data_type.item_attributes: try: xData.attrib[attribute] = serialize( self.item_attributes[attribute]) except KeyError as e: # This should never occur, buf if it does, the OTA restore on mobile will fail and # this error would have been raised and email-logged. raise FixtureTypeCheckError( "Table with tag %s has an item with id %s that doesn't have an attribute as defined in its types definition" % (self.data_type.tag, self.get_id)) for field in self.data_type.fields: escaped_field_name = clean_fixture_field_name(field.field_name) if field.field_name not in self.fields: xField = ElementTree.SubElement(xData, escaped_field_name) xField.text = "" else: for field_with_attr in self.fields[ field.field_name].field_list: xField = ElementTree.SubElement(xData, escaped_field_name) xField.text = serialize(field_with_attr.field_value) for attribute in field_with_attr.properties: val = field_with_attr.properties[attribute] xField.attrib[attribute] = serialize(val) return xData
def to_xml(self): xData = ElementTree.Element(self.data_type.tag) for attribute in self.data_type.item_attributes: try: xData.attrib[attribute] = serialize(self.item_attributes[attribute]) except KeyError as e: # This should never occur, buf if it does, the OTA restore on mobile will fail and # this error would have been raised and email-logged. raise FixtureTypeCheckError( "Table with tag %s has an item with id %s that doesn't have an attribute as defined in its types definition" % (self.data_type.tag, self.get_id) ) for field in self.data_type.fields: escaped_field_name = clean_fixture_field_name(field.field_name) if not self.fields.has_key(field.field_name): xField = ElementTree.SubElement(xData, escaped_field_name) xField.text = "" else: for field_with_attr in self.fields[field.field_name].field_list: xField = ElementTree.SubElement(xData, escaped_field_name) xField.text = serialize(field_with_attr.field_value) for attribute in field_with_attr.properties: val = field_with_attr.properties[attribute] xField.attrib[attribute] = serialize(val) return xData
def _row_to_row_elem(row, index, is_total_row=False): row_elem = E.row(index=str(index), is_total_row=str(is_total_row)) for k in sorted(row.keys()): value = serialize(row[k]) row_elem.append(E.column(value, id=k)) if not is_total_row and k in deferred_fields: filter_options_by_field[k].add(value) return row_elem
def _row_to_row_elem(deferred_fields, filter_options_by_field, row, index, is_total_row=False): row_elem = E.row(index=str(index), is_total_row=str(is_total_row)) if toggles.ADD_ROW_INDEX_TO_MOBILE_UCRS.enabled( restore_user.domain): row_elem.append(E('row_index', str(index))) for k in sorted(row.keys()): value = serialize(row[k]) row_elem.append(E(k, value)) if not is_total_row and k in deferred_fields: filter_options_by_field[k].add(value) return row_elem