Python Код в Zapier Zap - способы более эффективной сериализации данных? - PullRequest
0 голосов
/ 29 апреля 2020

Только что начал с Zapier и построил несколько тестовых Zaps, чтобы глубже понять возможности использования Zapier для моей организации.

Я столкнулся с несколькими проблемами с выводами нуждающийся в сериализации. Я нашел простое исправление, которое передает выходное значение в виде строки и, похоже, исправляет проблему в каждом случае. Мой вопрос у кого-нибудь есть какие-либо предложения о возможной очистке или о том, как лучше, чтобы мне не приходилось выводить данные таким образом? Что-то не так с выполнением сценария таким образом?

Не нужно, чтобы люди буквально переписывали мой код (если только вы не готовы давать советы для новичка ie до python), просто ищите советы по передовому опыту.

Код:

import re

emails = re.findall(r'[\w._-]+@[\w._-]+\.[\w._-]+', input_data['Payload'])
url = re.findall('http[s]?://(?:[a-zA-Z]|[0-9]|[$-_@.&+]|[!*\(\),]|(?:%[0-9a-fA-F][0-9a-fA-F]))+', input_data['Payload'])
tid = re.search('(.*) - This',input_data['PayloadText'])


output = [{'Emails': emails,'URLS': url, 'TemplateID': str(tid)}]

Этот фрагмент здесь; 'TemplateID': str(tid) код, о котором идет речь.

Мой вывод из этого фрагмента: TemplateID <re.Match object; span=(1059, 1070), match='1283 - This'>

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

Спасибо за любую помощь!

1 Ответ

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

Это действительно зависит от того, что вы хотите сделать с данными на следующих шагах. Возможно, подача регулярного выражения python в следующий шаг будет бесполезной? Вместо этого я мог бы попытаться извлечь фактический идентификатор tempalte (1283). Вы также захотите быть более оборонительным, если нет совпадения.

Но чтобы ответить на ваш root вопрос: нет, нет ничего плохого в том, чтобы передавать эту строку между шагами. Все, что видит Zapier - это строка.

...