mirror of https://gitlab.com/bashrc2/epicyon
Broch mode elapses
parent
68d3f3ee91
commit
6b55ceab12
30
blocking.py
30
blocking.py
|
@ -7,6 +7,8 @@ __email__ = "bob@freedombone.net"
|
|||
__status__ = "Production"
|
||||
|
||||
import os
|
||||
from datetime import datetime
|
||||
from utils import fileLastModified
|
||||
from utils import setConfigParam
|
||||
from utils import hasUsersPath
|
||||
from utils import getFullDomain
|
||||
|
@ -374,6 +376,7 @@ def setBrochMode(baseDir: str, domainFull: str, enabled: bool) -> None:
|
|||
# remove instance allow list
|
||||
if os.path.isfile(allowFilename):
|
||||
os.remove(allowFilename)
|
||||
print('Broch mode turned off')
|
||||
else:
|
||||
# generate instance allow list
|
||||
allowedDomains = [domainFull]
|
||||
|
@ -405,5 +408,32 @@ def setBrochMode(baseDir: str, domainFull: str, enabled: bool) -> None:
|
|||
for d in allowedDomains:
|
||||
allowFile.write(d + '\n')
|
||||
allowFile.close()
|
||||
print('Broch mode enabled')
|
||||
|
||||
setConfigParam(baseDir, "brochMode", enabled)
|
||||
|
||||
|
||||
def brochModeLapses(baseDir: str, lapseDays=7) -> None:
|
||||
"""After broch mode is enabled it automatically
|
||||
elapses after a period of time
|
||||
"""
|
||||
allowFilename = baseDir + '/accounts/allowedinstances.txt'
|
||||
if not os.path.isfile(allowFilename):
|
||||
return
|
||||
lastModified = fileLastModified(allowFilename)
|
||||
modifiedDate = None
|
||||
try:
|
||||
modifiedDate = \
|
||||
datetime.strptime(lastModified, "%Y-%m-%dT%H:%M:%SZ")
|
||||
except BaseException:
|
||||
return
|
||||
if not modifiedDate:
|
||||
return
|
||||
currTime = datetime.datetime.utcnow()
|
||||
daysSinceBroch = (currTime - modifiedDate).days
|
||||
if daysSinceBroch >= lapseDays:
|
||||
try:
|
||||
os.remove(allowFilename)
|
||||
print('Broch mode has elapsed')
|
||||
except BaseException:
|
||||
pass
|
||||
|
|
3
inbox.py
3
inbox.py
|
@ -51,6 +51,7 @@ from bookmarks import updateBookmarksCollection
|
|||
from bookmarks import undoBookmarksCollectionEntry
|
||||
from blocking import isBlocked
|
||||
from blocking import isBlockedDomain
|
||||
from blocking import brochModeLapses
|
||||
from filters import isFiltered
|
||||
from utils import updateAnnounceCollection
|
||||
from utils import undoAnnounceCollectionEntry
|
||||
|
@ -2518,6 +2519,8 @@ def runInboxQueue(recentPostsCache: {}, maxRecentPosts: int,
|
|||
# heartbeat to monitor whether the inbox queue is running
|
||||
heartBeatCtr += 5
|
||||
if heartBeatCtr >= 10:
|
||||
# turn off broch mode after it has timed out
|
||||
brochModeLapses(baseDir)
|
||||
print('>>> Heartbeat Q:' + str(len(queue)) + ' ' +
|
||||
'{:%F %T}'.format(datetime.datetime.now()))
|
||||
heartBeatCtr = 0
|
||||
|
|
Loading…
Reference in New Issue