Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
dj-kaos-webclipper / METADATA
Size: Mime:
Metadata-Version: 2.1
Name: dj-kaos-webclipper
Version: 0.2.0a1
Summary: Clip web pages html and store in Django
Home-page: https://github.com/kaoslabsinc/dj-kaos-webclipper
Author: Kaos Labs Inc.
Author-email: keyvan@keyvanm.com
License: BSD-3-Clause
Keywords: django,clipper,webclipper,web clipper,scarping,scrape,kaos
Classifier: Environment :: Web Environment
Classifier: Framework :: Django
Classifier: Framework :: Django :: 3.2
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: BSD License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Topic :: Internet :: WWW/HTTP
Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: django (>=3.2)
Requires-Dist: django-model-utils (>=4.2.0)
Requires-Dist: djangorestframework (>=3.13.1)
Requires-Dist: django-filter (>=21.1)
Requires-Dist: rules (>=3.3)
Requires-Dist: django-building-blocks
Requires-Dist: django-remote-resources
Requires-Dist: scrapy (~=2.6)
Provides-Extra: test
Requires-Dist: tox ; extra == 'test'
Requires-Dist: pytest-django ; extra == 'test'
Requires-Dist: pytest-pythonpath ; extra == 'test'
Requires-Dist: pytest-cov ; extra == 'test'

# Django KAOS web clipper

Clip web pages html and store in Django

## Quick start

    pip install dj-kaos-webclipper

Add `webclipper` to `INSTALLED_APPS` if you want to use the generic webclip model, or extend `AbstractWebClip` if you
want to customize it on your application.

If you go with the generic WebClip model, you can get REST endpoint by using the router defined in `rest.routes`.

Your end users will send the title, URL and HTML content of the page using the REST API endpoint, and they get saved to
the models. You can extend the WebClip model in a proxy model, and extend `RawItemMixin` from the library, which gives
you an interface to parse the page using Scrapy's API.

## Development and Testing

### IDE Setup

Add the `example` directory to the `PYTHONPATH` in your IDE to avoid seeing import warnings in the `tests` modules. If
you are using PyCharm, this is already set up.

### Running the Tests

Install requirements

```
pip install -r requirements.txt
```

For local environment

```
pytest
```

For all supported environments

```
tox
```