From 2d69d919a6aae817ab6b70cf430a4689684f5d28 Mon Sep 17 00:00:00 2001 From: Aron Date: Tue, 7 Oct 2025 17:48:55 +0200 Subject: [PATCH] design final --- .DS_Store | Bin 10244 -> 10244 bytes DEV_SETUP.md | 78 ------------------------- bookstack.yml | 37 ------------ main.py | 3 +- matrix/docker-compose.yml | 12 ---- static/css/style.css | 103 +++++++++++++++++++++++++++++++++ templates/about.html | 35 +++++------ templates/cost-calculator.html | 36 ++++++++++-- test_send_pdf.py | 72 ----------------------- 9 files changed, 149 insertions(+), 227 deletions(-) delete mode 100644 DEV_SETUP.md delete mode 100644 bookstack.yml delete mode 100644 matrix/docker-compose.yml delete mode 100644 test_send_pdf.py diff --git a/.DS_Store b/.DS_Store index f57e8a799001c3f2f85270bfb2e3ccdf34c7c178..0503454f87368e0d59c2ffd88a8da0a8ad0e69b7 100644 GIT binary patch delta 28 kcmZn(XbG6$&uF(XU^hRb@@5`^*{mB&QSeit Dezember 2024 trägt unser Maker Space den Namen studio einszwovier. Er ist ein innovativer, digitaler Lernraum, der Kreativität, Technik und Bildungsgerechtigkeit verbindet. Hier wird „Making“ erlebbar: Lernende gestalten ihren Lernprozess aktiv, entdecken individuelle Stärken und erleben - durch Selbstwirksamkeit besondere Motivation.

+ durch Selbstwirksamkeit besondere Motivation. + Betreut wird der Maker Space von Aron Petau und Friedrich Weber. Einfach vorbeischauen, Ideen vorstellen und loslegen! +

@@ -27,25 +29,24 @@
  • Drohnen: Flugexperimente und Luftbildfotografie.
  • LEGO SPIKE Roboter: Spielerisches Erlernen von Robotik und Programmierung.
  • + + Wenn du mehr über unsere Ausstattung erfahren möchtest oder spezielle Geräte suchst, schau in unsere + Wissenssammlung oder frag uns direkt im Studio!
    -

    Betreuungsteam

    -

    Betreut wird der Maker Space von Aron Petau und Friedrich Weber. Sie sind - von Dienstag bis Donnerstag von 11:00 bis 16:00 Uhr vor Ort. Einfach vorbeischauen, Ideen vorstellen und loslegen! -

    -
    - -
    -

    Öffnungszeiten

    +

    Öffnungszeiten + Kontakt

    Dienstag bis Donnerstag: 11:00 – 16:00 Uhr
    Raum 124, Gabriele-von-Bülow-Gymnasium

    +

    E-Mail: einszwovier@gvb-gymnasium.de

    +

    Standort

    +

    Gabriele-von-Bülow-Gymnasium
    + Tile-Brügge-Weg 63, 13509 Berlin (Tegel)
    + Telefon: 030 21 00 52 460
    + E-Mail: info@gvb-gymnasium.de

    +
    -
    -

    Kontakt

    -

    E-Mail: einszwovier@gvb-gymnasium.de

    -

    Aktuelle Kurse

    @@ -114,13 +115,5 @@ } }); - -
    -

    Standort

    -

    Gabriele-von-Bülow-Gymnasium
    - Tile-Brügge-Weg 63, 13509 Berlin (Tegel)
    - Telefon: 030 21 00 52 460
    - E-Mail: info@gvb-gymnasium.de

    -
    {% endblock %} \ No newline at end of file diff --git a/templates/cost-calculator.html b/templates/cost-calculator.html index 470fac4..a4ddc6c 100644 --- a/templates/cost-calculator.html +++ b/templates/cost-calculator.html @@ -8,6 +8,36 @@

    Kostenrechner für Drucke

    +
    +

    + So funktioniert's: Lade dein PDF hoch, um eine Kostenschätzung zu erhalten. + Du kannst beliebige PDFs hochladen, um die Kosten zu berechnen. +

    +

    + Wichtig: Schicke den Auftrag nur ab, wenn du die Datei wirklich drucken lassen möchtest! + Für reine Kostenschätzung reicht es, die Berechnung anzusehen, ohne den Auftrag zu senden. +

    +

    + Alternative: Du kannst uns deine Datei und Infos auch per E-Mail schicken: + einszwovier@gvb-gymnasium.de +

    +
    + +
    +

    📊 Aktuelle Preise

    +
    +
    + Schwarz/Weiß + {{ rate_black if rate_black else 'RATE_PER_M2_BLACK' }} €/m² +
    +
    + Farbe + {{ rate_color if rate_color else 'RATE_PER_M2_COLOR' }} €/m² +
    +
    +

    💡 Die Preise decken nur Materialkosten(Tinte & Papier) – kein Gewinn!

    +
    + {% if error %}

    {{ error }}

    {% endif %} @@ -17,12 +47,6 @@ -

    - Preise werden über Umgebungsvariablen festgelegt:
    - S/W: {{ rate_black if rate_black else 'RATE_PER_M2_BLACK' }} € / m², - Farbe: {{ rate_color if rate_color else 'RATE_PER_M2_COLOR' }} € / m² -

    - {% if result %}

    Ergebnisse für {{ result.filename }}

    diff --git a/test_send_pdf.py b/test_send_pdf.py deleted file mode 100644 index 67a7c61..0000000 --- a/test_send_pdf.py +++ /dev/null @@ -1,72 +0,0 @@ -import os -import asyncio -from io import BytesIO -from nio import AsyncClient, UploadResponse, RoomSendResponse -from dotenv import load_dotenv - -load_dotenv() - -async def main(): - # Get credentials from environment (adjust if needed) - matrix_user = os.environ.get("MATRIX_USER", "@einszwovier_bot:localhost") - matrix_pass = os.environ.get("MATRIX_PASS") - homeserver = os.environ.get("MATRIX_HOMESERVER", "http://localhost:8008") - room_id = os.environ.get("MATRIX_ROOM") # e.g. "!abc123:localhost" - - if not all([matrix_user, matrix_pass, room_id]): - raise RuntimeError("Missing MATRIX_USER, MATRIX_PASS or MATRIX_ROOM") - - client = AsyncClient(homeserver, matrix_user) - login_resp = await client.login(matrix_pass) - if getattr(login_resp, "access_token", None) is None: - print("❌ Login failed:", login_resp) - return - - print("✅ Logged in as", matrix_user) - - pdf_path = "data/uploads/einszwovier infographics 2.pdf" # <-- put any small PDF here - with open(pdf_path, "rb") as f: - pdf_bytes = f.read() - - # ✅ Upload PDF (nio returns (resp, err)) - upload_resp, upload_err = await client.upload( - data_provider=BytesIO(pdf_bytes), - content_type="application/pdf", - filename=os.path.basename(pdf_path), - filesize=len(pdf_bytes), - ) - - if upload_err: - print("❌ Upload error:", upload_err) - await client.close() - return - - if isinstance(upload_resp, UploadResponse) and upload_resp.content_uri: - print("✅ Upload succeeded:", upload_resp.content_uri) - else: - print("❌ Upload failed:", upload_resp) - await client.close() - return - - # Send file message to room - file_resp = await client.room_send( - room_id=room_id, - message_type="m.room.message", - content={ - "msgtype": "m.file", - "body": os.path.basename(pdf_path), - "url": upload_resp.content_uri, - }, - ) - - if isinstance(file_resp, RoomSendResponse) and file_resp.event_id: - print("✅ PDF sent to room", room_id) - else: - print("❌ Failed to send PDF:", file_resp) - - await client.logout() - await client.close() - - -if __name__ == "__main__": - asyncio.run(main())