Přejít na obsah


Fotka

SmartFilter - alternativní výběr keší


  • Pokud chcete vložit odpověď, přihlašte se
52 odpovědí na toto téma

#41 HaLuMa

HaLuMa

    Autor Geogetu

  • Members
  • PipPipPip
  • 14 515 příspěvků(y)

Publikováno 10 leden 2011 - 17:23

unzlib(longdesc) REGEXP 'misto\s*(a|b)'

Domnivam se, pisu z hlavy.

P.S. smajliky se daji vypnout tim zaskrtavatkem "vypnout smajliky"
  • 0

#42 mpistora

mpistora

    Advanced Member

  • Members
  • PipPipPip
  • 246 příspěvků(y)

Publikováno 28 únor 2011 - 11:12

HaLuMa napsal/a:

unzlib(longdesc) REGEXP 'misto\s*(a|b)'

Domnivam se, pisu z hlavy.

P.S. smajliky se daji vypnout tim zaskrtavatkem "vypnout smajliky"


OT:
Jen ke smajlíkům - spíše by bylo lepší, kdyby někdo opravil chování bloku [code] v tomto fóru, aby se v něm smajlíci nezobrazovaly.
Vypnout to sice jde, ale na celý příspěvek a navíc se to nepřenese do citace.
Navíc to [code] je zbytečně dlouhé (2 řádky navíc) a někdy zase zbytečně úzké.
  • 0

#43 TimesNewYourk

TimesNewYourk

    Advanced Member

  • Members
  • PipPipPip
  • 80 příspěvků(y)

Publikováno 20 září 2011 - 16:06

problém: se smartfiltrem chci nají a ono to vyhodí chybu v plugin start: Index mimo hranice (-1) chyba se projeví během Okna "Geoget" pracuje" - ..vyhledávání stane se také, že, do seznamu už se některé cache dostanou chyba se vysyktuje jen když mám keš+wp's
  • 0

#44 bluetracer

bluetracer

    Advanced Member

  • Members
  • PipPipPip
  • 300 příspěvků(y)

Publikováno 25 prosinec 2012 - 11:57

Podělím se o SQL dotaz pro SmartFilter pro příznivce archecachingu.

SELECT a.id FROM geolog a, geolog b 
WHERE a.finder = 'bluetracer' 
AND a.type = 'Found it' 
AND b.type = 'Archive' 
AND a.dt > b.dt 
AND a.id = b.id 
EXCEPT SELECT a.id FROM geolog a, geolog b 
WHERE a.finder = 'bluetracer' 
AND a.type = 'Found it' 
AND b.type = 'Unarchive' 
AND a.dt > b.dt 
AND a.id = b.id

Tento kód si uložíte do souboru (datová složky GeoGetu)/script/SmartFilter/Archeo.sql
Spouští se přes Pluginy > SmartFilter, v levém dolním rohu je nabídka Vlastní SQL, kde si vyberete Archeo a kliknete na Načíst. Výsledkem jsou keše, které jste našli až po jejich archivaci, tedy pokud si text 'bluetracer' nahradíte na dvou místech vlastním nickem. Umí si poradit i s případy, kdy keš byla nejdřív archivovaná, potom odarchivovaná a teprve pak jste ji našli - takové do výsledku nezahrne. Naopak zahrne ty keše, které byly nalezené po archivaci a zároveň před odarchivací, protože to byly v době nálezu poctivé archeokeše.
Předpokladem pro správnou funkci je dostatečná historie logů u keše obsahující alespoň váš Found it log a pak logy Archive a případně Unarchive. Tu si nejlépe zajistíte následujícím postupem:
1. vyfiltrujete si vlastní nálezy a k nim si přes GC Live zaktualizujete stav
2. vyfiltrujete si keše, které jste nalezli a zároveň jsou archivované
3. k těmto keším si přes GC Live stáhnete všechny logy
  • 0
Vložený obrázek

#45 gord

gord

    Advanced Member

  • Members
  • PipPipPip
  • 10 110 příspěvků(y)

Publikováno 25 prosinec 2012 - 21:12

Nechci se vnucovat, ale pokud ten nick nahradis textem '%GG_OWNER%' nebo '%GG_CACHER%', tak to bude fungovat v Combine vsem i bez zmeny nicku ;)
  • 0

MHD/PID vybranych mest CR jako POI (diskuse)
GeoGet:
- Combine - automatizace opakovanych cinnosti (diskuse, dávky)

Stator - statistiky y GeoGetu (diskuse)

- Spoiler - uložení spoilerů do GPS jako POI (diskuse)

- Náhrada GJ legálními postupy

 


#46 tarmara

tarmara

    Air-cooled

  • Members
  • PipPipPip
  • 972 příspěvků(y)

Publikováno 02 září 2014 - 13:14

Můžete prosím někdo vyzkoušet, jestli vám následující dotaz použitý ve SF vrátí pouze jednu keš??

SELECT ID 
  from geocache
ORDER BY  case when ID='GC1QRGN' then 1 else 100 end  

Mě to vrátí pouze tu jednu, která je uvedená v ORDER části a pak mi to spadne na chybu 

