action 合併

This commit is contained in:
tasi788 2022-09-03 14:34:09 +08:00
parent 8b3a8c2900
commit c72391a29b
3 changed files with 34 additions and 76 deletions

View File

@ -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))

View File

@ -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())
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)

View File

@ -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)