merge-requests/30/head
Bob Mottram 2021-06-07 09:56:08 +01:00
parent 19069c7b1d
commit 34d2576ed2
1 changed files with 28 additions and 22 deletions

View File

@ -47,17 +47,20 @@ def removeFilter(baseDir: str, nickname: str, domain: str,
""" """
filtersFilename = baseDir + '/accounts/' + \ filtersFilename = baseDir + '/accounts/' + \
nickname + '@' + domain + '/filters.txt' nickname + '@' + domain + '/filters.txt'
if os.path.isfile(filtersFilename): if not os.path.isfile(filtersFilename):
if words in open(filtersFilename).read(): return False
with open(filtersFilename, 'r') as fp: if words not in open(filtersFilename).read():
with open(filtersFilename + '.new', 'w+') as fpnew: return False
for line in fp: newFiltersFilename = filtersFilename + '.new'
line = line.replace('\n', '') with open(filtersFilename, 'r') as fp:
if line != words: with open(newFiltersFilename, 'w+') as fpnew:
fpnew.write(line + '\n') for line in fp:
if os.path.isfile(filtersFilename + '.new'): line = line.replace('\n', '')
os.rename(filtersFilename + '.new', filtersFilename) if line != words:
return True fpnew.write(line + '\n')
if os.path.isfile(newFiltersFilename):
os.rename(newFiltersFilename, filtersFilename)
return True
return False return False
@ -65,17 +68,20 @@ def removeGlobalFilter(baseDir: str, words: str) -> bool:
"""Removes a global word filter """Removes a global word filter
""" """
filtersFilename = baseDir + '/accounts/filters.txt' filtersFilename = baseDir + '/accounts/filters.txt'
if os.path.isfile(filtersFilename): if not os.path.isfile(filtersFilename):
if words in open(filtersFilename).read(): return False
with open(filtersFilename, 'r') as fp: if words not in open(filtersFilename).read():
with open(filtersFilename + '.new', 'w+') as fpnew: return False
for line in fp: newFiltersFilename = filtersFilename + '.new'
line = line.replace('\n', '') with open(filtersFilename, 'r') as fp:
if line != words: with open(newFiltersFilename, 'w+') as fpnew:
fpnew.write(line + '\n') for line in fp:
if os.path.isfile(filtersFilename + '.new'): line = line.replace('\n', '')
os.rename(filtersFilename + '.new', filtersFilename) if line != words:
return True fpnew.write(line + '\n')
if os.path.isfile(newFiltersFilename):
os.rename(newFiltersFilename, filtersFilename)
return True
return False return False