Prosíme přihlašte se nebo zaregistrujte.

Přihlašte se svým uživatelským jménem a heslem.
Vaše pomoc je stále potřeba!

Autor Téma: Recoll neindexuje python3 skripty - oprava.  (Přečteno 5101 krát)

juwa2

  • Závislák
  • ***
  • Příspěvků: 4949
Recoll neindexuje python3 skripty - oprava.
« kdy: 27 Února 2023, 09:23:57 »
Pokud mám v nějaké složce mnoho skriptů (libovolných), k jejich prohledávání (např. hledám nějaký výraz který potřebuji upravit a nevím přesně ve kterém skriptu je) používám Recoll.
Nyní ale mám jednu python aplikaci tvořenou cca stovkou python3 skriptů ale Recoll je neindexuje/nevidí. A prohledávat to po jednom ručně se mi tedy opravdu nechce... :-[

Zjistil jsem, že Recoll vidí/indexuje python skripty buď s koncovkou .py nebo shebangem 
Kód: [Vybrat]
#!/usr/bin/pythonJejich mimetyp je text/x-python

Zatímco ty moje skripty jsou bez přípony a mají shebang
Kód: [Vybrat]
#!/usr/bin/python3     nebo     #!/usr/bin/python3.8 Jejich mimetyp je text/x-python3   který ale Recoll "nezná" a proto soubory ignoruje.

Po bližším prozkoumání souborů ve sl.  /usr/share/recoll/examples  jsem našel řešení:  Do souboru
Kód: [Vybrat]
~/.recoll/mimeconfpřidat řádky
Kód: [Vybrat]
[index]
text/x-python3 = execm rclpython.py

[icons]
text/x-python3 = text-x-python

Nakonec Recoll restartovat a obnovit rejstřík. Možná bude třeba sestavit rejstřík znovu (Soubor > Sestavit rejstřík znovu).
Od teď už bude Recoll python3 skripty "znát" a indexovat.  :)
Přidávat řádky do hlavní konfigurace v /usr/share/recoll/examples/mimeconf vhodné není - po každé aktualizaci aplikace by se to totiž muselo dělat znovu.
« Poslední změna: 27 Února 2023, 09:38:39 od juwa2 »

ramael

  • Stálý člen
  • **
  • Příspěvků: 647
Re:Recoll neindexuje python3 skripty - oprava.
« Odpověď #1 kdy: 27 Února 2023, 20:50:47 »
Jsem nevěděl, že něco takového existuje. Já osobně používám jednoduchou funkci přiincludovanou k .bashrc:
Kód: [Vybrat]
najdi() {                                                                                                       
        local adresa=$1                                                                                         
        shift 1                                                                                                 
        find $adresa -type f | xargs grep -Hs  "$@"                                                             
        unset adresa                                                                                             
}
Použití:
najdi složka výraz
Výstup:
relativní adresa souboru:nalezený řádek
Příklady:
Kód: [Vybrat]
radek@Arch-ThinkPad bashe]$ najdi . Erika
./cs_CZ.txt:# 0204=Erika
[radek@Arch-ThinkPad bashe]$ najdi . "na cosi"
./hodnoty:buk="kuk na cosi"
[radek@Arch-ThinkPad bashe]$ najdi . "kuk na"
./hodnoty:ahoj="kuk na strejdu"
./hodnoty:buk="kuk na cosi"
kde tečka znamená aktuální složku.
Lenovo: ThinkPad X380 Yoga
Joutůůůůb

 

Provoz zaštiťuje spolek OpenAlt.