mirror of https://gitlab.com/bashrc2/epicyon
following and followers files
parent
1c2db15263
commit
1bd7a40892
20
epicyon.py
20
epicyon.py
|
@ -24,6 +24,11 @@ from pprint import pprint
|
||||||
from httpsig import testHttpsig
|
from httpsig import testHttpsig
|
||||||
from daemon import runDaemon
|
from daemon import runDaemon
|
||||||
import socket
|
import socket
|
||||||
|
from follow import clearFollows
|
||||||
|
from follow import followPerson
|
||||||
|
from follow import followerOfPerson
|
||||||
|
from follow import unfollowPerson
|
||||||
|
from follow import unfollowerOfPerson
|
||||||
|
|
||||||
federationList=['mastodon.social']
|
federationList=['mastodon.social']
|
||||||
username='testuser'
|
username='testuser'
|
||||||
|
@ -34,11 +39,18 @@ https=True
|
||||||
useTor=False
|
useTor=False
|
||||||
session = createSession(useTor)
|
session = createSession(useTor)
|
||||||
|
|
||||||
#asHeader = {'Accept': 'application/ld+json; profile="https://www.w3.org/ns/activitystreams"'}
|
clearFollows(username,domain)
|
||||||
|
followPerson(username,domain,'badger','wild.com')
|
||||||
|
followPerson(username,domain,'squirrel','secret.com')
|
||||||
|
followPerson(username,domain,'rodent','drainpipe.com')
|
||||||
|
unfollowPerson(username,domain,'squirrel','secret.com')
|
||||||
|
sys.exit()
|
||||||
|
|
||||||
|
asHeader = {'Accept': 'application/ld+json; profile="https://www.w3.org/ns/activitystreams"'}
|
||||||
#userFollowing = getJson(session,"https://mastodon.social/users/Gargron/followers?page=true",asHeader,None)
|
#userFollowing = getJson(session,"https://mastodon.social/users/Gargron/followers?page=true",asHeader,None)
|
||||||
#userFollowing = getJson(session,"https://mastodon.social/users/Gargron/following?page=true",asHeader,None)
|
userFollowing = getJson(session,"https://mastodon.social/users/Gargron/following?page=true",asHeader,None)
|
||||||
#pprint(userFollowing)
|
pprint(userFollowing)
|
||||||
#sys.exit()
|
sys.exit()
|
||||||
|
|
||||||
|
|
||||||
privateKeyPem,publicKeyPem,person,wfEndpoint=createPerson(username,domain,https,True)
|
privateKeyPem,publicKeyPem,person,wfEndpoint=createPerson(username,domain,https,True)
|
||||||
|
|
|
@ -0,0 +1,69 @@
|
||||||
|
__filename__ = "follow.py"
|
||||||
|
__author__ = "Bob Mottram"
|
||||||
|
__license__ = "AGPL3+"
|
||||||
|
__version__ = "0.0.1"
|
||||||
|
__maintainer__ = "Bob Mottram"
|
||||||
|
__email__ = "bob@freedombone.net"
|
||||||
|
__status__ = "Production"
|
||||||
|
|
||||||
|
import json
|
||||||
|
from pprint import pprint
|
||||||
|
import os
|
||||||
|
import sys
|
||||||
|
|
||||||
|
def followPerson(username: str, domain: str, followUsername: str, followDomain: str, followFile='following.txt') -> None:
|
||||||
|
"""Adds a person to the follow list
|
||||||
|
"""
|
||||||
|
handle=username.lower()+'@'+domain.lower()
|
||||||
|
handleToFollow=followUsername.lower()+'@'+followDomain.lower()
|
||||||
|
baseDir=os.getcwd()
|
||||||
|
if not os.path.isdir(baseDir+'/accounts/'+handle):
|
||||||
|
os.mkdir(baseDir+'/accounts/'+handle)
|
||||||
|
filename=baseDir+'/accounts/'+handle+'/'+followFile
|
||||||
|
if os.path.isfile(filename):
|
||||||
|
if handleToFollow in open(filename).read():
|
||||||
|
return
|
||||||
|
with open(filename, "a") as followfile:
|
||||||
|
followfile.write(handleToFollow+'\n')
|
||||||
|
return
|
||||||
|
with open(filename, "w") as followfile:
|
||||||
|
followfile.write(handleToFollow+'\n')
|
||||||
|
|
||||||
|
def followerOfPerson(username: str, domain: str, followerUsername: str, followerDomain: str) -> None:
|
||||||
|
followPerson(username, domain, followerUsername, followerDomain,'followers.txt')
|
||||||
|
|
||||||
|
def unfollowPerson(username: str, domain: str, followUsername: str, followDomain: str,followFile='following.txt') -> None:
|
||||||
|
"""Removes a person to the follow list
|
||||||
|
"""
|
||||||
|
handle=username.lower()+'@'+domain.lower()
|
||||||
|
handleToUnfollow=followUsername.lower()+'@'+followDomain.lower()
|
||||||
|
baseDir=os.getcwd()
|
||||||
|
if not os.path.isdir(baseDir+'/accounts/'+handle):
|
||||||
|
os.mkdir(baseDir+'/accounts/'+handle)
|
||||||
|
filename=baseDir+'/accounts/'+handle+'/'+followFile
|
||||||
|
if os.path.isfile(filename):
|
||||||
|
if handleToUnfollow not in open(filename).read():
|
||||||
|
return
|
||||||
|
with open(filename, "r") as f:
|
||||||
|
lines = f.readlines()
|
||||||
|
with open(filename, "w") as f:
|
||||||
|
for line in lines:
|
||||||
|
if line.strip("\n") != handleToUnfollow:
|
||||||
|
f.write(line)
|
||||||
|
|
||||||
|
def unfollowerOfPerson(username: str, domain: str, followerUsername: str, followerDomain: str) -> None:
|
||||||
|
unfollowPerson(username, domain, followerUsername, followerDomain,'followers.txt')
|
||||||
|
|
||||||
|
def clearFollows(username: str, domain: str,followFile='following.txt') -> None:
|
||||||
|
"""Removes all follows
|
||||||
|
"""
|
||||||
|
handle=username.lower()+'@'+domain.lower()
|
||||||
|
baseDir=os.getcwd()
|
||||||
|
if not os.path.isdir(baseDir+'/accounts/'+handle):
|
||||||
|
os.mkdir(baseDir+'/accounts/'+handle)
|
||||||
|
filename=baseDir+'/accounts/'+handle+'/'+followFile
|
||||||
|
if os.path.isfile(filename):
|
||||||
|
os.remove(filename)
|
||||||
|
|
||||||
|
def clearFollowers(username: str, domain: str) -> None:
|
||||||
|
clearFollows(username, domain,'followers.txt')
|
Loading…
Reference in New Issue