Рубрики
Без рубрики

Как я сделал приложение Open-dev.to cli с Python

С тех пор, как я начал изучать Python, я был поражен тем, сколько вы можете с ним делать, … Tagged с Python, CLI, обучение, учебник.

С тех пор, как я начал изучать Python, я был поражен тем, как сильно вы можете с ним делать, и насколько легко это на самом деле, когда вам это чувствует себя комфортно. Я всегда любил работать над терминалом, поэтому, чтобы сделать мое обучение немного забавным, я научился делать приложения CLI с Нажмите и сделал приложение Chuck Norris Jokes в конце прошлого года:

Норрис-Кли

Кельвин Вангоня ・ 27 декабря ’18 ・ 1 мин прочитал

Я разместил приложение на Pypi И как новичок в Python, вы можете просто представить мою радость от чего -то увидеть Я сделал на PYPI. Пипи! 😄 Потрясающее чувство.

Затем вчера мне пришлось отдохнуть от работы и решил открыть Dev.to. Мне нравится, когда мой браузер закрыт, если мне не нужно, чтобы он был для того, чтобы избежать отвлекающих факторов. Поэтому я переключил рабочие пространства, открыл свой браузер, нажал на Dev.tmark, и там я был. Идея только что встала в мою голову: я мог бы обойти все это, если бы у меня была одна команда, чтобы открыть Dev.to с терминала. Я уже был на своем терминале раньше В любом случае, это казалось хорошей идеей 😄. Конечно, это можно сделать для любого веб -сайта – я просто подумал о Dev.to, потому что это то, что заставило меня пройти процесс в первую очередь.

Откройте dev.to с вашего терминала 🎉

Кельвин Вангоня ・ 9 апреля ’19 ・ 1 мин читал

Как обычно, сообщество очень поддерживало!

Это было весело =) Вы должны добавить немного о процессе, о том, что вам нужно, чтобы это произошло и как сделать пакет для поделиться.

Я сделаю это в следующем посте. Спасибо! 😊

Итак, вот как я это сделал.

Если вы хотите следовать, сейчас самое время создать новый каталог, CD в это и создайте свою виртуальную среду.

$ mkdir open-dev.to
$ cd open-dev.to
$ virtualenv venv # pip install virtualenv if you don't have it
$ source venv/bin/activate
(venv) $ mkdir app
(venv) $ touch app/__init__.py # this is where we'll write our code
(venv) $ touch requirements.txt # this will hold the project's requirements

Нажмите и модуль WebBrowser

В основе всего этого лежит эти две строки кода:

import click
import webbrowser

Webbrowser Предоставляет силы для открытия браузера и Нажмите делает это приложением CLI.

Webbrowser Поставляется с Python, поэтому все, что нам нужно установить, это Нажмите Анкет

(venv) $ pip install click
(venv) $ pip freeze > requirements.txt # add the installed module to our requirements file

Теперь, когда у нас есть то, что нам нужно, мы можем пойти дальше, чтобы написать код. Добавьте следующий код в app/__ init__.py . Я объясню, что делает каждая строка.

import click
import webbrowser

@click.command()
@click.option('--tag', '-t', help='add a tag')
def main(tag):
    """
    Open a new dev.to browser tab on the browser
    """
    if tag:
        url = 'https://dev.to/t/{}'.format(tag)
    else:
        url = 'https://dev.to'

    webbrowser.open(url, new=2)

if __name__ == "__main__":
    main()

Это действительно так просто! Даже новичок сможет понять, что делает этот код.

@click.command () Этот декоратор клика преобразует main () функционируйте в команду CLI. Без этого это была бы обычная функция Python. Но с этим это становится командой, которая может быть вызвана в качестве утилиты командной строки.

@click.option ('-Tag', '-t',) @click.option () расширяет команду, чтобы иметь возможность принимать дополнительные аргументы. В этом случае --ярлык или его сокращающая версия -t позволено. Помощь Текст объясняет, что делает аргумент.

def Main (Tag): Это входная точка нашего приложения, где происходит вся волшебство. Функция (теперь команда) принимает необязательный тег Аргумент, который определяет открытие URL, как видно в если еще Несколько строк под ним.

“” Откройте новую вкладку Dev.to Browser в браузере “” “” “

webbrowser.open (url,) Открывает запрошенный URL. Новый = 2 Убедитесь, что это сделано на новой вкладке.

И, наконец, Если __name__ Блок запускает main () Функция, когда сценарий работает.

Имея приведенный выше код, просто запустите __init__.py чтобы увидеть, как это работает.

$ python app/__init__.py

Новая вкладка Dev.to должна автоматически открывать в вашем браузере.

$ python app/__init__.py --help
Usage: __init__.py [OPTIONS]

  Open a new dev.to browser tab on the browser

Options:
  -t, --tag TEXT  add a tag
  --help          Show this message and exit.

Давайте попробуем пройти в тег.

$ python app/__init__.py --tag react

https://dev.to/t/react должен быть открыт 😀.

Мы не хотим продолжать работать Python App/__ init__.py Каждый раз, хотя. В следующем посте я покажу, как использовать Setuptools Чтобы связать сценарий, чтобы мы могли установить его локально и использовать простое dev.to команда запустить скрипт вместо длинного Python App/__ init__.py Анкет Я также покажу, как опубликовать пакет на PYPI.

Оригинал: “https://dev.to/wangonya/how-i-made-the-open-dev-to-cli-app-with-python-54p0”