# bibfetch Prosty skrypt do automatycznego pobierania plików PDF z bibliografii (`references.bib`). Obsługuje: * Bezpośrednie linki do PDF * ArXiv * DOI (z przekierowaniami) * IEEE Xplore (wyciąganie PDF z ramek/stron HTML) ## Wymagania Zainstaluj potrzebne biblioteki jedną komendą (wymagana starsza wersja bibtexparser): ```bash pip install "bibtexparser<2.0" requests beautifulsoup4 ``` ## Użycie Wejdź do katalogu ze swoją pracą (tam gdzie masz `references.bib`) i uruchom skrypt: ```bash python3 bibfetch.py . ``` Skrypt utworzy folder `references/` i pobierze tam brakujące pliki, nazywając je zgodnie z kluczem cytowania (np. `Kowalski2023.pdf`). --- ## Instalacja globalna (Opcjonalnie) Wybierz jedną z dwóch metod, aby używać komendy `bibfetch` w całym systemie. ### Opcja A: Szybka (Symlink) *Dobra, jeśli masz biblioteki zainstalowane w głównym Pythonie systemowym.* 1. Nadaj uprawnienia: `chmod +x bibfetch.py` 2. Zrób link (zastąp ścieżkę swoją): ```bash sudo ln -s /pełna/ścieżka/do/bibfetch.py /usr/local/bin/bibfetch ``` 3. Gotowe. Użycie: `bibfetch .` ### Opcja B: Bezpieczna (Dedykowany Venv) *Dobra, jeśli chcesz trzymać biblioteki w izolacji.* **Krok 1: Stwórz środowisko** ```bash # Tworzymy venv mkdir -p ~/venvs python3 -m venv ~/venvs/bibfetch # Instalujemy zależności (wersja <2.0 jest kluczowa!) ~/venvs/bibfetch/bin/pip install "bibtexparser<2.0" requests beautifulsoup4 ``` **Krok 2: Utwórz wrapper** Zamiast linkować plik bezpośrednio, tworzymy skrypt pomocniczy. 1. Edytuj plik: `sudo nano /usr/local/bin/bibfetch` 2. Wklej poniższą treść (**podmień ścieżki na swoje!**): ```bash #!/usr/bin/env bash set -euo pipefail # Ścieżki (dostosuj do siebie) VENV_PYTHON="$HOME/venvs/bibfetch/bin/python" SCRIPT_PATH="$HOME/projekty/scripts/bibfetch.py" exec "$VENV_PYTHON" "$SCRIPT_PATH" "$@" ``` **Krok 3: Nadaj uprawnienia** ```bash sudo chmod +x /usr/local/bin/bibfetch ``` Teraz możesz wpisać `bibfetch .` w dowolnym katalogu. ## Licencja MIT