diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS deleted file mode 100644 index cffc198..0000000 --- a/.github/CODEOWNERS +++ /dev/null @@ -1 +0,0 @@ -* @MartaSien \ No newline at end of file diff --git a/.github/dependabot.yml b/.github/dependabot.yml deleted file mode 100644 index 3401052..0000000 --- a/.github/dependabot.yml +++ /dev/null @@ -1,11 +0,0 @@ -# To get started with Dependabot version updates, you'll need to specify which -# package ecosystems to update and where the package manifests are located. -# Please see the documentation for all configuration options: -# https://docs.github.com/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file - -version: 2 -updates: - - package-ecosystem: "pip" - directory: "/" - schedule: - interval: "weekly" diff --git a/.github/linters/.mega-linter.yml b/.github/linters/.mega-linter.yml deleted file mode 100644 index c45a956..0000000 --- a/.github/linters/.mega-linter.yml +++ /dev/null @@ -1,16 +0,0 @@ -# Configuration file for MegaLinter -# See all available variables at https://megalinter.io/configuration/ and in linters documentation -# ADD YOUR CUSTOM ENV VARIABLES HERE OR DEFINE THEM IN A FILE .mega-linter.yml AT THE ROOT OF YOUR REPOSITORY -ENABLE_LINTERS: - - PYTHON_BLACK - - PYTHON_RUFF - - CSS_STYLELINT - - HTML_HTMLHINT - - MARKDOWN_MARKDOWNLINT - - YAML_PRETTIER -MARKDOWN_FILTER_REGEX_EXCLUDE: '(LICENSE\.md|docs/NEWS\.md)' -MARKDOWN_MARKDOWN_LINK_CHECK_DISABLE_ERRORS: true -PRE_COMMANDS: - - command: R --slave -e 'install.packages(c("lintr"))' - cwd: "root" -PRINT_ALL_FILES: false diff --git a/.github/workflows/megalinter.yml b/.github/workflows/megalinter.yml deleted file mode 100644 index 4dbceef..0000000 --- a/.github/workflows/megalinter.yml +++ /dev/null @@ -1,37 +0,0 @@ -# MegaLinter GitHub Action configuration file -# More info at https://megalinter.io -name: MegaLinter - -on: - push: - branches: [master] - pull_request: - branches: [master] - -env: - MEGALINTER_CONFIG: .github/linters/.mega-linter.yml - -concurrency: - group: ${{ github.ref }}-${{ github.workflow }} - cancel-in-progress: true - -jobs: - megalinter: - name: MegaLinter - runs-on: ubuntu-latest - steps: - # Git Checkout - - name: Checkout Code - uses: actions/checkout@v4 - with: - token: ${{ secrets.PAT }} - - - name: MegaLinter - id: ml - # You can override MegaLinter flavor used to have faster performances - # More info at https://megalinter.io/flavors/ - uses: oxsecurity/megalinter/flavors/python@v8.0.0 - env: - VALIDATE_ALL_CODEBASE: true - GITHUB_TOKEN: ${{ secrets.PAT }} - # DISABLE: COPYPASTE,SPELL # Uncomment to disable copy-paste and spell checks diff --git a/.github/workflows/update-website.yml b/.github/workflows/update-website.yml deleted file mode 100644 index 8d11de4..0000000 --- a/.github/workflows/update-website.yml +++ /dev/null @@ -1,55 +0,0 @@ -# Simple workflow for deploying static content to GitHub Pages -name: Update website - -on: - # Runs on pushes targeting the default branch - pull_request: - branches: ["master"] - - # Allows you to run this workflow manually from the Actions tab - workflow_dispatch: - -# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued. -# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete. -concurrency: - group: "update" - cancel-in-progress: false - -jobs: - # Run Python script to fetch REST API info - update: - runs-on: ubuntu-latest - permissions: - # Give the default GITHUB_TOKEN write permission to commit and push the - # added or changed files to the repository. - contents: write - steps: - - name: Checkout - uses: actions/checkout@v4 - with: - # Push to protected branch - token: ${{ secrets.PAT }} - # Fetch all commits instead of a single, top one - fetch-depth: 0 - - name: Set up Python - uses: actions/setup-python@v5 - with: - python-version: "3.10" - - name: Install dependencies - run: | - python -m pip install --upgrade pip - pip install -r requirements.txt - - name: Generate files - run: python main.py - - name: Prepare deployment branch - run: | - git stash - git checkout gh-pages - git reset --hard origin/master - git stash pop - - name: Commit and push - uses: stefanzweifel/git-auto-commit-action@v7.1.0 - with: - commit_message: Update website - push_options: --force - branch: gh-pages diff --git a/.gitignore b/.gitignore deleted file mode 100644 index f5855d3..0000000 --- a/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -env -__pycache__ -.env \ No newline at end of file diff --git a/README.md b/README.md deleted file mode 100644 index fe4b2e2..0000000 --- a/README.md +++ /dev/null @@ -1,64 +0,0 @@ -# HS3 Baza zasobów Dashboard - -Skrypt, który generuje podsumowanie [Bazy Wiedzy zasobów Hackerspace Trójmiasto](https://kb.hs3.pl/docs) w formie statycznej strony internetowej. - -## Uruchomienie połączenia z drukarką etykiet - -Potrzebne, by działał przycisk w kolumnie `print`. Po kliknięciu, nastąpi próba połączenia się z drukarką Brother PT-E550W, pod adresem IP zdefiniowanym w `PRINTER_IT`, w celu wydruku naklejki z kodem QR. - -```bash -uv venv --python 3.11 -source .venv.bin/activate -uv sync -fastapi dev --port 31337 labeler/adapter/fastapi_srv.py -export PRINTER_IT=192.168.0.147 -``` - -W razie problemów, spróbuj alternatywnych komend: -```bash -source .venv/Scripts/activate -uv run -- fastapi dev --port 31337 labeler/adapter/fastapi_srv.py -``` - -## Sposób działania - -1. Baza Wiedzy znajduje się na Discourse Hackerspace Trójmiasto i jest dostępna publicznie. Projekt wykorzystuje Discourse REST API do pobrania listy zasobów. -1. Lista zasobów zapisana jest w pliku csv `zasoby.csv`. -1. Skrypt tworzy statyczną stronę internetową na podstawie pliku `.csv`. -1. Strona jest hostowana przy pomocy GitHub Pages. - -## Możliwości generatora bazy zasobów csv - -- pobieranie listy wszystkich zasobów z wybranej kategorii -- pobieranie ID, tagów i treści posta każdego zasobu -- wyłuskanie z treści posta informacji: - - nazwa przedmiotu - - miejsce zamieszkania - - ilość - - opiekunowie -- oto jak powinien wyglądać ostateczny wpis: - -``` -ID, nazwa, miejsce, ilość, opiekunowie, tagi -``` - -## Automatyczna aktualizacja - -Żeby działały automatyczne aktualizacje przy użyciu GitHub Actions należy w sekretach dodać sekret o nazwie `PAT` którego wartością jest Personal Access Token z uprawnieniami do modyfikowania repozytorium. - -## Możliwości dashboard'u - -- filtrowanie bazy zasobów po tagach -- sortowanie alfabetyczne bazy zasobów po dowolnej kolumnie -- linki do zasobu na Discourse w ID zasobu -- łatwa zmiana ilości kolumn dashboardu - -## Co chcę dodać w przyszłości - -- wizualizacja statystyk z bazy zasobów -- generowanie drugiego pliku csv służącego do wygenerowania naklejek z kodem QR - -## Dokumentacja - -- [Discourse REST API](https://docs.discourse.org/) -- [hbrylkowski/labeling_bot](https://github.com/hbrylkowski/labeling_bot) diff --git a/fegen/discourse.py b/fegen/discourse.py index cf42b56..216c11f 100644 --- a/fegen/discourse.py +++ b/fegen/discourse.py @@ -9,13 +9,6 @@ from dotenv import load_dotenv DISCOURSE_URL = "https://kb.hs3.pl" # Database is hosted here CATEGORY_ID = 9 # Database category ID -PLACES = [ - "cow-work", - "garage", - "lab", - "audiolab", - "server-room" -] class DiscourseDatabase(): def __init__(self): @@ -76,7 +69,8 @@ class DiscourseDatabase(): def get_place(self, topic): """Get place of a topic""" - for place in PLACES: + places = ["cow-work", "garage", "lab"] + for place in places: if place in topic["tags"]: return f'{place}' return "unknown" diff --git a/fegen/docs/index.html b/fegen/docs/index.html index 59ee207..dd1f24f 100644 --- a/fegen/docs/index.html +++ b/fegen/docs/index.html @@ -83,742 +83,6 @@ - - - 747 - - Gra handheld "Crazy Brick" - - cow-work - - ['cow-work', 'video-game'] - - - - - - - - - - 745 - - Statyw na aparat - - unknown - - [] - - - - - - - - - - 735 - - STD17NF03L - - unknown - - [] - - - - - - - - - - 734 - - Szuflada z procesorami STM32 - - lab - - ['lab'] - - - - - - - - - - 732 - - Eksplodujące pudełko HS3 - - cow-work - - ['cow-work', 'projects'] - - - - - - - - - - 731 - - STM32F723 - - unknown - - [] - - - - - - - - - - 730 - - NUCLEO G431RB - - unknown - - [] - - - - - - - - - - 729 - - Nucleo Expansion Board Led Driver - - unknown - - [] - - - - - - - - - - 728 - - Nucleo Expansion Board MultiSensor - - unknown - - [] - - - - - - - - - - 285 - - Konsola do gier Sony PlayStation 2 Slim + kontroler Namco GunCon - - cow-work - - ['cow-work'] - - - - - - - - - - 480 - - Gitara elektryczna Blond TE-1 MN BB - - audiolab - - ['audiolab'] - - - - - - - - - - 481 - - Gitara elektryczna Blond STR-1H MN SFG - - audiolab - - ['audiolab'] - - - - - - - - - - 479 - - Guitalele Ever Play GT-WBK - - audiolab - - ['audiolab'] - - - - - - - - - - 456 - - Wzmacniacz gitarowy Roland Micro Cube - - audiolab - - ['audiolab'] - - - - - - - - - - 530 - - Discman SONY - - audiolab - - ['audiolab'] - - - - - - - - - - 531 - - Streamer LTO-4 HP M8609A - - server-room - - ['server-room'] - - - - - - - - - - 376 - - Drukarka 3D HEVO (Hypercube Evolution - - lab - - ['lab', '3d-print'] - - - - - - - - - - 699 - - Gra Blood Bowl z przyległościami - - cow-work - - ['cow-work', 'audiolab', 'boardgame', 'sticker-needed'] - - - - - - - - - - 720 - - Płytki ewaluacyjne STEVAL-VP318L1F +? - - lab - - ['lab'] - - - - - - - - - - 702 - - Wózek na tacki projektowe - - lab - - ['lab'] - - - - - - - - - - 719 - - Pudełko projektowe "Fala za Falą" - - lab - - ['lab', 'sticker-needed'] - - - - - - - - - - 703 - - Tacki projektowe - - lab - - ['lab', 'sticker-needed'] - - - - - - - - - - 414 - - Tester kabli RJ45, RJ11/12, BNC Lanberg - - lab - - ['lab'] - - - - - - - - - - 718 - - Zestaw nitonakrętek alu+stal G02910 - - lab - - ['lab'] - - - - - - - - - - 717 - - Gniazdo DC 5,5/2,5mm do druku - poziome - - lab - - ['lab', 'electronics'] - - - - - - - - - - 716 - - Konektor FPC 8-pin - - lab - - ['lab', 'electronics'] - - - - - - - - - - 715 - - Przełącznik DIP switch 2 tory - - lab - - ['lab', 'electronics'] - - - - - - - - - - 714 - - Przełącznik DIP switch 4 tory - - lab - - ['lab', 'electronics'] - - - - - - - - - - 713 - - Diody LED czerwone, błękitne - - lab - - ['lab', 'electronics'] - - - - - - - - - - 712 - - Złącze śrubowe ARK 3-pinowe - - lab - - ['lab', 'electronics'] - - - - - - - - - - 711 - - Złącze śrubowe ARK 2-pinowe - - lab - - ['lab', 'electronics'] - - - - - - - - - - 710 - - Złącze śrubowe ARK 4-pinowe - - lab - - ['lab', 'electronics'] - - - - - - - - - - 709 - - ESP-32 - - lab - - ['lab', 'electronics'] - - - - - - - - - - 708 - - Origami LED Matrix - - server-room - - ['projects', 'server-room'] - - - - - - - - - - 704 - - Tranzystor PNP bipolarny 50V - - lab - - ['lab', 'electronics'] - - - - - - - - - - 705 - - Tranzystor NPN bipolarny 45V - - lab - - ['lab', 'electronics'] - - - - - - - - - - 707 - - Przycisk monostabilny - tact switch - - lab - - ['lab', 'electronics'] - - - - - - - - - - 706 - - Tranzystor T482 BVBR11 - - lab - - ['lab', 'electronics'] - - - - - - - - - - 561 - - Antena Dipol na 30m - - lab - - ['lab'] - - - - - - - - - - 701 - - Celestia - edukacyjna ściana nocnego nieba - - server-room - - ['projects', 'server-room'] - - - - - - - - - - 538 - - Interfejs audio Line6 GX - - audiolab - - ['audiolab'] - - - - - - - - - - 388 - - Zasilacz 16A, 12V dc - - lab - - ['lab'] - - - - - - - - - - 700 - - Drukarka 3D Creality Ender do samodzielnego złożenia - - lab - - ['lab', 'sticker-needed'] - - - - - - - - - - 377 - - Drukarka 3D “Elegoo Neptune 4 Pro” - - lab - - ['lab', '3d-print'] - - - - - - - - - - 514 - - Pistolet do kleju na gorąco - - lab - - ['lab'] - - - - - - - - - - 698 - - Disco betoniarka - - garage - - ['garage', 'projects', 'sticker-needed'] - - - - - - - 179 @@ -835,6 +99,22 @@ + + + 561 + + Antena Dipol na 30m + + lab + + ['lab', 'sticker-needed'] + + + + + + + 585 @@ -1251,6 +531,22 @@ + + + 514 + + Pistolet do kleju na gorąco + + lab + + ['lab'] + + + + + + + 560 @@ -1315,13 +611,61 @@ + + + 531 + + Streamer LTO-4 HP M8609A + + unknown + + ['server-room'] + + + + + + + + + + 285 + + Konsola do gier Sony PlayStation 2 Slim + kontroler Namco GunCon + + cow-work + + ['cow-work'] + + + + + + + + + + 456 + + Wzmacniacz gitarowy Roland Micro Cube + + unknown + + ['audiolab'] + + + + + + + 478 Gitara basowa Squier Precision Bass - audiolab + unknown ['audiolab'] @@ -1331,6 +675,54 @@ + + + 479 + + Guitalele Ever Play GT-WBK + + unknown + + ['audiolab'] + + + + + + + + + + 481 + + Gitara elektryczna Blond STR-1H MN SFG + + unknown + + ['audiolab'] + + + + + + + + + + 480 + + Gitara elektryczna Blond TE-1 MN BB + + unknown + + ['audiolab'] + + + + + + + 533 @@ -1459,6 +851,22 @@ + + + 538 + + Interfejs audio Line6 GX + + unknown + + ['audiolab', 'sticker-needed'] + + + + + + + 537 @@ -1507,6 +915,22 @@ + + + 377 + + Drukarka 3D “Elegoo Neptune 4 Pro” + + lab + + ['lab', '3d-print'] + + + + + + + 92 @@ -1523,6 +947,22 @@ + + + 530 + + Discman SONY + + unknown + + ['audiolab'] + + + + + + + 454 @@ -1561,7 +1001,7 @@ Wieża TECHNICS EH550 - kolumny głośnikowe - audiolab + unknown ['audiolab'] @@ -1593,7 +1033,7 @@ Magnetofon kasetowy Technics RS-B765 - audiolab + unknown ['audiolab'] @@ -1737,7 +1177,7 @@ Radio samochodowe Alpine - audiolab + unknown ['audiolab'] @@ -1801,7 +1241,7 @@ Radiomagnetofon przenośny Panasonic RQ-V77 - audiolab + unknown ['audiolab'] @@ -1897,7 +1337,7 @@ Quad Power Supply Cobrabid KB-60-01 - audiolab + unknown ['audiolab'] @@ -1913,7 +1353,7 @@ Lenco PA-45 Portable Sound System with Bluetooth - audiolab + unknown ['audiolab'] @@ -1929,7 +1369,7 @@ Głośnik gitarowy DIY - audiolab + unknown ['audiolab'] @@ -2057,7 +1497,7 @@ Switch Planet FSD-803 - audiolab + unknown ['audiolab'] @@ -2073,7 +1513,7 @@ Switch ES-3208P - audiolab + unknown ['audiolab'] @@ -2089,7 +1529,7 @@ Access Point TP-Link - audiolab + unknown ['audiolab'] @@ -2105,7 +1545,7 @@ Mikrofon T-Bone SC-300 - audiolab + unknown ['audiolab'] @@ -2121,7 +1561,7 @@ Uchwyty biurkowe do mikrofonu/kamery - audiolab + unknown ['audiolab'] @@ -2137,7 +1577,7 @@ Bongosy - audiolab + unknown ['audiolab'] @@ -2153,7 +1593,7 @@ Dalekopis Lorenz LO133 Automatik - audiolab + unknown ['audiolab'] @@ -2185,7 +1625,7 @@ Soundbar Dell AX510 - audiolab + unknown ['audiolab'] @@ -2201,7 +1641,7 @@ Głośniki komputerowe Creative Inspire T3100 - audiolab + unknown ['audiolab'] @@ -2233,7 +1673,7 @@ Pegasus & Co - audiolab + unknown ['audiolab'] @@ -2329,7 +1769,7 @@ Aparat fotograficzny Agat 18K - audiolab + unknown ['audiolab'] @@ -2345,7 +1785,7 @@ Aparat fotograficzny Nikon Coolpix L26 - audiolab + unknown ['audiolab'] @@ -2361,7 +1801,7 @@ Aparat fotograficzny Hitachi HDC-761E - audiolab + unknown ['audiolab'] @@ -2377,7 +1817,7 @@ Aparat fotograficzny Konica Minolta - audiolab + unknown ['audiolab'] @@ -2393,7 +1833,7 @@ Odtwarzacz przenośny Philips - audiolab + unknown ['audiolab'] @@ -2409,7 +1849,7 @@ Komputer AiO POS CHD8700 - audiolab + unknown ['audiolab'] @@ -2425,7 +1865,7 @@ Tuner Technics ST-600L - audiolab + unknown ['audiolab'] @@ -2473,7 +1913,7 @@ Wzmacniacz gitarowy Peavey Rage 258 - audiolab + unknown ['audiolab'] @@ -2489,7 +1929,7 @@ Słuchawki Creative Aurvana Live! - audiolab + unknown ['audiolab'] @@ -2505,7 +1945,7 @@ Słuchawki Sennheiser HD25 - audiolab + unknown ['audiolab'] @@ -2521,7 +1961,7 @@ Mikrofon Grundig GDM 312 - audiolab + unknown ['audiolab'] @@ -2537,7 +1977,7 @@ Looper Ditto TC Electronic - audiolab + unknown ['audiolab'] @@ -2553,7 +1993,7 @@ Mikser Behringer MX400 Micromix - audiolab + unknown ['audiolab'] @@ -2569,7 +2009,7 @@ Korg Volca Keys - audiolab + unknown ['audiolab'] @@ -2585,7 +2025,7 @@ Korg Volca Sample - audiolab + unknown ['audiolab'] @@ -2601,7 +2041,7 @@ Korg Volca Mix - audiolab + unknown ['audiolab'] @@ -2617,7 +2057,7 @@ Korg Volca Bass - audiolab + unknown ['audiolab'] @@ -2633,7 +2073,7 @@ Korg Volca Modular - audiolab + unknown ['audiolab'] @@ -2649,7 +2089,7 @@ Yamaha DD-10 Drum Machine - audiolab + unknown ['audiolab'] @@ -2665,7 +2105,7 @@ Wzmacniacz zintegrowany Technics SU-810 - audiolab + unknown ['audiolab'] @@ -2681,7 +2121,7 @@ Mikrofon Rode NT1-A - audiolab + unknown ['audiolab'] @@ -2697,7 +2137,7 @@ Obudowa komputerowa Chieftec Tower of BBL (but SMOL) - audiolab + unknown ['audiolab'] @@ -2729,7 +2169,7 @@ Głośniki LG CMS4340F - audiolab + unknown ['audiolab'] @@ -2745,7 +2185,7 @@ Wzmacniacz DIY 12V DC - audiolab + unknown ['audiolab'] @@ -2761,7 +2201,7 @@ Obudowa komputerowa Chieftec Tower of BBL - audiolab + unknown ['audiolab'] @@ -2777,7 +2217,7 @@ Głośniki DIY d33p w00f - audiolab + unknown ['audiolab'] @@ -2793,7 +2233,7 @@ A8 Wireless Sound Transmitter/Receiver - audiolab + unknown ['audiolab'] @@ -2841,7 +2281,7 @@ Kable Audio Jack-Jack Mono - audiolab + unknown ['audiolab'] @@ -3001,7 +2441,7 @@ Głośniki Loewe L82 A - audiolab + unknown ['audiolab'] @@ -3017,7 +2457,7 @@ Komputer Sun Ultra 45 Workstation 500s XVR2500 ULTRAsparc IIIi - audiolab + unknown ['audiolab'] @@ -3369,7 +2809,7 @@ Głośniki Creative GigaWorks T20 MultiMedia Speaker 28W MF1545 - audiolab + unknown ['audiolab'] @@ -3459,13 +2899,29 @@ + + + 414 + + Tester kabli RJ45, RJ11/12, BNC Lanberg + + lab + + ['lab'] + + + + + + + 416 Switch zarządzalny MikroTik CRS309-1G-8S+IN 1x1GbE 8x10GbE SFP+ RS232 PoE - server-room + unknown ['server-room'] @@ -3923,6 +3379,22 @@ + + + 388 + + Zasilacz 16A, 12V dc + + lab + + ['lab'] + + + + + + + 387 @@ -4083,6 +3555,22 @@ + + + 376 + + Drukarka 3D HEVO (Hypercube Evolution + + lab + + ['lab'] + + + + + + + 372 @@ -7464,31 +6952,23 @@