Closed pokedim13 closed 1 year ago
What command do you want to impement? See #6 issue for all pastes commands
commands
Paste info Paste delete maybe others, but I'd better study the code for now, and prepare
Команда paste info
, как указано в #6 , использует метод GET /pastes/<hash/
.
Команда должна принимать 0 аргументов и некоторые опции:
-s, --short-url - Опционально можно передать короткую ссылку в этой опции. Если ссылка не передана, ссылка выбирается пользователем интерактивно с помощью метода request_hash_from_pastes_list
(Смотрите использование в комманде url info
)
-o, --only-text - Это флаг. По умолчанию принимает значение False. Если он True, то из всей информации о пасте печатается только её текст.
А теперь о самой логике: Сначала надо получить хэш из ссылки, если она передана (смотрите функцию services.url.extract_hash_from_short_url). Вы должны имплементировать такую же функцию, только для паст, в модуле services.paste. Если ссылка не передана, то используется функция services.paste.request_hash_from_pastes_list, которую вы тоже должны написать (смотрите аналогичную функцию services.url.request_hash_from_urls_list).
После получения хэша, комманда вызывает функцию services.paste.get_paste_info_from_paste_hash, которая в свою очередь использует функцию services.api.execute_json_api_method. В команде обрабатывается ошибка (смотрите обработку ошибок в командах url и pastes). После этого в консоль печатается информация о пасте (Текст, когда истекает время действия, публичная ли статистика, сгорит ли эта паста после первого прочтения).
Florgon-cc-cli использует фреймворк click, так что вы можете пользоваться документацией по нему. Функционал паст похож на функционал коротких ссылок, поэтому при разработке операйтесь на уже созданные команды для коротких ссылок. Для уточнения информации пишите сюда, а как задача с paste info
будет готова, отправьте Pull Request. После выполнения этой задачи я дам вам ТЗ по paste delete
. Удачной работы! 😄
give me only the technical task in Russian, to me in VK @h3try, you can answer here