Initial commit: bibfetch v1.0

This commit is contained in:
David Ali
2026-01-17 02:38:39 +01:00
commit 32c0037434
3 changed files with 307 additions and 0 deletions

92
README.md Normal file
View File

@@ -0,0 +1,92 @@
# 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