From c72391a29be93ac3940784c51600f589fab834b2 Mon Sep 17 00:00:00 2001 From: tasi788 Date: Sat, 3 Sep 2022 14:34:09 +0800 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20action=20=E5=90=88=E4=BD=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- AutoBuild/auto_update_version.py | 29 --------------------- AutoBuild/builder.py | 37 ++++++++++++++++++++++++--- AutoBuild/hide_farm.py | 44 -------------------------------- 3 files changed, 34 insertions(+), 76 deletions(-) delete mode 100644 AutoBuild/auto_update_version.py delete mode 100644 AutoBuild/hide_farm.py diff --git a/AutoBuild/auto_update_version.py b/AutoBuild/auto_update_version.py deleted file mode 100644 index cd61f01..0000000 --- a/AutoBuild/auto_update_version.py +++ /dev/null @@ -1,29 +0,0 @@ -import re -import sys -from datetime import datetime, timedelta, timezone - -tz = timezone(timedelta(hours=+8)) -today = datetime.now(tz).date() - -args = sys.argv -if len(args) != 2: - print('Got Empty Arguments') - sys.exit(1) - -files = args[-1] - -with open(f'../{files}', 'r') as f: - pattern = r'(?<=Version: )(\d+\.\d+\.)(\d+)' - read_file = f.read() - first = '\n'.join(read_file.splitlines()[:5]) - version = re.findall(pattern, first, re.MULTILINE)[0] - dt = datetime.strptime(version[0], '%Y.%m%d.').date() - newversion = today.strftime('%Y.%m%d.') - - if dt != today: - newversion += '1' - else: - newversion += str(int(version[1])+1) - - with open(f'../{files}', 'w') as f_: - f_.write(read_file.replace(''.join(version), newversion)) diff --git a/AutoBuild/builder.py b/AutoBuild/builder.py index 6b0a14c..19f180d 100644 --- a/AutoBuild/builder.py +++ b/AutoBuild/builder.py @@ -1,6 +1,7 @@ import requests import re from datetime import datetime, timedelta, timezone +import os filterlist = { 'abp': ['experimental.txt', 'filter.txt'], @@ -10,12 +11,13 @@ url = 'https://filter.futa.gg/' tz = timezone(timedelta(hours=+8)) today = datetime.now(tz).date() + class HEAD: abp: str = '[Adblock Plus]\n' \ '! Title: LowTechFilter {name}\n' \ '! Version: {version}\n' \ '! Expires: 1 hour\n' \ - '! Homepage: https://t.me/adguard_tw\n' \ + '! Homepage: https://t.me/AdBlock_TW\n' \ '! ----------------------------------------------------------------------\n' hosts: str = '! FutaHosts\n' \ '! LowTechFilter {name}\n' \ @@ -52,8 +54,37 @@ for category in filterlist: with open(f'../{filename}', 'r') as files: with open(f'{filename}', 'w') as output: heads: str = HEAD().__getattribute__(category) - news = heads.format( + newhead = heads.format( name=filename.split('.')[0].replace('_', ' ').title(), version=newversion ) - output.write(news+files.read()) \ No newline at end of file + output.write(newhead+files.read()) + + ### SP ### + # hide farm site from google + if filename == 'nofarm_hosts.txt': + domain_list = '' + for domains in files.read().splitlines(): + if not domains.startswith('!'): + domain = domains[2:-1] + domain_list += 'google.*##div.g:has(div[data-hveid] a[href*="{domain}"])\n'.format( + domain=domain + ) + heads: str = HEAD().__getattribute__('hosts') + newhead = heads.format( + name='hide farm content from google', + version=newversion + ) + with open('hide_farm_from_search.txt', 'w') as f: + f.write(newhead + domain_list) + + # hosts to domains + if filename == 'hosts.txt': + data = files.read().splitlines() + newdata = '\n'.join(data[5:]) + desc = '\n'.join(x.replace('!', '#') for x in data[:5]) + '\n' + + with open('../domains.txt', 'w') as output: + pattern = r'(?<=^\|\|)\S+\.\S{2,}(?=\^)' + desc += '\n'.join(re.findall(pattern, newdata, re.MULTILINE)) + output.write(desc) \ No newline at end of file diff --git a/AutoBuild/hide_farm.py b/AutoBuild/hide_farm.py deleted file mode 100644 index e4271c1..0000000 --- a/AutoBuild/hide_farm.py +++ /dev/null @@ -1,44 +0,0 @@ -import os -from datetime import datetime, timedelta, timezone - -tz = timezone(timedelta(hours=+8)) - -domain_list = '' -with open('../nofarm_hosts.txt', 'r') as files: - for domains in files.read().split('\n'): - if not domains.startswith('!'): - domain = domains[2:-1] - domain_list += 'google.*##div.g:has(div[data-hveid] a[href*="{domain}"])\n'.format( - domain=domain - ) - -if not os.path.exists('../hide_farm_from_search.txt'): - with open('../hide_farm_from_search.txt', 'w') as files: - pass - -with open('../hide_farm_from_search.txt', 'r') as orig: - version, ver_dt = '', '' - try: - version = orig.read().split('\n')[2].split(': ')[1] - ver_dt = datetime.strptime(version[:-3], '%Y.%m%d').date() - except IndexError: - pass - - now = datetime.now(tz) - v = now.strftime('%Y.%m%d.') - if now.date() != ver_dt: - v += '01' - else: - v += str(int(version[-2:])+1).zfill(2) - -head = '[Adblock Plus]\n' \ - '! Title: hide farm content from google\n' \ - '! Version: {version}\n' \ - '! Expires: 1 hour\n' \ - '! Homepage: https://t.me/adguard_tw\n' \ - '! ----------------------------------------------------------------------\n'.format( - version=v - ) - -with open('../hide_farm_from_search.txt', 'w') as files: - files.write(head + domain_list)