Skip to content

Latest commit

 

History

History
150 lines (137 loc) · 10.1 KB

howto-run.md

File metadata and controls

150 lines (137 loc) · 10.1 KB

Запуск

В зависимости от режима работы приложение требует различных входных параметров (они задаются с помощью переменных среды) Запуск с помощью указания cookies более предпочтителен, так как в приложение не передаются данные пользователя (username/password), однако потребует неких дополнительных действий (см ниже)

Если запуск идет с помощью указания cookies, нужно установить переменные среды:

  • TAXER_COOKIES - строка с куками (токен там уже закодирован, его отдельно передавать ненужно).Как получить cookies описано ниже

Если запускаем с помощью указания user/password:

  • TAXER_USER - имя пользователя для входа в taxer.ua
  • TAXER_PWD - пароль

Как получить cookies

  • Открываем браузер, логинимся
  • Открываем браузерный отладчик (обычно F12)
  • Переходим во вкладку Console
  • В консоли выполняем document.cookie
  • Копируем эти данные (без кавычек). Это будет наша переменная TAXER_COOKIES
  • Taxer выдает куки где-то на 1 неделю, т.е. через неделю они заекспайрятся и нужно будет проделать всю процедуру заново

Запуск с помощью cookies

Для ленивых используя Docker и образ из DockerHub

Репозиторий на DockerHub

  • требуется установленный сам docker
  • открыть новую консоль (cmd) и запустить
    docker run -it --rm -p "7080:7080" -e TAXER_COOKIES="_ga=GA1.2.10829...6894; _gat=1" maxsivkov/taxerapi
    
    Где в TAXER_COOKIES передаются куки
  • проверить работу: открыть в браузере http://localhost:7080/docs и попробовать прочитать учетную запись (раздел account)
  • для завершения работы в консоли нужно нажать Ctrl-C
  • В случае возникновения ошибок в консоли будут писаться сообщения. По ним в принципе можно понять что происходит

Используя Docker

  • требуется установленный сам docker и docker-compose
  • скачать файл docker-compose.yml
  • создать файл .user.env и поместить туда переменную TAXER_COOKIES с содержимым. Должно получиться примерно так:
TAXER_COOKIES=_ga=GA1.2.147289...b28852cb2da6033936efb; XSRF-TOKEN=02da4f9ff62e0f7...4e1217a; _gat=1
  • открыть новую консоль (cmd) и запустить docker-сompose up pytaxerapi В результате в консоли должна появиться строка типа такой
2020-04-20 16:55:59 INFO     werkzeug              * Running on http://0.0.0.0:80/ (Press CTRL+C to quit)
  • проверить работу: открыть в браузере http://localhost:7080/docs и попробовать прочитать учетную запись (раздел account)
  • для завершения работы в консоли нужно нажать Ctrl-C
  • В случае возникновения ошибок в консоли будут писаться сообщения. По ним в принципе можно понять что происходит

Вручную

  • Требуется установленный Python 3.7 или выше вместе с установленным virtualenv (pip install virtualenv)
  • Требуется установленная Visual Studio 2019 с пакетом MSVC v142 - VS 2019 C++ x64/x86 build tools (v14.25)
  • Cклонировать проект. Репозиторий можэно склонировать с помощью Git а можно скачать в виде zip архива
    git clone https://github.com/maxsivkov/py-taxer-api.git
    
  • Pапустить коммандную строку x64 Native Tools Command Prompt for VS 2019 либо x86 Native Tools Command Prompt for VS 2019 в зависимости от битности установленного python из Start Menu -> Programs -> Visual Studio 2019 -> Visual Studio Tools -> VC
  • Перейти в корень проекта
    cd py-taxer-api
  • Устанавливаем virtualenv для проекта
    virtualenv venv
  • активируем
    venv\Scripts\activate
  • инсталируем
    pip install .
  • устанавливаем переменную среды TAXER_COOKIES
    set TAXER_COOKIES=ga=GA1.2.147289...b28852cb2da6033936efb; XSRF-TOKEN=02da4f9ff62e0f7...4e1217a; _gat=1
  • запускаем
    flask run --port 7080 --host=0.0.0.0 --no-reload

Запуск с помощью username/password

В этом режиме никакие махинации с cookies не требуются, т.к. приложение с помощью Selenium само выполнит логин и получит cookies. С другой стороны вы передаете в приложение свои username/password
Решать вам.
Итак:

  • требуется установленный сам docker и docker-compose
  • скачать файл docker-compose.yml
  • создать файл .user.env и поместить туда переменные TAXER_USER и TAXER_PWD с содержимым. Должно получиться примерно так:
TAXER_USER=username@domain.com
TAXER_PWD=mypassword
  • открыть новую консоль (cmd) и запустить docker-сompose up В результате в консоли должна появиться строка типа такой
2020-04-20 16:55:59 INFO     werkzeug              * Running on http://0.0.0.0:80/ (Press CTRL+C to quit)
  • проверить работу: открыть в браузере http://localhost:7080/docs и попробовать прочитать учетную запись (раздел account)
  • для завершения работы в консоли нужно нажать Ctrl-C
  • В случае возникновения ошибок в консоли будут писаться сообщения. По ним в принципе можно понять что происходит

Вручную

  • Требуется установленный Python 3.7 или выше вместе с установленным virtualenv (pip install virtualenv)
  • Требуется установленная Visual Studio 2019 с пакетом MSVC v142 - VS 2019 C++ x64/x86 build tools (v14.25)
  • Требуется установленный Firefox Browser и gecodriver WebDriver
  • Cклонировать проект. Репозиторий можэно склонировать с помощью Git а можно скачать в виде zip архива
    git clone https://github.com/maxsivkov/py-taxer-api.git
    
  • Pапустить коммандную строку x64 Native Tools Command Prompt for VS 2019 либо x86 Native Tools Command Prompt for VS 2019 в зависимости от битности установленного python из Start Menu -> Programs -> Visual Studio 2019 -> Visual Studio Tools -> VC
  • Перейти в корень проекта
    cd py-taxer-api
  • Устанавливаем virtualenv для проекта
    virtualenv venv
  • активируем
    venv\Scripts\activate
  • инсталируем
    pip install .
  • устанавливаем переменные среды TAXER_USER и TAXER_PWD
    set TAXER_USER=username@domain.com
    set TAXER_PWD=mypassword
  • запускаем
    flask run --port 7080 --host=0.0.0.0 --no-reload

Наверх