Advertisement
Guest User

create_filter.py

a guest
May 23rd, 2019
203
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.92 KB | None | 0 0
  1. #coding=utf-8
  2.  
  3. #1. создать в папке ~/.newsboat файл keywords.txt
  4. #2. написать туда в столбик ключевые выражения, просто слова или регулярные
  5. #3. этот файл create_filters.py скопировать в папку в ~/.newsboat
  6. #4. в консоли написать python3 create_filters.py
  7.  
  8. #в папке создастся файл filters, куда сформированный запишется фильтр
  9. #в config допишется строчка include "~/.newsbooat/filters"
  10.  
  11.  
  12.  
  13.  
  14. #по умолчанию подсвечивается зелёным с белым жирным текстом 
  15. #внизу в скобках можно дописать, какие нравятся
  16. #список доступных цветов
  17. #https://newsboat.org/releases/2.15/docs/newsboat.html#_configuring_colors
  18.  
  19.  
  20.  
  21.  
  22.  
  23.  
  24.  
  25. def create_filter(highlighting):
  26.     """дописывает в конфиг фильтр, который всегда подсвечивает статьи с ключевыми словами"""
  27.    
  28.  
  29.     s = "highlight-article \""
  30.  
  31.     with \
  32.     open("config", "r+") as conf, \
  33.     open("filters", "w+") as filters, \
  34.     open("keywords.txt", "r") as keywords:
  35.  
  36.         #формирует строку из ключевых слов
  37.         for i in keywords:
  38.             part1 = "\\\"{}\\\"".format(i[:-1])
  39.             part2 = "(content =~ " + part1 + ")"
  40.             s += part2
  41.             s += " or "
  42.    
  43.         s = s[:s.rfind(" or")]
  44.         s += "\" " + highlighting
  45.  
  46.         #пишет её фильтры
  47.         filters.write(s)   
  48.  
  49.         #дописывает в конфиг путь к файлу, если там его ещё нет
  50.         if conf.read().find("include \"~/.newsbooat/filters\"") == False:
  51.             conf.write("\ninclude \"~/.newsboat/filters\" ")
  52.  
  53.  
  54.  
  55.  
  56.  
  57. #white green bold - белый текст зелёный фон, жирный текст
  58. create_filter("white green bold")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement