forked from indymedia/epicyon
Populate last seen files on startup
parent
966dff9921
commit
12cccfdeb6
|
@ -89,6 +89,7 @@ from inbox import getPersonPubKey
|
||||||
from follow import getFollowingFeed
|
from follow import getFollowingFeed
|
||||||
from follow import sendFollowRequest
|
from follow import sendFollowRequest
|
||||||
from follow import unfollowPerson
|
from follow import unfollowPerson
|
||||||
|
from follow import createInitialLastSeen
|
||||||
from auth import authorize
|
from auth import authorize
|
||||||
from auth import createPassword
|
from auth import createPassword
|
||||||
from auth import createBasicAuthHeader
|
from auth import createBasicAuthHeader
|
||||||
|
@ -13261,6 +13262,8 @@ def runDaemon(dormantMonths: int,
|
||||||
httpd.iconsCache = {}
|
httpd.iconsCache = {}
|
||||||
httpd.fontsCache = {}
|
httpd.fontsCache = {}
|
||||||
|
|
||||||
|
createInitialLastSeen(baseDir, httpPrefix)
|
||||||
|
|
||||||
print('Creating inbox queue')
|
print('Creating inbox queue')
|
||||||
httpd.thrInboxQueue = \
|
httpd.thrInboxQueue = \
|
||||||
threadWithTrace(target=runInboxQueue,
|
threadWithTrace(target=runInboxQueue,
|
||||||
|
|
36
follow.py
36
follow.py
|
@ -27,6 +27,42 @@ from auth import createBasicAuthHeader
|
||||||
from session import postJson
|
from session import postJson
|
||||||
|
|
||||||
|
|
||||||
|
def createInitialLastSeen(baseDir: str, httpPrefix: str) -> None:
|
||||||
|
"""Creates initial lastseen files for all follows
|
||||||
|
"""
|
||||||
|
for subdir, dirs, files in os.walk(baseDir + '/accounts'):
|
||||||
|
for acct in dirs:
|
||||||
|
if '@' not in acct:
|
||||||
|
continue
|
||||||
|
if 'inbox@' in acct or 'news@' in acct:
|
||||||
|
continue
|
||||||
|
accountDir = os.path.join(baseDir + '/accounts', acct)
|
||||||
|
followingFilename = accountDir + '/following.txt'
|
||||||
|
if not os.path.isfile(followingFilename):
|
||||||
|
continue
|
||||||
|
lastSeenDir = accountDir + '/lastseen'
|
||||||
|
if not os.path.isdir(lastSeenDir):
|
||||||
|
os.mkdir(lastSeenDir)
|
||||||
|
with open(followingFilename, 'r') as fp:
|
||||||
|
followingHandles = fp.readlines()
|
||||||
|
for handle in followingHandles:
|
||||||
|
if '#' in handle:
|
||||||
|
continue
|
||||||
|
if '@' not in handle:
|
||||||
|
continue
|
||||||
|
nickname = handle.split('@')[0]
|
||||||
|
domain = handle.split('@')[1]
|
||||||
|
actor = \
|
||||||
|
httpPrefix + '://' + \
|
||||||
|
nickname + '@' + domain + '/users/' + nickname
|
||||||
|
lastSeenFilename = \
|
||||||
|
lastSeenDir + '/' + actor.replace('/', '#') + '.txt'
|
||||||
|
if not os.path.isfile(lastSeenFilename):
|
||||||
|
with open(lastSeenFilename, 'w+') as fp:
|
||||||
|
fp.write(str(0))
|
||||||
|
break
|
||||||
|
|
||||||
|
|
||||||
def preApprovedFollower(baseDir: str,
|
def preApprovedFollower(baseDir: str,
|
||||||
nickname: str, domain: str,
|
nickname: str, domain: str,
|
||||||
approveHandle: str,
|
approveHandle: str,
|
||||||
|
|
Loading…
Reference in New Issue