В настоящее время я пишу библиотеку API на Python, и мне интересно, является ли следующий код слишком непифоничным:
@accepts('video_id', 'reference_id', 'page_size', 'page_number',
'get_item_count', 'fields', 'video_fields', 'custom_fields',
'media_delivery', 'output')
@requires('video_id', 'reference_id')
def find_related_videos(self, **params):
return ItemCollection(read_request(params))
Декоратор accepts
выдает ошибку, если в kwargs нетсписок передается методу.Он также выполняет проверку для определенных ключевых слов.
Декоратор requires
обеспечивает наличие этих аргументов ключевых слов.
Отсутствие аргументов ключевого слова в определении метода вызывает у меня проблемы.Однако необходимость составления словаря параметров вручную для каждого метода также выглядит раздражающей.Кроме того, существует проверочный код, который одинаков для каждого экземпляра аргумента video_fields
, передаваемого методу, поэтому я могу вызвать его из декоратора accept, чтобы избежать повторения.
Мысли?