Metadata-Version: 2.4
Name: ddg2rss
Version: 2.1.0
Summary: Convert DuckduckGo News to RSS feed
Author-email: Thibaut_S <py@spriet.online>
License: MIT-License
Project-URL: Homepage, https://gitlab.com/Thibaut_S/ddg2rss
Project-URL: Bug Tracker, https://gitlab.com/Thibaut_S/ddg2rss/-/issues
Keywords: rss,feed,ddg
Classifier: Programming Language :: Python :: 3
Requires-Python: >=3.11
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: ddgs
Requires-Dist: feedgen
Requires-Dist: python-slugify
Requires-Dist: python-dotenv
Provides-Extra: dev
Requires-Dist: wheel; extra == "dev"
Requires-Dist: pytest; extra == "dev"
Requires-Dist: ruff; extra == "dev"
Requires-Dist: black; extra == "dev"
Requires-Dist: pip-tools; extra == "dev"
Requires-Dist: twine; extra == "dev"
Dynamic: license-file

# DDG2RSS

[![](https://img.shields.io/pypi/v/ddg2rss)](https://pypi.org/project/ddg2rss/)
[![](https://img.shields.io/pypi/dm/ddg2rss)](https://pypi.org/project/ddg2rss/)
[![](https://gitlab.com/Thibaut_S/ddg2rss/badges/main/pipeline.svg)](https://gitlab.com/Thibaut_S/ddg2rss/-/pipelines)


Package python permettant de générer un flux rss au format xml, à partir de duckduckgo news, avec une recherche par mots clés.


Installation
---

```bash
python3 -m venv env
source env/bin/activate
pip install ddg2rss
```

Utilisation simple
---

```python
>>> from ddg2rss.generator import rss_file

>>> rss_file(
        link="https://public_link_of_your_output.xml", 
        keywords="Your search here",
        output_dir="/absolute/or/relative/path/to/your/output/directory"
    )
```

Installation sur un VPS avec une tâche cron
---

```bash
mkdir /opt/ddg2rss
cd /opt/ddg2rss
mkdir pages
python3 -m venv env
source env/bin/activate
pip install ddg2rss
vim .env
# entrer ou modifier les 3 lignes suivantes dans le fichier .env :
#   OUTPUT_DIR="./pages" (dossier dans lequel seront créés les fichiers rss)
#   URL="https://<racine de votre site>"
#   SEARCH="./recherches" (fichier dans lequel seront listées vos recherches)
vim recherches # saisir une recherche par ligne
```

Faire pointer via nginx, apache ou autre, le lien `URL` vers le dossier renseigné dans la variable `OUTPUT_DIR`

Pour une actualisation toutes les 30 minutes, créer une tâche cron de ce type:
```bash
crontab -e

*/30 * * * * cd /opt/ddg2rss && ./env/bin/python -c "from ddg2rss import cronjob;cronjob.update()"
```

