Как назначить сообщение gRP C, которое является ключевым словом Python - PullRequest
1 голос
/ 05 мая 2020

Служба, которую я использую, имеет тип сообщения из .

    message EmailMessage {
            EmailRecipient from = 1;
            repeated EmailRecipient to = 1;
            ....
    }

Вот фрагмент кода, показывающий, как я создаю запрос для этой службы в моем клиенте.

email_message = eaas_pb2.EmailMessage(
    from=email_recipient_from,
    to=email_recipient_to,
    subject=subject,
    purpose=purpose,
    plain_text_body=plain_text_body)

Я сталкиваюсь с SyntaxError, когда использую это, потому что from - это Python ключевое слово. Таким образом, эта точная проблема была задокументирована для protobuf здесь . Есть ли решение для этого, которое не требует изменения объявления сообщения? gPR C docs ничего об этом не упоминает.

1 Ответ

0 голосов
/ 10 мая 2020

Использование словаря kwargs решило эту проблему для меня.

 **{
        'from': email_recipient_from,
        'to': [email_recipient_to],
        'cc': [],
        'bcc': [],
        'subject': subject,
        'purpose': purpose,
        'plain_text_body': plain_text_body,
    }
...