EightEFI

Untitled

Oct 21st, 2025
1,362
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
YAML 19.63 KB | Source Code | 0 0
  1. tekstitv_401:
  2.   sensor:
  3.     - platform: rest
  4.       name: tekstitv_401_p1a
  5.       resource: https://yle.fi/tekstitv/txt/401_0001.htm
  6.       headers:
  7.         User-Agent: "Mozilla/5.0"
  8.         Accept-Language: "fi-FI, fi;q=0.9"
  9.       timeout: 20
  10.       scan_interval: 900
  11.       value_template: >-
  12.         {% set raw = value | default('', true) %}
  13.         {% set pre = raw | regex_findall_index('(?is)<pre[^>]*>(.*?)</pre>', 0) | default('', true) %}
  14.         {% set t = pre
  15.           | regex_replace('-\\s*\\n', '')
  16.           | regex_replace('&nbsp;', ' ')
  17.           | regex_replace('&auml;', 'ä') | regex_replace('&Auml;', 'Ä')
  18.           | regex_replace('&ouml;', 'ö') | regex_replace('&Ouml;', 'Ö')
  19.           | regex_replace('&aring;', 'å') | regex_replace('&Aring;', 'Å')
  20.           | regex_replace('&amp;', '&')
  21.           | regex_replace('\\r', '')
  22.           | regex_replace('[ \\t]+', ' ')
  23.           | regex_replace('\\n\\s*\\n', '\n')
  24.           | trim %}
  25.         {% set low = t | lower %}
  26.         {% set starts = [
  27.           'koillismaalla ja lapissa:', 'koillismaalla sekä lapissa:',
  28.           'lapissa:', 'lapissa',
  29.           'meri-lapissa:', 'meri-lapissa',
  30.           'merilapissa:', 'merilapissa',
  31.           'pohjoisessa:', 'pohjoisessa',
  32.           'maan pohjoisosassa:', 'maan pohjoisosassa'
  33.         ] %}
  34.         {% set s = -1 %}
  35.         {% for k in starts %}
  36.           {% set i = low.find(k) %}
  37.           {% if i != -1 and (s == -1 or i < s) %}
  38.             {% set s = i %}
  39.           {% endif %}
  40.         {% endfor %}
  41.         {% set e = low.find('liikennesää', s if s!=-1 else 0) %}
  42.         {% set picked = s!=-1 and e!=-1 and e>s and t[s:e] or s!=-1 and t[s:] or '' %}
  43.         {{ picked[:200] | trim }}
  44.  
  45.     - platform: rest
  46.       name: tekstitv_401_p1b
  47.       resource: https://yle.fi/tekstitv/txt/401_0001.htm
  48.       headers:
  49.         User-Agent: "Mozilla/5.0"
  50.         Accept-Language: "fi-FI, fi;q=0.9"
  51.       timeout: 20
  52.       scan_interval: 900
  53.       value_template: >-
  54.         {% set raw = value | default('', true) %}
  55.         {% set pre = raw | regex_findall_index('(?is)<pre[^>]*>(.*?)</pre>', 0) | default('', true) %}
  56.         {% set t = pre
  57.           | regex_replace('-\\s*\\n', '')
  58.           | regex_replace('&nbsp;', ' ')
  59.           | regex_replace('&auml;', 'ä') | regex_replace('&Auml;', 'Ä')
  60.           | regex_replace('&ouml;', 'ö') | regex_replace('&Ouml;', 'Ö')
  61.           | regex_replace('&aring;', 'å') | regex_replace('&Aring;', 'Å')
  62.           | regex_replace('&amp;', '&')
  63.           | regex_replace('\\r', '')
  64.           | regex_replace('[ \\t]+', ' ')
  65.           | regex_replace('\\n\\s*\\n', '\n')
  66.           | trim %}
  67.         {% set low = t | lower %}
  68.         {% set starts = [
  69.           'koillismaalla ja lapissa:', 'koillismaalla sekä lapissa:',
  70.           'lapissa:', 'lapissa',
  71.           'meri-lapissa:', 'meri-lapissa',
  72.           'merilapissa:', 'merilapissa',
  73.           'pohjoisessa:', 'pohjoisessa',
  74.           'maan pohjoisosassa:', 'maan pohjoisosassa'
  75.         ] %}
  76.         {% set s = -1 %}
  77.         {% for k in starts %}
  78.           {% set i = low.find(k) %}
  79.           {% if i != -1 and (s == -1 or i < s) %}
  80.             {% set s = i %}
  81.           {% endif %}
  82.         {% endfor %}
  83.         {% set e = low.find('liikennesää', s if s!=-1 else 0) %}
  84.         {% set picked = s!=-1 and e!=-1 and e>s and t[s:e] or s!=-1 and t[s:] or '' %}
  85.         {{ picked[200:400] | trim }}
  86.  
  87.     - platform: rest
  88.       name: tekstitv_401_p1c
  89.       resource: https://yle.fi/tekstitv/txt/401_0001.htm
  90.       headers:
  91.         User-Agent: "Mozilla/5.0"
  92.         Accept-Language: "fi-FI, fi;q=0.9"
  93.       timeout: 20
  94.       scan_interval: 900
  95.       value_template: >-
  96.         {% set raw = value | default('', true) %}
  97.         {% set pre = raw | regex_findall_index('(?is)<pre[^>]*>(.*?)</pre>', 0) | default('', true) %}
  98.         {% set t = pre
  99.           | regex_replace('-\\s*\\n', '')
  100.           | regex_replace('&nbsp;', ' ')
  101.           | regex_replace('&auml;', 'ä') | regex_replace('&Auml;', 'Ä')
  102.           | regex_replace('&ouml;', 'ö') | regex_replace('&Ouml;', 'Ö')
  103.           | regex_replace('&aring;', 'å') | regex_replace('&Aring;', 'Å')
  104.           | regex_replace('&amp;', '&')
  105.           | regex_replace('\\r', '')
  106.           | regex_replace('[ \\t]+', ' ')
  107.           | regex_replace('\\n\\s*\\n', '\n')
  108.           | trim %}
  109.         {% set low = t | lower %}
  110.         {% set starts = [
  111.           'koillismaalla ja lapissa:', 'koillismaalla sekä lapissa:',
  112.           'lapissa:', 'lapissa',
  113.           'meri-lapissa:', 'meri-lapissa',
  114.           'merilapissa:', 'merilapissa',
  115.           'pohjoisessa:', 'pohjoisessa',
  116.           'maan pohjoisosassa:', 'maan pohjoisosassa'
  117.         ] %}
  118.         {% set s = -1 %}
  119.         {% for k in starts %}
  120.           {% set i = low.find(k) %}
  121.           {% if i != -1 and (s == -1 or i < s) %}
  122.             {% set s = i %}
  123.           {% endif %}
  124.         {% endfor %}
  125.         {% set e = low.find('liikennesää', s if s!=-1 else 0) %}
  126.         {% set picked = s!=-1 and e!=-1 and e>s and t[s:e] or s!=-1 and t[s:] or '' %}
  127.         {{ picked[400:600] | trim }}
  128.  
  129.     - platform: rest
  130.       name: tekstitv_401_p2a
  131.       resource: https://yle.fi/tekstitv/txt/401_0002.htm
  132.       headers:
  133.         User-Agent: "Mozilla/5.0"
  134.         Accept-Language: "fi-FI, fi;q=0.9"
  135.       timeout: 20
  136.       scan_interval: 900
  137.       value_template: >-
  138.         {% set raw = value | default('', true) %}
  139.         {% set pre = raw | regex_findall_index('(?is)<pre[^>]*>(.*?)</pre>', 0) | default('', true) %}
  140.         {% set t = pre
  141.           | regex_replace('-\\s*\\n', '')
  142.           | regex_replace('&nbsp;', ' ')
  143.           | regex_replace('&auml;', 'ä') | regex_replace('&Auml;', 'Ä')
  144.           | regex_replace('&ouml;', 'ö') | regex_replace('&Ouml;', 'Ö')
  145.           | regex_replace('&aring;', 'å') | regex_replace('&Aring;', 'Å')
  146.           | regex_replace('&amp;', '&')
  147.           | regex_replace('\\r', '')
  148.           | regex_replace('[ \\t]+', ' ')
  149.           | regex_replace('\\n\\s*\\n', '\n')
  150.           | trim %}
  151.         {% set low = t | lower %}
  152.         {% set starts = [
  153.           'koillismaalla ja lapissa:', 'koillismaalla sekä lapissa:',
  154.           'lapissa:', 'lapissa',
  155.           'meri-lapissa:', 'meri-lapissa',
  156.           'merilapissa:', 'merilapissa',
  157.           'pohjoisessa:', 'pohjoisessa',
  158.           'maan pohjoisosassa:', 'maan pohjoisosassa'
  159.         ] %}
  160.         {% set s = -1 %}
  161.         {% for k in starts %}
  162.           {% set i = low.find(k) %}
  163.           {% if i != -1 and (s == -1 or i < s) %}
  164.             {% set s = i %}
  165.           {% endif %}
  166.         {% endfor %}
  167.         {% set e = low.find('liikennesää', 0) %}
  168.         {% set picked = s!=-1 and e!=-1 and e>s and t[s:e]
  169.                         or s!=-1 and t[s:]
  170.                         or e!=-1 and t[:e]
  171.                         or '' %}
  172.         {{ picked[:200] | trim }}
  173.  
  174.     - platform: rest
  175.       name: tekstitv_401_p2b
  176.       resource: https://yle.fi/tekstitv/txt/401_0002.htm
  177.       headers:
  178.         User-Agent: "Mozilla/5.0"
  179.         Accept-Language: "fi-FI, fi;q=0.9"
  180.       timeout: 20
  181.       scan_interval: 900
  182.       value_template: >-
  183.         {% set raw = value | default('', true) %}
  184.         {% set pre = raw | regex_findall_index('(?is)<pre[^>]*>(.*?)</pre>', 0) | default('', true) %}
  185.         {% set t = pre
  186.           | regex_replace('-\\s*\\n', '')
  187.           | regex_replace('&nbsp;', ' ')
  188.           | regex_replace('&auml;', 'ä') | regex_replace('&Auml;', 'Ä')
  189.           | regex_replace('&ouml;', 'ö') | regex_replace('&Ouml;', 'Ö')
  190.           | regex_replace('&aring;', 'å') | regex_replace('&Aring;', 'Å')
  191.           | regex_replace('&amp;', '&')
  192.           | regex_replace('\\r', '')
  193.           | regex_replace('[ \\t]+', ' ')
  194.           | regex_replace('\\n\\s*\\n', '\n')
  195.           | trim %}
  196.         {% set low = t | lower %}
  197.         {% set starts = [
  198.           'koillismaalla ja lapissa:', 'koillismaalla sekä lapissa:',
  199.           'lapissa:', 'lapissa',
  200.           'meri-lapissa:', 'meri-lapissa',
  201.           'merilapissa:', 'merilapissa',
  202.           'pohjoisessa:', 'pohjoisessa',
  203.           'maan pohjoisosassa:', 'maan pohjoisosassa'
  204.         ] %}
  205.         {% set s = -1 %}
  206.         {% for k in starts %}
  207.           {% set i = low.find(k) %}
  208.           {% if i != -1 and (s == -1 or i < s) %}
  209.             {% set s = i %}
  210.           {% endif %}
  211.         {% endfor %}
  212.         {% set e = low.find('liikennesää', 0) %}
  213.         {% set picked = s!=-1 and e!=-1 and e>s and t[s:e]
  214.                         or s!=-1 and t[s:]
  215.                         or e!=-1 and t[:e]
  216.                         or '' %}
  217.         {{ picked[200:400] | trim }}
  218.  
  219.     - platform: rest
  220.       name: tekstitv_401_p2c
  221.       resource: https://yle.fi/tekstitv/txt/401_0002.htm
  222.       headers:
  223.         User-Agent: "Mozilla/5.0"
  224.         Accept-Language: "fi-FI, fi;q=0.9"
  225.       timeout: 20
  226.       scan_interval: 900
  227.       value_template: >-
  228.         {% set raw = value | default('', true) %}
  229.         {% set pre = raw | regex_findall_index('(?is)<pre[^>]*>(.*?)</pre>', 0) | default('', true) %}
  230.         {% set t = pre
  231.           | regex_replace('-\\s*\\n', '')
  232.           | regex_replace('&nbsp;', ' ')
  233.           | regex_replace('&auml;', 'ä') | regex_replace('&Auml;', 'Ä')
  234.           | regex_replace('&ouml;', 'ö') | regex_replace('&Ouml;', 'Ö')
  235.           | regex_replace('&aring;', 'å') | regex_replace('&Aring;', 'Å')
  236.           | regex_replace('&amp;', '&')
  237.           | regex_replace('\\r', '')
  238.           | regex_replace('[ \\t]+', ' ')
  239.           | regex_replace('\\n\\s*\\n', '\n')
  240.           | trim %}
  241.         {% set low = t | lower %}
  242.         {% set starts = [
  243.           'koillismaalla ja lapissa:', 'koillismaalla sekä lapissa:',
  244.           'lapissa:', 'lapissa',
  245.           'meri-lapissa:', 'meri-lapissa',
  246.           'merilapissa:', 'merilapissa',
  247.           'pohjoisessa:', 'pohjoisessa',
  248.           'maan pohjoisosassa:', 'maan pohjoisosassa'
  249.         ] %}
  250.         {% set s = -1 %}
  251.         {% for k in starts %}
  252.           {% set i = low.find(k) %}
  253.           {% if i != -1 and (s == -1 or i < s) %}
  254.             {% set s = i %}
  255.           {% endif %}
  256.         {% endfor %}
  257.         {% set e = low.find('liikennesää', 0) %}
  258.         {% set picked = s!=-1 and e!=-1 and e>s and t[s:e]
  259.                         or s!=-1 and t[s:]
  260.                         or e!=-1 and t[:e]
  261.                         or '' %}
  262.         {{ picked[400:600] | trim }}
  263.  
  264.     - platform: rest
  265.       name: tekstitv_401_p3a
  266.       resource: https://yle.fi/tekstitv/txt/401_0003.htm
  267.       headers:
  268.         User-Agent: "Mozilla/5.0"
  269.         Accept-Language: "fi-FI, fi;q=0.9"
  270.       timeout: 20
  271.       scan_interval: 900
  272.       value_template: >-
  273.         {% set raw = value | default('', true) %}
  274.         {% set pre = raw | regex_findall_index('(?is)<pre[^>]*>(.*?)</pre>', 0) | default('', true) %}
  275.         {% set t = pre
  276.           | regex_replace('-\\s*\\n', '')
  277.           | regex_replace('&nbsp;', ' ')
  278.           | regex_replace('&auml;', 'ä') | regex_replace('&Auml;', 'Ä')
  279.           | regex_replace('&ouml;', 'ö') | regex_replace('&Ouml;', 'Ö')
  280.           | regex_replace('&aring;', 'å') | regex_replace('&Aring;', 'Å')
  281.           | regex_replace('&amp;', '&')
  282.           | regex_replace('\\r', '')
  283.           | regex_replace('[ \\t]+', ' ')
  284.           | regex_replace('\\n\\s*\\n', '\n')
  285.           | trim %}
  286.         {% set low = t | lower %}
  287.         {% set starts = [
  288.           'koillismaalla ja lapissa:', 'koillismaalla sekä lapissa:',
  289.           'lapissa:', 'lapissa',
  290.           'meri-lapissa:', 'meri-lapissa',
  291.           'merilapissa:', 'merilapissa',
  292.           'pohjoisessa:', 'pohjoisessa',
  293.           'maan pohjoisosassa:', 'maan pohjoisosassa'
  294.         ] %}
  295.         {% set s = -1 %}
  296.         {% for k in starts %}
  297.           {% set i = low.find(k) %}
  298.           {% if i != -1 and (s == -1 or i < s) %}
  299.             {% set s = i %}
  300.           {% endif %}
  301.         {% endfor %}
  302.         {% set e = low.find('liikennesää', 0) %}
  303.         {% set picked = s!=-1 and e!=-1 and e>s and t[s:e]
  304.                         or e!=-1 and t[:e]
  305.                         or '' %}
  306.         {{ picked[:200] | trim }}
  307.  
  308.     - platform: rest
  309.       name: tekstitv_401_p3b
  310.       resource: https://yle.fi/tekstitv/txt/401_0003.htm
  311.       headers:
  312.         User-Agent: "Mozilla/5.0"
  313.         Accept-Language: "fi-FI, fi;q=0.9"
  314.       timeout: 20
  315.       scan_interval: 900
  316.       value_template: >-
  317.         {% set raw = value | default('', true) %}
  318.         {% set pre = raw | regex_findall_index('(?is)<pre[^>]*>(.*?)</pre>', 0) | default('', true) %}
  319.         {% set t = pre
  320.           | regex_replace('-\\s*\\n', '')
  321.           | regex_replace('&nbsp;', ' ')
  322.           | regex_replace('&auml;', 'ä') | regex_replace('&Auml;', 'Ä')
  323.           | regex_replace('&ouml;', 'ö') | regex_replace('&Ouml;', 'Ö')
  324.           | regex_replace('&aring;', 'å') | regex_replace('&Aring;', 'Å')
  325.           | regex_replace('&amp;', '&')
  326.           | regex_replace('\\r', '')
  327.           | regex_replace('[ \\t]+', ' ')
  328.           | regex_replace('\\n\\s*\\n', '\n')
  329.           | trim %}
  330.         {% set low = t | lower %}
  331.         {% set starts = [
  332.           'koillismaalla ja lapissa:', 'koillismaalla sekä lapissa:',
  333.           'lapissa:', 'lapissa',
  334.           'meri-lapissa:', 'meri-lapissa',
  335.           'merilapissa:', 'merilapissa',
  336.           'pohjoisessa:', 'pohjoisessa',
  337.           'maan pohjoisosassa:', 'maan pohjoisosassa'
  338.         ] %}
  339.         {% set s = -1 %}
  340.         {% for k in starts %}
  341.           {% set i = low.find(k) %}
  342.           {% if i != -1 and (s == -1 or i < s) %}
  343.             {% set s = i %}
  344.           {% endif %}
  345.         {% endfor %}
  346.         {% set e = low.find('liikennesää', 0) %}
  347.         {% set picked = s!=-1 and e!=-1 and e>s and t[s:e]
  348.                         or e!=-1 and t[:e]
  349.                         or '' %}
  350.         {{ picked[200:400] | trim }}
  351.  
  352.     - platform: rest
  353.       name: tekstitv_401_p3c
  354.       resource: https://yle.fi/tekstitv/txt/401_0003.htm
  355.       headers:
  356.         User-Agent: "Mozilla/5.0"
  357.         Accept-Language: "fi-FI, fi;q=0.9"
  358.       timeout: 20
  359.       scan_interval: 900
  360.       value_template: >-
  361.         {% set raw = value | default('', true) %}
  362.         {% set pre = raw | regex_findall_index('(?is)<pre[^>]*>(.*?)</pre>', 0) | default('', true) %}
  363.         {% set t = pre
  364.           | regex_replace('-\\s*\\n', '')
  365.           | regex_replace('&nbsp;', ' ')
  366.           | regex_replace('&auml;', 'ä') | regex_replace('&Auml;', 'Ä')
  367.           | regex_replace('&ouml;', 'ö') | regex_replace('&Ouml;', 'Ö')
  368.           | regex_replace('&aring;', 'å') | regex_replace('&Aring;', 'Å')
  369.           | regex_replace('&amp;', '&')
  370.           | regex_replace('\\r', '')
  371.           | regex_replace('[ \\t]+', ' ')
  372.           | regex_replace('\\n\\s*\\n', '\n')
  373.           | trim %}
  374.         {% set low = t | lower %}
  375.         {% set starts = [
  376.           'koillismaalla ja lapissa:', 'koillismaalla sekä lapissa:',
  377.           'lapissa:', 'lapissa',
  378.           'meri-lapissa:', 'meri-lapissa',
  379.           'merilapissa:', 'merilapissa',
  380.           'pohjoisessa:', 'pohjoisessa',
  381.           'maan pohjoisosassa:', 'maan pohjoisosassa'
  382.         ] %}
  383.         {% set s = -1 %}
  384.         {% for k in starts %}
  385.           {% set i = low.find(k) %}
  386.           {% if i != -1 and (s == -1 or i < s) %}
  387.             {% set s = i %}
  388.           {% endif %}
  389.         {% endfor %}
  390.         {% set e = low.find('liikennesää', 0) %}
  391.         {% set picked = s!=-1 and e!=-1 and e>s and t[s:e]
  392.                         or e!=-1 and t[:e]
  393.                         or '' %}
  394.         {{ picked[400:600] | trim }}
  395.  
  396.   template:
  397.     - sensor:
  398.         - name: saa_pohjoisosat_tekstitv_osa1
  399.           state: >-
  400.             {% set parts = [
  401.               states('sensor.tekstitv_401_p1a'), states('sensor.tekstitv_401_p1b'), states('sensor.tekstitv_401_p1c'),
  402.               states('sensor.tekstitv_401_p2a'), states('sensor.tekstitv_401_p2b'), states('sensor.tekstitv_401_p2c'),
  403.               states('sensor.tekstitv_401_p3a'), states('sensor.tekstitv_401_p3b'), states('sensor.tekstitv_401_p3c')
  404.             ] %}
  405.             {% set cleaned = parts | reject('in', ['unknown','unavailable','ei tilaa','']) | list %}
  406.             {% set raw = cleaned | join('') %}
  407.             {% if not raw %} ei saatavilla {% else %}
  408.               {% set t = raw
  409.                  | regex_replace('(?i)\\b\\d+/\\d+\\b', '')
  410.                  | regex_replace('(?i)ilmatieteen\\s+laitos\\s+\\d{1,2}\\.\\d{1,2}\\.?', '')
  411.                  | regex_replace('(?i)säätiedotus\\s+klo\\s*\\d{1,2}', '')
  412.               %}
  413.               {% set low = t | lower %}
  414.               {% set e = low.find('liikennesää') %}
  415.               {% set upto = (t[:e] if e != -1 else t) %}
  416.               {% set low2 = upto | lower %}
  417.               {% set starts = [
  418.                 'koillismaalla ja lapissa:', 'koillismaalla sekä lapissa:',
  419.                 'lapissa:', 'lapissa',
  420.                 'meri-lapissa:', 'meri-lapissa', 'merilapissa:', 'merilapissa',
  421.                 'pohjoisessa:', 'pohjoisessa',
  422.                 'maan pohjoisosassa:', 'maan pohjoisosassa'
  423.               ] %}
  424.               {% set s = -1 %}
  425.               {% for k in starts %}
  426.                 {% set i = low2.find(k) %}
  427.                 {% if i != -1 and (s == -1 or i < s) %}{% set s = i %}{% endif %}
  428.               {% endfor %}
  429.               {% set text = (upto[s:] if s != -1 else upto)
  430.                  | regex_replace('\\s+',' ')
  431.                  | trim %}
  432.               {% set p1 = text[:200] | trim %}
  433.               {% set p2 = text[200:400] | trim %}
  434.               {{ p1 ~ (' (jatkuu...)' if p2 else '') if p1 else 'ei saatavilla' }}
  435.             {% endif %}
  436.  
  437.         - name: saa_pohjoisosat_tekstitv_osa2
  438.           state: >-
  439.             {% set parts = [
  440.               states('sensor.tekstitv_401_p1a'), states('sensor.tekstitv_401_p1b'), states('sensor.tekstitv_401_p1c'),
  441.               states('sensor.tekstitv_401_p2a'), states('sensor.tekstitv_401_p2b'), states('sensor.tekstitv_401_p2c'),
  442.               states('sensor.tekstitv_401_p3a'), states('sensor.tekstitv_401_p3b'), states('sensor.tekstitv_401_p3c')
  443.             ] %}
  444.             {% set cleaned = parts | reject('in', ['unknown','unavailable','ei tilaa','']) | list %}
  445.             {% set raw = cleaned | join('') %}
  446.             {% if not raw %} '' {% else %}
  447.               {% set t = raw
  448.                  | regex_replace('(?i)\\b\\d+/\\d+\\b', '')
  449.                  | regex_replace('(?i)ilmatieteen\\s+laitos\\s+\\d{1,2}\\.\\d{1,2}\\.?', '')
  450.                  | regex_replace('(?i)säätiedotus\\s+klo\\s*\\d{1,2}', '')
  451.               %}
  452.               {% set low = t | lower %}
  453.               {% set e = low.find('liikennesää') %}
  454.               {% set upto = (t[:e] if e != -1 else t) %}
  455.               {% set low2 = upto | lower %}
  456.               {% set starts = [
  457.                 'koillismaalla ja lapissa:', 'koillismaalla sekä lapissa:',
  458.                 'lapissa:', 'lapissa',
  459.                 'meri-lapissa:', 'meri-lapissa', 'merilapissa:', 'merilapissa',
  460.                 'pohjoisessa:', 'pohjoisessa',
  461.                 'maan pohjoisosassa:', 'maan pohjoisosassa'
  462.               ] %}
  463.               {% set s = -1 %}
  464.               {% for k in starts %}
  465.                 {% set i = low2.find(k) %}
  466.                 {% if i != -1 and (s == -1 or i < s) %}{% set s = i %}{% endif %}
  467.               {% endfor %}
  468.               {% set text = (upto[s:] if s != -1 else upto)
  469.                  | regex_replace('\\s+',' ')
  470.                  | trim %}
  471.               {% if text | length <= 200 %} '' {% else %} {{ text[200:400] | trim }} {% endif %}
  472.             {% endif %}
  473.  
Advertisement
Add Comment
Please, Sign In to add comment