Использование Python и XML-RPC для добавления настраиваемого поля в сообщение Wordpress?

Я хочу добавить настраиваемое поле «вложение» в существующую публикацию Wordpress, используя Python и XML-RPC.

Мой код выглядит так:

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})

Но я получаю следующую ошибку:

xmlrpclib.Fault: <Fault 500: 'Sorry, your entry could not be edited. Something wrong happened.'>

Что я делаю не так?


person mshafrir    schedule 10.03.2010    source источник


Ответы (1)


Пользовательские поля представляют собой набор пар ключ/значение, которые выглядят следующим образом:

"custom_fields" = (
        {key = city; value = Sacramento; },
        {key = city; value = Sandy; }
    )

Попробуйте получить данные сообщения с помощью metaWeblog.getPost для сообщения, в котором уже есть настраиваемые поля, и вы увидите, как они выглядят.

person AlphaWu    schedule 09.02.2011