2.0 KiB
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):
pip install "bibtexparser<2.0" requests beautifulsoup4
Użycie
Wejdź do katalogu ze swoją pracą (tam gdzie masz references.bib) i uruchom skrypt:
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.
- Nadaj uprawnienia:
chmod +x bibfetch.py - Zrób link (zastąp ścieżkę swoją):
sudo ln -s /pełna/ścieżka/do/bibfetch.py /usr/local/bin/bibfetch
- Gotowe. Użycie:
bibfetch .
Opcja B: Bezpieczna (Dedykowany Venv)
Dobra, jeśli chcesz trzymać biblioteki w izolacji.
Krok 1: Stwórz środowisko
# 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.
- Edytuj plik:
sudo nano /usr/local/bin/bibfetch - Wklej poniższą treść (podmień ścieżki na swoje!):
#!/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
sudo chmod +x /usr/local/bin/bibfetch
Teraz możesz wpisać bibfetch . w dowolnym katalogu.
Licencja
MIT