add custom field by xmlrpc
def add_enclosure(server, post_id, enclosure):
post_data = server.metaWeblog.getPost(post_id, username, password)
custom_fields = post_data['custom_fields']
new_id = max([int(field['id']) for field in custom_fields]) + 1
custom_fields.append({'id': "%s" % (new_id), 'key': 'enclosure', \
'value': "%s\n%s\n%s" % \
(enclosure['url'], enclosure['length'], enclosure['type'])})
server.metaWeblog.editPost(post_id, username, password, \
{'custom_fields': custom_fields})