---------------------------
GeoGet
---------------------------
[Script Runtime Error]: SmartFilter.ggp.pas
Exception: Index seznamu je mimo hranice (-1)
Routine: PLUGINSTART
---------------------------
OK   
---------------------------

  • 0

#47 mpik

mpik

    Advanced Member

  • Members
  • PipPipPip
  • 8 789 příspěvků(y)

Publikováno 02 září 2014 - 14:27

Už jsem chtěl reagovat na nesmyslnost aktualizovat nalezené (pro potřeby archeocachingu), ale všiml jsem si, že to je 2,5 roku starý příspěvek.


  • 0

#48 dejwy

dejwy

    dejwy

  • Members
  • PipPipPip
  • 1 215 příspěvků(y)

Publikováno 02 září 2014 - 14:41

 

Můžete prosím někdo vyzkoušet, jestli vám následující dotaz použitý ve SF vrátí pouze jednu keš??

SELECT ID 
  from geocache
ORDER BY  case when ID='GC1QRGN' then 1 else 100 end  

Mě to vrátí pouze tu jednu, která je uvedená v ORDER části a pak mi to spadne na chybu 

---------------------------
GeoGet
---------------------------
[Script Runtime Error]: SmartFilter.ggp.pas
Exception: Index seznamu je mimo hranice (-1)
Routine: PLUGINSTART
---------------------------
OK   
---------------------------

Mě to zobrazí úplně všechny keše v databázi (bez pádu a bez chyby).


  • 0

#49 tarmara

tarmara

    Air-cooled

  • Members
  • PipPipPip
  • 972 příspěvků(y)

Publikováno 02 září 2014 - 14:58

Mě to zobrazí úplně všechny keše v databázi (bez pádu a bez chyby).

Hm, ja uz asi vim...ja si rucne pridaval waypointy (co jsou v listingu ale ne ve waypointech)...zkusim je promazat, diky Davide....


  • 0

#50 ToRo61

ToRo61

    Advanced Member

  • Members
  • PipPipPip
  • 505 příspěvků(y)

Publikováno 27 listopad 2019 - 18:06

Měl bych dotaz k použití REGEXP...

V databázi mám obecné body a u některých z nich se vyskytují řetězce typu BI_11 nebo BI_13.

Když dám prohledat databázi a dám hledat např. BI_11, tak se bod najde.

Pomocí tohoto:

SELECT ID   from geocache  WHERE unzlib(longdesc) REGEXP '(BI_11|BI_13)'

se nenajde nic. Poradil by mě někdo zde s tím SQL?


  • 0

#51 gord

gord

    Advanced Member

  • Members
  • PipPipPip
  • 10 110 příspěvků(y)

Publikováno 28 listopad 2019 - 6:29

Regularni vyrazy myslim standardne nejsou soucasti SQLite a je treba doinstalovat pcre.

 

Ted jsem zkusil v SQL konzoli regex pouzit a hlasi to neznamy prikaz REGEX, takze v GG databazi ten modul neni.

 

EDIT: vlastne jsem neodpovedel na otazku :-) Takze bych pouzil neco takoveho:

SELECT id FROM geocache  WHERE unzlib(longdesc) LIKE '%BI_11%' OR unzlib(longdesc) LIKE '%BI_13%'

Lepsi by bylo, kdyby stacilo '%BI_1%' a na to zas nepotrebujes SmartFilter, to udelas primo pres CTRL+F.


Tento příspěvek byl upraven od gord: 28 listopad 2019 - 6:38

  • 1

MHD/PID vybranych mest CR jako POI (diskuse)
GeoGet:
- Combine - automatizace opakovanych cinnosti (diskuse, dávky)

Stator - statistiky y GeoGetu (diskuse)

- Spoiler - uložení spoilerů do GPS jako POI (diskuse)

- Náhrada GJ legálními postupy

 


#52 HaLuMa

HaLuMa

    Autor Geogetu

  • Members
  • PipPipPip
  • 14 515 příspěvků(y)

Publikováno 28 listopad 2019 - 7:26

Regex funguje jen v geogetu, kde tomu podstrkavam regex engine. Proto to ta konzole nezná. Ale proč to nefungovalo, nevim, nezkoušel jsem to. Možná Tarmara?
  • 0

#53 tarmara

tarmara

    Air-cooled

  • Members
  • PipPipPip
  • 972 příspěvků(y)

Publikováno 28 listopad 2019 - 14:53

V databázi mám obecné body a u některých z nich se vyskytují řetězce typu BI_11 nebo BI_13.

Když dám prohledat databázi a dám hledat např. BI_11, tak se bod najde.

 

S regexp jsem v SQLite nikdy nepracoval, ale pro sichr: kde se vyskytují ty zmíněné řetězce? V listingu? A co přesně znamená "dám prohledat databázi a dám hledat např. BI_11"?

 

Možná Tarmara?

Ten sice má za sebou školení na regulární výrazy, ale osobně by na to šel cestou naznačenou Gordem - tzv. vyořené lajky


  • 0




0 uživatel(ů) prochází toto téma

0 uživatelů, 0 návštěvníků 0 anonymních uživatelů

Reklama