Filtr krátkých geocaching logů

Pokud hrajete geocaching a založili jste několik kešek, pravděpodobně jste již někdy dostali log, který vás tak úplně nezajímal. Myslím tím krátké vzkazy jako: „TFTC“, „Díky za cache“, „Díky“, případně jen smajlík. Když nějakou dobu logy nečtete, máte najednou plnou schránku a stojíte před rozhodnutím, jestli logy číst, mazat nebo nějak roztřídit. Vytvořil jsem krátký script, který logům kratším než 40 znaků přiřadil štítek. Mohl jsem tak roztřídit co číst a co vyhodit. Pokud používáte Gmail, můžete automatický filtr také vyzkoušet.

Skript nerozlišuje odesilatele, protože mám speciální gmail adresu jen pro geocaching. Pokud vám do gmailu chodí i další zprávy, může se stát, že budou označeny tímto štítkem

Postup

  1. Spusťte Google Disk a vytvořte nový soubor Google Apps Script. Soubor jsem si pojmenoval „gmail filtr“.
Vytvořte Google Apps Script
  1. Do vytvořeného souboru překopírujte následující kód. Nebo si kód zkopírujte z repozitáře na GitHub.
// Jméno štítku, kterým budou označeny nevyřešené emaily
var SHORT_LOG_LABEL_NAME = 'TFTC'; 

// Funkce vytvoří nový štítek, pokud ještě neexistuje
function getShortLogLabel() {
  var label = GmailApp.getUserLabelByName(SHORT_LOG_LABEL_NAME);
  
  if (label == null)
     label = GmailApp.createLabel(SHORT_LOG_LABEL_NAME);
  
  return label;
}

// Odebere štítek všem e-mailům 
function removeShortLogLabels() {
  var label = getShortLogLabel();
  var threads = GmailApp.search('label:' + SHORT_LOG_LABEL_NAME);
  
  for (var i = 0; i < threads.length; i++)
      label.removeFromThread(threads[i]);
}

// Přidá štítek k nejnovějším 200 e-mailům, které vyhovují regulárnímu výrazu 
function addShortLogLabel() {
  var label = getShortLogLabel();
  
  // čísla 0, 200 určují začátek a konec vyhledávání. Maximum je 500
  var threads = GmailApp.getInboxThreads(0, 200);

  // Projde všechny e-maily v rozsahu
  for (var i = 0; i < threads.length; i++) {
    var tmp,
      message = threads[i].getMessages()[0],
      content = message.getPlainBody();

    // Zkontroluje, jestli obsah e-mailu odpovídá zadanému pravidlu
    if (content) {
      
      // Regulární výraz - číslice 40 určuje délku logu, kratší logy než 40 znaků jsou označeny štítkem
      tmp = content.match(/(:\*)\s{1,}.{1,40}\s{1,}(This)/);

      Logger.log(tmp);
      
      // Pokud odpovídá pravidlu, přidá štítek
      if (tmp)
        label.addToThread(threads[i]);
      }  // Konec podmínky
    }  // Konec cyklu
  }

Kód obsahuje následující funkce:

  • getShortLogLabel – vytvoří v Gmailu štítek pojmenovaný „TFTC“, tímto štítkem budou označovány všechny krátké e-maily.
  • removeShortLogLabels – odebere všechny TFTC štítky. Používal jsem při testování podmínek.
  • addShortLogLabel – kontroluje e-maily a přidává TFTC štítek. Tato funkce bude spouštěna automaticky.
  1. Klikněte na „Spouštěče aktuálního projektu“ (tlačítko s hodinami) a nastavte spouštění funkce addShortLogLabel. 
Nastavení automatického spouštění funkce
  1. Google vás upozorní, že zadaný script není autorizovaný a že mu musíte povolit přístup do aplikace Gmail.
  1. Klikněte na rozšířené možnosti a přejděte na nastavení nově vytvořené aplikace.
Klikněte na rozšířené možnosti
  1. Zkontrolujte, pro kterou aplikaci povolujte jaká oprávnění. A klikněte na povolit.
  1. Po té, co vytvořenému scriptu přidělíte oprávnění přístupu k vašemu Gmail účtu, spusťte funkci getShortLogLabel, která vytvoří štítek „TFTC“, případně si na druhém řádku kódu pojmenujte štítek tak, jak vám vyhovuje.
Spuštění funkce pro vytvoření štítku
  1. Přepněte se do Gmailu a v nastavení štítku zvolte barvu štítku, jaká vám vyhovuje
Změna barvy štítku v Gmailu
  1. Pokud chcete funkčnost celého scriptu otestovat hned, v editoru scriptu spusťte ručně funkci addShortLogLabel.
  2. Pokud budete v budoucnu chtít tomuto scriptu odebrat přístup k vašemu Gmail účtu, můžete tak učinit v nastavení Google účtu. Doporučuji zde rovnou zkontrolovat, kterým aplikacím jste již přístup udělili. Nepoužívaným aplikacím přístup odeberte. Stejně tak zkontrolujte, na které web se přihlašujete pomocí google účtu.
Aplikace s přístupem k Google účtu

Arduino

Máte doma geeka, který se zajímá o elektroniku a programování? Zkuste mu nahlédnout do toho nepořádku, co má na pracovním stole a podívejte se, jestli tam má Arduino. Našli jste? Ať už je vaše odpověď ano, či ne, určitě bude dobrý nápad mu jedno koupit. Buď už bude vědět, co s ním dělat nebo se to teprve naučí.

Cenové rozpětí: 100,- až 250,- Kč za moduly koupené na eBay nebo 150,- až 500,- Kč za moduly koupené bez čekání na českých e-shopech. Od 1000,- do 3000,- za stavebnice nebo sety.

Vhodné pro: nadšenci do elektroniky a programování

Co je Arduino?

Adruino je základ obrovské elektronické stavebnice. Připojují se k němu vstupy, které sledují dění v okolí. A také výstupy, kterými můžete okolí měnit. Může tedy sledovat okolní teplotu, intenzitu osvětlení, měřit vzdálenost nebo poslouchat okolní hluk, ale také připojit kameru či bluetooth, zaznamenávat GPS pozici, měřit zrychlení a snímat spoustu dalších věcí. Na základě těchto zjištěných údajů lze ovládat motory, světla a spínače nebo zjištěné informace ukládat do internetu.

Proč geekovi koupit Arduino?

Pokračování textu Arduino