diff --git a/docker-compose.yaml b/docker-compose.yaml index b8673ae..f067e5d 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -65,6 +65,7 @@ services: POSTGRES_PASSWORD: later42 POSTGRES_DB: later42 POSTGRES_HOST_AUTH_METHOD: trust + READABILITY_HOST: http://ureadability:8080/ volumes: - /opt/docker/later42/db:/var/lib/postgresql/data logging: @@ -72,3 +73,37 @@ services: options: max-size: "10m" max-file: "5" + + ureadability: + image: umputun/ukeeper-readability:latest + logging: + driver: json-file + options: + max-size: "10m" + max-file: "5" + hostname: ureadability + restart: always + container_name: ureadability + links: + - mongo + environment: + - MONGO_URI=mongodb://root:aldbhvaygvavASDVSDFVQFQgfwvsav@mongo:27017 + - MONGO_DELAY=10s + - CREDS=test:l4!AzQVW1dSN0T^7IJGn&Kr!kwRSF2P1 + + mongo: + image: mongo:5.0 + logging: + driver: json-file + options: + max-size: "10m" + max-file: "5" + hostname: mongo + restart: always + container_name: ureadability-mongo + environment: + - MONGO_INITDB_DATABASE=admin + - MONGO_INITDB_ROOT_USERNAME=root + - MONGO_INITDB_ROOT_PASSWORD=aldbhvaygvavASDVSDFVQFQgfwvsav + volumes: + - /opt/docker/mongodb:/data/db \ No newline at end of file diff --git a/later42/migrations/0003_url_content.py b/later42/migrations/0003_url_content.py new file mode 100644 index 0000000..834eb10 --- /dev/null +++ b/later42/migrations/0003_url_content.py @@ -0,0 +1,18 @@ +# Generated by Django 4.1.2 on 2022-10-25 08:05 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('later42', '0002_url_archived'), + ] + + operations = [ + migrations.AddField( + model_name='url', + name='content', + field=models.TextField(blank=True, null=True), + ), + ] diff --git a/later42/models/urls.py b/later42/models/urls.py index b7498c1..35f6cd9 100644 --- a/later42/models/urls.py +++ b/later42/models/urls.py @@ -8,3 +8,4 @@ class URL(models.Model): url = models.CharField(max_length=2000) title = models.CharField(max_length=2000) archived = models.BooleanField(default=False) + content = models.TextField(blank=True, null=True) diff --git a/later42/settings.py b/later42/settings.py index ea96a1d..aa31f05 100644 --- a/later42/settings.py +++ b/later42/settings.py @@ -159,3 +159,4 @@ REST_FRAMEWORK = { } URLS_PER_PAGE = 20 +READABILITY_HOST = os.getenv('READABILITY_HOST', None) diff --git a/later42/templates/archive.html b/later42/templates/archive.html index 84c1c9b..ddd5c32 100644 --- a/later42/templates/archive.html +++ b/later42/templates/archive.html @@ -16,6 +16,11 @@ + {% if url.content %} +

+ {{ url.content }} +

+ {% endif %}

{{ url.url }}

diff --git a/later42/templates/index.html b/later42/templates/index.html index 2b17fa4..f0b8abb 100644 --- a/later42/templates/index.html +++ b/later42/templates/index.html @@ -13,6 +13,11 @@ + {% if url.content %} +

+ {{ url.content }} +

+ {% endif %}

{{ url.url }}

diff --git a/later42/views/api.py b/later42/views/api.py index c1e3309..cca6aa4 100644 --- a/later42/views/api.py +++ b/later42/views/api.py @@ -4,6 +4,7 @@ from rest_framework.response import Response from rest_framework.views import APIView from bs4 import BeautifulSoup from later42.models.urls import URL as URLModel +from django.conf import settings class URL(APIView): @@ -22,7 +23,13 @@ class URL(APIView): title = self.get_title(url) if title is None: title = url - url = URLModel(url=url, title=title, user=request.user) + + content = None + if settings.READABILITY_HOST: + content = self.get_content(url) + + url = URLModel(url=url, user=request.user, + title=title, content=content) url.save() return Response({'status': 'success'}) else: