| 173 | return result |
| 174 | |
| 175 | def append_field_value(self, name, value): |
| 176 | if not value: |
| 177 | return |
| 178 | field = next((x for x in self.custom_fields if x.get('name', '') == name), None) |
| 179 | if not field: |
| 180 | field = {'type': 'text', 'name': name} |
| 181 | self.custom_fields.append(field) |
| 182 | field_value = field.get('value', None) |
| 183 | if field_value: |
| 184 | if not isinstance(field_value, list): |
| 185 | field_value = [field_value] |
| 186 | if isinstance(value, list): |
| 187 | field_value.extend(value) |
| 188 | else: |
| 189 | field_value.append(value) |
| 190 | else: |
| 191 | field_value = value |
| 192 | field['value'] = field_value |
| 193 | |
| 194 | def set_field(self, name, value): |
| 195 | found = False |