├── .gitignore ├── LICENSE ├── README.md ├── camera ├── camera.py ├── fake │ └── README.md ├── pi │ └── README.md ├── pic.jpg └── requirements-pi.txt ├── orders ├── app │ ├── __init__.py │ ├── api_v1 │ │ ├── __init__.py │ │ ├── customers.py │ │ ├── errors.py │ │ ├── items.py │ │ ├── orders.py │ │ └── products.py │ ├── auth.py │ ├── decorators │ │ ├── __init__.py │ │ ├── caching.py │ │ ├── json.py │ │ ├── paginate.py │ │ └── rate_limit.py │ ├── exceptions.py │ ├── models.py │ └── utils.py ├── config │ ├── development.py │ ├── production.py │ └── testing.py ├── run.py ├── test.py └── tests │ ├── __init__.py │ ├── test_client.py │ └── tests.py └── requirements.txt /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miguelgrinberg/oreilly-flask-apis-video/HEAD/.gitignore -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miguelgrinberg/oreilly-flask-apis-video/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miguelgrinberg/oreilly-flask-apis-video/HEAD/README.md -------------------------------------------------------------------------------- /camera/camera.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miguelgrinberg/oreilly-flask-apis-video/HEAD/camera/camera.py -------------------------------------------------------------------------------- /camera/fake/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miguelgrinberg/oreilly-flask-apis-video/HEAD/camera/fake/README.md -------------------------------------------------------------------------------- /camera/pi/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miguelgrinberg/oreilly-flask-apis-video/HEAD/camera/pi/README.md -------------------------------------------------------------------------------- /camera/pic.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miguelgrinberg/oreilly-flask-apis-video/HEAD/camera/pic.jpg -------------------------------------------------------------------------------- /camera/requirements-pi.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miguelgrinberg/oreilly-flask-apis-video/HEAD/camera/requirements-pi.txt -------------------------------------------------------------------------------- /orders/app/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miguelgrinberg/oreilly-flask-apis-video/HEAD/orders/app/__init__.py -------------------------------------------------------------------------------- /orders/app/api_v1/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miguelgrinberg/oreilly-flask-apis-video/HEAD/orders/app/api_v1/__init__.py -------------------------------------------------------------------------------- /orders/app/api_v1/customers.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miguelgrinberg/oreilly-flask-apis-video/HEAD/orders/app/api_v1/customers.py -------------------------------------------------------------------------------- /orders/app/api_v1/errors.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miguelgrinberg/oreilly-flask-apis-video/HEAD/orders/app/api_v1/errors.py -------------------------------------------------------------------------------- /orders/app/api_v1/items.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miguelgrinberg/oreilly-flask-apis-video/HEAD/orders/app/api_v1/items.py -------------------------------------------------------------------------------- /orders/app/api_v1/orders.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miguelgrinberg/oreilly-flask-apis-video/HEAD/orders/app/api_v1/orders.py -------------------------------------------------------------------------------- /orders/app/api_v1/products.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miguelgrinberg/oreilly-flask-apis-video/HEAD/orders/app/api_v1/products.py -------------------------------------------------------------------------------- /orders/app/auth.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miguelgrinberg/oreilly-flask-apis-video/HEAD/orders/app/auth.py -------------------------------------------------------------------------------- /orders/app/decorators/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miguelgrinberg/oreilly-flask-apis-video/HEAD/orders/app/decorators/__init__.py -------------------------------------------------------------------------------- /orders/app/decorators/caching.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miguelgrinberg/oreilly-flask-apis-video/HEAD/orders/app/decorators/caching.py -------------------------------------------------------------------------------- /orders/app/decorators/json.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miguelgrinberg/oreilly-flask-apis-video/HEAD/orders/app/decorators/json.py -------------------------------------------------------------------------------- /orders/app/decorators/paginate.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miguelgrinberg/oreilly-flask-apis-video/HEAD/orders/app/decorators/paginate.py -------------------------------------------------------------------------------- /orders/app/decorators/rate_limit.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miguelgrinberg/oreilly-flask-apis-video/HEAD/orders/app/decorators/rate_limit.py -------------------------------------------------------------------------------- /orders/app/exceptions.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miguelgrinberg/oreilly-flask-apis-video/HEAD/orders/app/exceptions.py -------------------------------------------------------------------------------- /orders/app/models.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miguelgrinberg/oreilly-flask-apis-video/HEAD/orders/app/models.py -------------------------------------------------------------------------------- /orders/app/utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miguelgrinberg/oreilly-flask-apis-video/HEAD/orders/app/utils.py -------------------------------------------------------------------------------- /orders/config/development.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miguelgrinberg/oreilly-flask-apis-video/HEAD/orders/config/development.py -------------------------------------------------------------------------------- /orders/config/production.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miguelgrinberg/oreilly-flask-apis-video/HEAD/orders/config/production.py -------------------------------------------------------------------------------- /orders/config/testing.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miguelgrinberg/oreilly-flask-apis-video/HEAD/orders/config/testing.py -------------------------------------------------------------------------------- /orders/run.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miguelgrinberg/oreilly-flask-apis-video/HEAD/orders/run.py -------------------------------------------------------------------------------- /orders/test.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miguelgrinberg/oreilly-flask-apis-video/HEAD/orders/test.py -------------------------------------------------------------------------------- /orders/tests/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miguelgrinberg/oreilly-flask-apis-video/HEAD/orders/tests/__init__.py -------------------------------------------------------------------------------- /orders/tests/test_client.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miguelgrinberg/oreilly-flask-apis-video/HEAD/orders/tests/test_client.py -------------------------------------------------------------------------------- /orders/tests/tests.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miguelgrinberg/oreilly-flask-apis-video/HEAD/orders/tests/tests.py -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miguelgrinberg/oreilly-flask-apis-video/HEAD/requirements.txt --------------------------------------------------------------------------------