diff --git a/docker/Dockerfile b/docker/Dockerfile index b17f2cb..d7f85f8 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -1,6 +1,6 @@ # syntax=docker/dockerfile:1 -FROM alpine:latest +FROM python:alpine ENV TZ=Europe/Berlin ENV UNBUFFERED=1 @@ -11,10 +11,20 @@ VOLUME /app COPY . . RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone; \ - /bin/sh -c 'apk update && apk add --no-cache gcc musl-dev python3-dev py3-wheel py3-pip py3-olm libffi-dev openssl-dev cargo zlib-dev jpeg-dev libmagic speex ffmpeg htop; \ - pip install update pip && pip install -r requirements.txt ; \ - apk del zlib-dev jpeg-dev gcc musl-dev python3-dev openssl-dev cargo;' + apk --no-cache update && apk add --no-cache --virtual .build-deps \ + gcc \ + cargo \ + libffi-dev \ + openssl-dev \ + olm-dev \ + zlib-dev \ + jpeg-dev ; \ + apk add --no-cache olm libmagic ffmpeg speex; \ + pip install pip -U --no-cache-dir; \ + pip install --no-cache-dir -r requirements.txt ; \ + apk del --no-cache .build-deps; -ENTRYPOINT ["python3", "-u", "fritzab2matrix.py "] +# ENTRYPOINT ["python3", "-u", "fritzab2matrix.py"] +ENTRYPOINT /bin/sh -c "export UNBUFFERED=1 && python3 -u ./fritzab2matrix.py" diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml index 49e9071..74ed631 100644 --- a/docker/docker-compose.yml +++ b/docker/docker-compose.yml @@ -7,7 +7,7 @@ services: context: ../. dockerfile: ./docker/Dockerfile working_dir: /app - entrypoint: /bin/sh -c "export UNBUFFERED=1 && python3 -u ./fritzab2matrix.py" +# entrypoint: /bin/sh -c "export UNBUFFERED=1 && python3 -u ./fritzab2matrix.py" volumes: - ../.:/app diff --git a/fritzab2matrix.py b/fritzab2matrix.py index 1a62c2e..d1c5dfa 100755 --- a/fritzab2matrix.py +++ b/fritzab2matrix.py @@ -70,13 +70,20 @@ def get_last_call(): except: print("Couldn't connect to Box") missed_calls = fc.get_missed_calls(False,1,1) - return missed_calls[0] + + if len(missed_calls) > 0: + return missed_calls[0] + else: + return False def lastcall2matrix(tam,tam_no): # Call Watch to Matrix if env_call_watch and not at_least_one_new_message: c = get_last_call() - c_msg = "{} - {} ({})".format(c.Date, c.Caller, c.Name) + if c: + c_msg = "{} - {} ({})".format(c.Date, c.Caller, c.Name) + else: + return False # ... and send message and file to Matrix Room ## if Number of a TAM and the last call match diff --git a/requirements.txt b/requirements.txt index 6bafca2..808ef62 100644 --- a/requirements.txt +++ b/requirements.txt @@ -15,9 +15,9 @@ atomicwrites cachetools datetime markdown -matrix-nio # [e2e]>=0.18.3 +matrix-nio[e2e]>=0.18.3 peewee Pillow -python_magic +python-magic uuid