Skip to content

danielemegna/PythonKatNotifier

Repository files navigation

PythonKatNotifier

PythonKatNotifier looks for you for the most downloaded movies on some torrents sites and notify you about them

Docker (better) way

Build the docker container with

$ docker build -t pykat .

Develop on it

Run a container in interative mode with

$ docker run -itv $(pwd):/app --name pykat pykat bash

and inside

$ pip install -r requirements.dev
$ ./runtest

Now just modify the code outside the container (it is mounted as volume) and run tests inside.

Run it in production

Remember to prepare a ready compatible sqlite file before (production.db by default)

$ cp empty.db production.db

and simply run the built container with

$ docker run --name pykat pykat 

Misc infos

Tests selection

You can run all the tests via:

$ python -m unittest discover

or easier via the bash script:

$ ./runtest

Remember to install the dev dependecies with

$ pip install -r requirements.txt
$ pip install -r requirements.dev

The runtest script is compiliant with unittest test selectors:

$ ./runtest test_module               # run tests from test_module
$ ./runtest module.TestClass          # run tests from module.TestClass
$ ./runtest module.Class.test_method  # run specified test method

The test package structure allows selective test run for unit and integration tests:

$ ./runtest test.unit         # run unitary tests
$ ./runtest test.integration  # run integration tests

pip & virtualenv

Dependecies are managed by pip

You can keep clean your local environment using virtualenv (https://pypi.python.org/pypi/virtualenv).

Install virtualenv via pip:

$ pip install virtualenv

Create a virtual environment for the project:

$ virtualenv venv

Activate it:

$ source venv/bin/activate

Install project dependencies into the new virtual environment:

$ pip install -r requirements.txt

You'll be able to deactivate the virtual environment using

$ deactivate

Manual run

Remember to prepare a ready compatible sqlite file before (production.db by default)

$ cp empty.db production.db

Now configure it managing dependecies injections into work.py and run it via

$ python work.py

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages