mirror of https://gitlab.com/bashrc2/epicyon
Merge branch 'main' of gitlab.com:bashrc2/epicyon
commit
5d3b105c5c
198
daemon.py
198
daemon.py
|
@ -258,6 +258,7 @@ from languages import set_actor_languages
|
||||||
from languages import get_understood_languages
|
from languages import get_understood_languages
|
||||||
from like import update_likes_collection
|
from like import update_likes_collection
|
||||||
from reaction import update_reaction_collection
|
from reaction import update_reaction_collection
|
||||||
|
from utils import get_json_content_from_accept
|
||||||
from utils import remove_eol
|
from utils import remove_eol
|
||||||
from utils import text_in_file
|
from utils import text_in_file
|
||||||
from utils import is_onion_request
|
from utils import is_onion_request
|
||||||
|
@ -1279,12 +1280,10 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
msg = msg_str.encode('utf-8')
|
msg = msg_str.encode('utf-8')
|
||||||
msglen = len(msg)
|
msglen = len(msg)
|
||||||
if self._has_accept(calling_domain):
|
if self._has_accept(calling_domain):
|
||||||
if 'application/ld+json' in self.headers['Accept']:
|
protocol_str = \
|
||||||
self._set_headers('application/ld+json', msglen,
|
get_json_content_from_accept(self.headers.get('Accept'))
|
||||||
None, calling_domain, True)
|
self._set_headers(protocol_str, msglen,
|
||||||
else:
|
None, calling_domain, True)
|
||||||
self._set_headers('application/json', msglen,
|
|
||||||
None, calling_domain, True)
|
|
||||||
else:
|
else:
|
||||||
self._set_headers('application/ld+json', msglen,
|
self._set_headers('application/ld+json', msglen,
|
||||||
None, calling_domain, True)
|
None, calling_domain, True)
|
||||||
|
@ -1474,12 +1473,10 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
msg = msg_str.encode('utf-8')
|
msg = msg_str.encode('utf-8')
|
||||||
msglen = len(msg)
|
msglen = len(msg)
|
||||||
if self._has_accept(calling_domain):
|
if self._has_accept(calling_domain):
|
||||||
if 'application/ld+json' in self.headers['Accept']:
|
protocol_str = \
|
||||||
self._set_headers('application/ld+json', msglen,
|
get_json_content_from_accept(self.headers.get('Accept'))
|
||||||
None, calling_domain, True)
|
self._set_headers(protocol_str, msglen,
|
||||||
else:
|
None, calling_domain, True)
|
||||||
self._set_headers('application/json', msglen,
|
|
||||||
None, calling_domain, True)
|
|
||||||
else:
|
else:
|
||||||
self._set_headers('application/ld+json', msglen,
|
self._set_headers('application/ld+json', msglen,
|
||||||
None, calling_domain, True)
|
None, calling_domain, True)
|
||||||
|
@ -1553,12 +1550,11 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
msg = msg_str.encode('utf-8')
|
msg = msg_str.encode('utf-8')
|
||||||
msglen = len(msg)
|
msglen = len(msg)
|
||||||
if self._has_accept(calling_domain):
|
if self._has_accept(calling_domain):
|
||||||
if 'application/ld+json' in self.headers['Accept']:
|
accept_str = self.headers.get('Accept')
|
||||||
self._set_headers('application/ld+json', msglen,
|
protocol_str = \
|
||||||
None, calling_domain, True)
|
get_json_content_from_accept(accept_str)
|
||||||
else:
|
self._set_headers(protocol_str, msglen,
|
||||||
self._set_headers('application/json', msglen,
|
None, calling_domain, True)
|
||||||
None, calling_domain, True)
|
|
||||||
else:
|
else:
|
||||||
self._set_headers('application/ld+json', msglen,
|
self._set_headers('application/ld+json', msglen,
|
||||||
None, calling_domain, True)
|
None, calling_domain, True)
|
||||||
|
@ -7465,7 +7461,9 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
msg = msg_str.encode('utf-8')
|
msg = msg_str.encode('utf-8')
|
||||||
|
|
||||||
msglen = len(msg)
|
msglen = len(msg)
|
||||||
self._set_headers('application/json', msglen,
|
protocol_str = \
|
||||||
|
get_json_content_from_accept(self.headers['Accept'])
|
||||||
|
self._set_headers(protocol_str, msglen,
|
||||||
None, calling_domain, False)
|
None, calling_domain, False)
|
||||||
self._write(msg)
|
self._write(msg)
|
||||||
if self.server.debug:
|
if self.server.debug:
|
||||||
|
@ -7601,7 +7599,9 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
msg_str)
|
msg_str)
|
||||||
msg = msg_str.encode('utf-8')
|
msg = msg_str.encode('utf-8')
|
||||||
msglen = len(msg)
|
msglen = len(msg)
|
||||||
self._set_headers('application/json', msglen,
|
protocol_str = \
|
||||||
|
get_json_content_from_accept(self.headers['Accept'])
|
||||||
|
self._set_headers(protocol_str, msglen,
|
||||||
None, calling_domain, False)
|
None, calling_domain, False)
|
||||||
self._write(msg)
|
self._write(msg)
|
||||||
|
|
||||||
|
@ -10812,7 +10812,8 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
referer_domain,
|
referer_domain,
|
||||||
msg_str)
|
msg_str)
|
||||||
msg = msg_str.encode('utf-8')
|
msg = msg_str.encode('utf-8')
|
||||||
protocol_str = 'application/json'
|
protocol_str = \
|
||||||
|
get_json_content_from_accept(self.headers['Accept'])
|
||||||
msglen = len(msg)
|
msglen = len(msg)
|
||||||
self._set_headers(protocol_str, msglen, None,
|
self._set_headers(protocol_str, msglen, None,
|
||||||
calling_domain, False)
|
calling_domain, False)
|
||||||
|
@ -10917,7 +10918,8 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
referer_domain,
|
referer_domain,
|
||||||
msg_str)
|
msg_str)
|
||||||
msg = msg_str.encode('utf-8')
|
msg = msg_str.encode('utf-8')
|
||||||
protocol_str = 'application/json'
|
protocol_str = \
|
||||||
|
get_json_content_from_accept(self.headers['Accept'])
|
||||||
msglen = len(msg)
|
msglen = len(msg)
|
||||||
self._set_headers(protocol_str, msglen,
|
self._set_headers(protocol_str, msglen,
|
||||||
None, calling_domain, False)
|
None, calling_domain, False)
|
||||||
|
@ -11037,7 +11039,9 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
msg_str)
|
msg_str)
|
||||||
msg = msg_str.encode('utf-8')
|
msg = msg_str.encode('utf-8')
|
||||||
msglen = len(msg)
|
msglen = len(msg)
|
||||||
self._set_headers('application/json', msglen,
|
protocol_str = \
|
||||||
|
get_json_content_from_accept(self.headers['Accept'])
|
||||||
|
self._set_headers(protocol_str, msglen,
|
||||||
None, calling_domain, False)
|
None, calling_domain, False)
|
||||||
self._write(msg)
|
self._write(msg)
|
||||||
fitness_performance(getreq_start_time, self.server.fitness,
|
fitness_performance(getreq_start_time, self.server.fitness,
|
||||||
|
@ -11169,8 +11173,10 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
msg_str)
|
msg_str)
|
||||||
msg = msg_str.encode('utf-8')
|
msg = msg_str.encode('utf-8')
|
||||||
msglen = len(msg)
|
msglen = len(msg)
|
||||||
self._set_headers('application/json',
|
accept_str = self.headers['Accept']
|
||||||
msglen, None,
|
protocol_str = \
|
||||||
|
get_json_content_from_accept(accept_str)
|
||||||
|
self._set_headers(protocol_str, msglen, None,
|
||||||
calling_domain, False)
|
calling_domain, False)
|
||||||
self._write(msg)
|
self._write(msg)
|
||||||
fitness_performance(getreq_start_time,
|
fitness_performance(getreq_start_time,
|
||||||
|
@ -11516,8 +11522,9 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
msg_str)
|
msg_str)
|
||||||
msg = msg_str.encode('utf-8')
|
msg = msg_str.encode('utf-8')
|
||||||
msglen = len(msg)
|
msglen = len(msg)
|
||||||
self._set_headers('application/json',
|
protocol_str = \
|
||||||
msglen,
|
get_json_content_from_accept(self.headers['Accept'])
|
||||||
|
self._set_headers(protocol_str, msglen,
|
||||||
None, calling_domain, False)
|
None, calling_domain, False)
|
||||||
self._write(msg)
|
self._write(msg)
|
||||||
fitness_performance(getreq_start_time, self.server.fitness,
|
fitness_performance(getreq_start_time, self.server.fitness,
|
||||||
|
@ -11832,7 +11839,10 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
msg_str)
|
msg_str)
|
||||||
msg = msg_str.encode('utf-8')
|
msg = msg_str.encode('utf-8')
|
||||||
msglen = len(msg)
|
msglen = len(msg)
|
||||||
self._set_headers('application/json', msglen,
|
accept_str = self.headers['Accept']
|
||||||
|
protocol_str = \
|
||||||
|
get_json_content_from_accept(accept_str)
|
||||||
|
self._set_headers(protocol_str, msglen,
|
||||||
None, calling_domain, False)
|
None, calling_domain, False)
|
||||||
self._write(msg)
|
self._write(msg)
|
||||||
fitness_performance(getreq_start_time,
|
fitness_performance(getreq_start_time,
|
||||||
|
@ -11989,8 +11999,10 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
msg_str)
|
msg_str)
|
||||||
msg = msg_str.encode('utf-8')
|
msg = msg_str.encode('utf-8')
|
||||||
msglen = len(msg)
|
msglen = len(msg)
|
||||||
self._set_headers('application/json',
|
accept_str = self.headers['Accept']
|
||||||
msglen,
|
protocol_str = \
|
||||||
|
get_json_content_from_accept(accept_str)
|
||||||
|
self._set_headers(protocol_str, msglen,
|
||||||
None, calling_domain, False)
|
None, calling_domain, False)
|
||||||
self._write(msg)
|
self._write(msg)
|
||||||
fitness_performance(getreq_start_time,
|
fitness_performance(getreq_start_time,
|
||||||
|
@ -12149,7 +12161,10 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
msg_str)
|
msg_str)
|
||||||
msg = msg_str.encode('utf-8')
|
msg = msg_str.encode('utf-8')
|
||||||
msglen = len(msg)
|
msglen = len(msg)
|
||||||
self._set_headers('application/json', msglen,
|
accept_str = self.headers['Accept']
|
||||||
|
protocol_str = \
|
||||||
|
get_json_content_from_accept(accept_str)
|
||||||
|
self._set_headers(protocol_str, msglen,
|
||||||
None, calling_domain, False)
|
None, calling_domain, False)
|
||||||
self._write(msg)
|
self._write(msg)
|
||||||
fitness_performance(getreq_start_time,
|
fitness_performance(getreq_start_time,
|
||||||
|
@ -12304,7 +12319,10 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
msg_str)
|
msg_str)
|
||||||
msg = msg_str.encode('utf-8')
|
msg = msg_str.encode('utf-8')
|
||||||
msglen = len(msg)
|
msglen = len(msg)
|
||||||
self._set_headers('application/json', msglen,
|
accept_str = self.headers['Accept']
|
||||||
|
protocol_str = \
|
||||||
|
get_json_content_from_accept(accept_str)
|
||||||
|
self._set_headers(protocol_str, msglen,
|
||||||
None, calling_domain, False)
|
None, calling_domain, False)
|
||||||
self._write(msg)
|
self._write(msg)
|
||||||
fitness_performance(getreq_start_time,
|
fitness_performance(getreq_start_time,
|
||||||
|
@ -12459,8 +12477,10 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
msg_str)
|
msg_str)
|
||||||
msg = msg_str.encode('utf-8')
|
msg = msg_str.encode('utf-8')
|
||||||
msglen = len(msg)
|
msglen = len(msg)
|
||||||
self._set_headers('application/json',
|
accept_str = self.headers['Accept']
|
||||||
msglen,
|
protocol_str = \
|
||||||
|
get_json_content_from_accept(accept_str)
|
||||||
|
self._set_headers(protocol_str, msglen,
|
||||||
None, calling_domain, False)
|
None, calling_domain, False)
|
||||||
self._write(msg)
|
self._write(msg)
|
||||||
fitness_performance(getreq_start_time,
|
fitness_performance(getreq_start_time,
|
||||||
|
@ -12623,8 +12643,10 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
msg_str)
|
msg_str)
|
||||||
msg = msg_str.encode('utf-8')
|
msg = msg_str.encode('utf-8')
|
||||||
msglen = len(msg)
|
msglen = len(msg)
|
||||||
self._set_headers('application/json',
|
accept_str = self.headers['Accept']
|
||||||
msglen,
|
protocol_str = \
|
||||||
|
get_json_content_from_accept(accept_str)
|
||||||
|
self._set_headers(protocol_str, msglen,
|
||||||
None, calling_domain, False)
|
None, calling_domain, False)
|
||||||
self._write(msg)
|
self._write(msg)
|
||||||
fitness_performance(getreq_start_time,
|
fitness_performance(getreq_start_time,
|
||||||
|
@ -12789,8 +12811,10 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
msg_str)
|
msg_str)
|
||||||
msg = msg_str.encode('utf-8')
|
msg = msg_str.encode('utf-8')
|
||||||
msglen = len(msg)
|
msglen = len(msg)
|
||||||
self._set_headers('application/json',
|
accept_str = self.headers['Accept']
|
||||||
msglen,
|
protocol_str = \
|
||||||
|
get_json_content_from_accept(accept_str)
|
||||||
|
self._set_headers(protocol_str, msglen,
|
||||||
None, calling_domain, False)
|
None, calling_domain, False)
|
||||||
self._write(msg)
|
self._write(msg)
|
||||||
fitness_performance(getreq_start_time,
|
fitness_performance(getreq_start_time,
|
||||||
|
@ -13137,7 +13161,10 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
msg_str)
|
msg_str)
|
||||||
msg = msg_str.encode('utf-8')
|
msg = msg_str.encode('utf-8')
|
||||||
msglen = len(msg)
|
msglen = len(msg)
|
||||||
self._set_headers('application/json', msglen,
|
accept_str = self.headers['Accept']
|
||||||
|
protocol_str = \
|
||||||
|
get_json_content_from_accept(accept_str)
|
||||||
|
self._set_headers(protocol_str, msglen,
|
||||||
None, calling_domain, False)
|
None, calling_domain, False)
|
||||||
self._write(msg)
|
self._write(msg)
|
||||||
fitness_performance(getreq_start_time,
|
fitness_performance(getreq_start_time,
|
||||||
|
@ -13286,7 +13313,10 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
msg_str)
|
msg_str)
|
||||||
msg = msg_str.encode('utf-8')
|
msg = msg_str.encode('utf-8')
|
||||||
msglen = len(msg)
|
msglen = len(msg)
|
||||||
self._set_headers('application/json', msglen,
|
accept_str = self.headers['Accept']
|
||||||
|
protocol_str = \
|
||||||
|
get_json_content_from_accept(accept_str)
|
||||||
|
self._set_headers(protocol_str, msglen,
|
||||||
None, calling_domain, False)
|
None, calling_domain, False)
|
||||||
self._write(msg)
|
self._write(msg)
|
||||||
fitness_performance(getreq_start_time,
|
fitness_performance(getreq_start_time,
|
||||||
|
@ -13432,7 +13462,10 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
msg_str)
|
msg_str)
|
||||||
msg = msg_str.encode('utf-8')
|
msg = msg_str.encode('utf-8')
|
||||||
msglen = len(msg)
|
msglen = len(msg)
|
||||||
self._set_headers('application/json', msglen,
|
accept_str = self.headers['Accept']
|
||||||
|
protocol_str = \
|
||||||
|
get_json_content_from_accept(accept_str)
|
||||||
|
self._set_headers(protocol_str, msglen,
|
||||||
None, calling_domain, False)
|
None, calling_domain, False)
|
||||||
self._write(msg)
|
self._write(msg)
|
||||||
fitness_performance(getreq_start_time,
|
fitness_performance(getreq_start_time,
|
||||||
|
@ -13572,7 +13605,10 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
msg_str)
|
msg_str)
|
||||||
msg = msg_str.encode('utf-8')
|
msg = msg_str.encode('utf-8')
|
||||||
msglen = len(msg)
|
msglen = len(msg)
|
||||||
self._set_headers('application/json', msglen,
|
accept_str = self.headers['Accept']
|
||||||
|
protocol_str = \
|
||||||
|
get_json_content_from_accept(accept_str)
|
||||||
|
self._set_headers(protocol_str, msglen,
|
||||||
None, calling_domain, False)
|
None, calling_domain, False)
|
||||||
self._write(msg)
|
self._write(msg)
|
||||||
fitness_performance(getreq_start_time,
|
fitness_performance(getreq_start_time,
|
||||||
|
@ -13707,7 +13743,10 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
msg_str)
|
msg_str)
|
||||||
msg = msg_str.encode('utf-8')
|
msg = msg_str.encode('utf-8')
|
||||||
msglen = len(msg)
|
msglen = len(msg)
|
||||||
self._set_headers('application/json', msglen,
|
accept_str = self.headers['Accept']
|
||||||
|
protocol_str = \
|
||||||
|
get_json_content_from_accept(accept_str)
|
||||||
|
self._set_headers(protocol_str, msglen,
|
||||||
None, calling_domain, False)
|
None, calling_domain, False)
|
||||||
self._write(msg)
|
self._write(msg)
|
||||||
fitness_performance(getreq_start_time,
|
fitness_performance(getreq_start_time,
|
||||||
|
@ -13843,7 +13882,10 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
msg_str)
|
msg_str)
|
||||||
msg = msg_str.encode('utf-8')
|
msg = msg_str.encode('utf-8')
|
||||||
msglen = len(msg)
|
msglen = len(msg)
|
||||||
self._set_headers('application/json', msglen,
|
accept_str = self.headers['Accept']
|
||||||
|
protocol_str = \
|
||||||
|
get_json_content_from_accept(accept_str)
|
||||||
|
self._set_headers(protocol_str, msglen,
|
||||||
None, calling_domain, False)
|
None, calling_domain, False)
|
||||||
self._write(msg)
|
self._write(msg)
|
||||||
fitness_performance(getreq_start_time,
|
fitness_performance(getreq_start_time,
|
||||||
|
@ -13875,7 +13917,10 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
msg_str)
|
msg_str)
|
||||||
msg = msg_str.encode('utf-8')
|
msg = msg_str.encode('utf-8')
|
||||||
msglen = len(msg)
|
msglen = len(msg)
|
||||||
self._set_headers('application/json', msglen,
|
accept_str = self.headers['Accept']
|
||||||
|
protocol_str = \
|
||||||
|
get_json_content_from_accept(accept_str)
|
||||||
|
self._set_headers(protocol_str, msglen,
|
||||||
None, calling_domain, False)
|
None, calling_domain, False)
|
||||||
self._write(msg)
|
self._write(msg)
|
||||||
|
|
||||||
|
@ -13903,7 +13948,10 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
msg_str)
|
msg_str)
|
||||||
msg = msg_str.encode('utf-8')
|
msg = msg_str.encode('utf-8')
|
||||||
msglen = len(msg)
|
msglen = len(msg)
|
||||||
self._set_headers('application/json', msglen,
|
accept_str = self.headers['Accept']
|
||||||
|
protocol_str = \
|
||||||
|
get_json_content_from_accept(accept_str)
|
||||||
|
self._set_headers(protocol_str, msglen,
|
||||||
None, calling_domain, False)
|
None, calling_domain, False)
|
||||||
self._write(msg)
|
self._write(msg)
|
||||||
|
|
||||||
|
@ -14996,8 +15044,11 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
msg_str)
|
msg_str)
|
||||||
msg = msg_str.encode('utf-8')
|
msg = msg_str.encode('utf-8')
|
||||||
msglen = len(msg)
|
msglen = len(msg)
|
||||||
self._set_headers('application/json',
|
accept_str = self.headers['Accept']
|
||||||
msglen, None, calling_domain, False)
|
protocol_str = \
|
||||||
|
get_json_content_from_accept(accept_str)
|
||||||
|
self._set_headers(protocol_str, msglen,
|
||||||
|
None, calling_domain, False)
|
||||||
self._write(msg)
|
self._write(msg)
|
||||||
|
|
||||||
def _send_block(self, http_prefix: str,
|
def _send_block(self, http_prefix: str,
|
||||||
|
@ -15147,8 +15198,11 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
msg_str = json.dumps(acct_pub_key_json, ensure_ascii=False)
|
msg_str = json.dumps(acct_pub_key_json, ensure_ascii=False)
|
||||||
msg = msg_str.encode('utf-8')
|
msg = msg_str.encode('utf-8')
|
||||||
msglen = len(msg)
|
msglen = len(msg)
|
||||||
self._set_headers('application/json',
|
accept_str = self.headers['Accept']
|
||||||
msglen, None, calling_domain, False)
|
protocol_str = \
|
||||||
|
get_json_content_from_accept(accept_str)
|
||||||
|
self._set_headers(protocol_str, msglen,
|
||||||
|
None, calling_domain, False)
|
||||||
self._write(msg)
|
self._write(msg)
|
||||||
return
|
return
|
||||||
|
|
||||||
|
@ -15402,8 +15456,11 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
msg_str)
|
msg_str)
|
||||||
msg = msg_str.encode('utf-8')
|
msg = msg_str.encode('utf-8')
|
||||||
msglen = len(msg)
|
msglen = len(msg)
|
||||||
self._set_headers('application/json',
|
accept_str = self.headers['Accept']
|
||||||
msglen, None, calling_domain, False)
|
protocol_str = \
|
||||||
|
get_json_content_from_accept(accept_str)
|
||||||
|
self._set_headers(protocol_str, msglen,
|
||||||
|
None, calling_domain, False)
|
||||||
self._write(msg)
|
self._write(msg)
|
||||||
return
|
return
|
||||||
elif catalog_type == 'csv':
|
elif catalog_type == 'csv':
|
||||||
|
@ -15501,8 +15558,11 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
msg_str)
|
msg_str)
|
||||||
msg = msg_str.encode('utf-8')
|
msg = msg_str.encode('utf-8')
|
||||||
msglen = len(msg)
|
msglen = len(msg)
|
||||||
self._set_headers('application/json',
|
accept_str = self.headers['Accept']
|
||||||
msglen, None, calling_domain, False)
|
protocol_str = \
|
||||||
|
get_json_content_from_accept(accept_str)
|
||||||
|
self._set_headers(protocol_str, msglen,
|
||||||
|
None, calling_domain, False)
|
||||||
self._write(msg)
|
self._write(msg)
|
||||||
return
|
return
|
||||||
elif catalog_type == 'csv':
|
elif catalog_type == 'csv':
|
||||||
|
@ -15855,8 +15915,11 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
msg_str)
|
msg_str)
|
||||||
msg = msg_str.encode('utf-8')
|
msg = msg_str.encode('utf-8')
|
||||||
msglen = len(msg)
|
msglen = len(msg)
|
||||||
self._set_headers('application/json',
|
accept_str = self.headers['Accept']
|
||||||
msglen, None, calling_domain, False)
|
protocol_str = \
|
||||||
|
get_json_content_from_accept(accept_str)
|
||||||
|
self._set_headers(protocol_str, msglen,
|
||||||
|
None, calling_domain, False)
|
||||||
self._write(msg)
|
self._write(msg)
|
||||||
return
|
return
|
||||||
|
|
||||||
|
@ -15924,7 +15987,10 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
msg_str)
|
msg_str)
|
||||||
msg = msg_str.encode('utf-8')
|
msg = msg_str.encode('utf-8')
|
||||||
msglen = len(msg)
|
msglen = len(msg)
|
||||||
self._set_headers('application/json', msglen,
|
accept_str = self.headers['Accept']
|
||||||
|
protocol_str = \
|
||||||
|
get_json_content_from_accept(accept_str)
|
||||||
|
self._set_headers(protocol_str, msglen,
|
||||||
None, calling_domain, False)
|
None, calling_domain, False)
|
||||||
self._write(msg)
|
self._write(msg)
|
||||||
fitness_performance(getreq_start_time, self.server.fitness,
|
fitness_performance(getreq_start_time, self.server.fitness,
|
||||||
|
@ -16007,8 +16073,10 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
msg_str)
|
msg_str)
|
||||||
msg = msg_str.encode('utf-8')
|
msg = msg_str.encode('utf-8')
|
||||||
msglen = len(msg)
|
msglen = len(msg)
|
||||||
self._set_headers('application/json',
|
accept_str = self.headers['Accept']
|
||||||
msglen,
|
protocol_str = \
|
||||||
|
get_json_content_from_accept(accept_str)
|
||||||
|
self._set_headers(protocol_str, msglen,
|
||||||
None, calling_domain, False)
|
None, calling_domain, False)
|
||||||
self._write(msg)
|
self._write(msg)
|
||||||
fitness_performance(getreq_start_time, self.server.fitness,
|
fitness_performance(getreq_start_time, self.server.fitness,
|
||||||
|
@ -18415,8 +18483,10 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
msg_str)
|
msg_str)
|
||||||
msg = msg_str.encode('utf-8')
|
msg = msg_str.encode('utf-8')
|
||||||
msglen = len(msg)
|
msglen = len(msg)
|
||||||
self._set_headers('application/json',
|
accept_str = self.headers['Accept']
|
||||||
msglen,
|
protocol_str = \
|
||||||
|
get_json_content_from_accept(accept_str)
|
||||||
|
self._set_headers(protocol_str, msglen,
|
||||||
None, calling_domain, False)
|
None, calling_domain, False)
|
||||||
self._write(msg)
|
self._write(msg)
|
||||||
fitness_performance(getreq_start_time, self.server.fitness,
|
fitness_performance(getreq_start_time, self.server.fitness,
|
||||||
|
@ -19766,8 +19836,10 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
msg_str)
|
msg_str)
|
||||||
msg = msg_str.encode('utf-8')
|
msg = msg_str.encode('utf-8')
|
||||||
msglen = len(msg)
|
msglen = len(msg)
|
||||||
self._set_headers('application/json',
|
accept_str = self.headers['Accept']
|
||||||
msglen,
|
protocol_str = \
|
||||||
|
get_json_content_from_accept(accept_str)
|
||||||
|
self._set_headers(protocol_str, msglen,
|
||||||
None, calling_domain, False)
|
None, calling_domain, False)
|
||||||
self._write(msg)
|
self._write(msg)
|
||||||
return True
|
return True
|
||||||
|
|
File diff suppressed because one or more lines are too long
41
follow.py
41
follow.py
|
@ -92,8 +92,7 @@ def _pre_approved_follower(base_dir: str,
|
||||||
approve_handle: str) -> bool:
|
approve_handle: str) -> bool:
|
||||||
"""Is the given handle an already manually approved follower?
|
"""Is the given handle an already manually approved follower?
|
||||||
"""
|
"""
|
||||||
handle = nickname + '@' + domain
|
account_dir = acct_dir(base_dir, nickname, domain)
|
||||||
account_dir = base_dir + '/accounts/' + handle
|
|
||||||
approved_filename = account_dir + '/approved.txt'
|
approved_filename = account_dir + '/approved.txt'
|
||||||
if os.path.isfile(approved_filename):
|
if os.path.isfile(approved_filename):
|
||||||
if text_in_file(approve_handle, approved_filename):
|
if text_in_file(approve_handle, approved_filename):
|
||||||
|
@ -107,13 +106,12 @@ def _remove_from_follow_base(base_dir: str,
|
||||||
debug: bool) -> None:
|
debug: bool) -> None:
|
||||||
"""Removes a handle/actor from follow requests or rejects file
|
"""Removes a handle/actor from follow requests or rejects file
|
||||||
"""
|
"""
|
||||||
handle = nickname + '@' + domain
|
accounts_dir = acct_dir(base_dir, nickname, domain)
|
||||||
accounts_dir = base_dir + '/accounts/' + handle
|
|
||||||
approve_follows_filename = accounts_dir + '/' + follow_file + '.txt'
|
approve_follows_filename = accounts_dir + '/' + follow_file + '.txt'
|
||||||
if not os.path.isfile(approve_follows_filename):
|
if not os.path.isfile(approve_follows_filename):
|
||||||
if debug:
|
if debug:
|
||||||
print('There is no ' + follow_file +
|
print('There is no ' + follow_file +
|
||||||
' to remove ' + handle + ' from')
|
' to remove ' + nickname + '@' + domain + ' from')
|
||||||
return
|
return
|
||||||
accept_deny_actor = None
|
accept_deny_actor = None
|
||||||
if not text_in_file(accept_or_deny_handle, approve_follows_filename):
|
if not text_in_file(accept_or_deny_handle, approve_follows_filename):
|
||||||
|
@ -177,10 +175,10 @@ def is_following_actor(base_dir: str,
|
||||||
The actor can also be a handle: nickname@domain
|
The actor can also be a handle: nickname@domain
|
||||||
"""
|
"""
|
||||||
domain = remove_domain_port(domain)
|
domain = remove_domain_port(domain)
|
||||||
handle = nickname + '@' + domain
|
accounts_dir = acct_dir(base_dir, nickname, domain)
|
||||||
if not os.path.isdir(base_dir + '/accounts/' + handle):
|
if not os.path.isdir(accounts_dir):
|
||||||
return False
|
return False
|
||||||
following_file = base_dir + '/accounts/' + handle + '/following.txt'
|
following_file = accounts_dir + '/following.txt'
|
||||||
if not os.path.isfile(following_file):
|
if not os.path.isfile(following_file):
|
||||||
return False
|
return False
|
||||||
if actor.startswith('@'):
|
if actor.startswith('@'):
|
||||||
|
@ -309,7 +307,8 @@ def unfollow_account(base_dir: str, nickname: str, domain: str,
|
||||||
if not os.path.isdir(base_dir + '/accounts/' + handle):
|
if not os.path.isdir(base_dir + '/accounts/' + handle):
|
||||||
os.mkdir(base_dir + '/accounts/' + handle)
|
os.mkdir(base_dir + '/accounts/' + handle)
|
||||||
|
|
||||||
filename = base_dir + '/accounts/' + handle + '/' + follow_file
|
accounts_dir = acct_dir(base_dir, nickname, domain)
|
||||||
|
filename = accounts_dir + '/' + follow_file
|
||||||
if not os.path.isfile(filename):
|
if not os.path.isfile(filename):
|
||||||
if debug:
|
if debug:
|
||||||
print('DEBUG: follow file ' + filename + ' was not found')
|
print('DEBUG: follow file ' + filename + ' was not found')
|
||||||
|
@ -339,7 +338,7 @@ def unfollow_account(base_dir: str, nickname: str, domain: str,
|
||||||
|
|
||||||
# write to an unfollowed file so that if a follow accept
|
# write to an unfollowed file so that if a follow accept
|
||||||
# later arrives then it can be ignored
|
# later arrives then it can be ignored
|
||||||
unfollowed_filename = base_dir + '/accounts/' + handle + '/unfollowed.txt'
|
unfollowed_filename = accounts_dir + '/unfollowed.txt'
|
||||||
if os.path.isfile(unfollowed_filename):
|
if os.path.isfile(unfollowed_filename):
|
||||||
if not text_in_file(handle_to_unfollow_lower,
|
if not text_in_file(handle_to_unfollow_lower,
|
||||||
unfollowed_filename, False):
|
unfollowed_filename, False):
|
||||||
|
@ -374,12 +373,12 @@ def clear_follows(base_dir: str, nickname: str, domain: str,
|
||||||
follow_file: str = 'following.txt') -> None:
|
follow_file: str = 'following.txt') -> None:
|
||||||
"""Removes all follows
|
"""Removes all follows
|
||||||
"""
|
"""
|
||||||
handle = nickname + '@' + domain
|
|
||||||
if not os.path.isdir(base_dir + '/accounts'):
|
if not os.path.isdir(base_dir + '/accounts'):
|
||||||
os.mkdir(base_dir + '/accounts')
|
os.mkdir(base_dir + '/accounts')
|
||||||
if not os.path.isdir(base_dir + '/accounts/' + handle):
|
accounts_dir = acct_dir(base_dir, nickname, domain)
|
||||||
os.mkdir(base_dir + '/accounts/' + handle)
|
if not os.path.isdir(accounts_dir):
|
||||||
filename = base_dir + '/accounts/' + handle + '/' + follow_file
|
os.mkdir(accounts_dir)
|
||||||
|
filename = accounts_dir + '/' + follow_file
|
||||||
if os.path.isfile(filename):
|
if os.path.isfile(filename):
|
||||||
try:
|
try:
|
||||||
os.remove(filename)
|
os.remove(filename)
|
||||||
|
@ -401,8 +400,8 @@ def _get_no_of_follows(base_dir: str, nickname: str, domain: str,
|
||||||
# account holders
|
# account holders
|
||||||
# if not authenticated:
|
# if not authenticated:
|
||||||
# return 9999
|
# return 9999
|
||||||
handle = nickname + '@' + domain
|
accounts_dir = acct_dir(base_dir, nickname, domain)
|
||||||
filename = base_dir + '/accounts/' + handle + '/' + follow_file
|
filename = accounts_dir + '/' + follow_file
|
||||||
if not os.path.isfile(filename):
|
if not os.path.isfile(filename):
|
||||||
return 0
|
return 0
|
||||||
ctr = 0
|
ctr = 0
|
||||||
|
@ -518,8 +517,8 @@ def get_following_feed(base_dir: str, domain: str, port: int, path: str,
|
||||||
|
|
||||||
handle_domain = domain
|
handle_domain = domain
|
||||||
handle_domain = remove_domain_port(handle_domain)
|
handle_domain = remove_domain_port(handle_domain)
|
||||||
handle = nickname + '@' + handle_domain
|
accounts_dir = acct_dir(base_dir, nickname, handle_domain)
|
||||||
filename = base_dir + '/accounts/' + handle + '/' + follow_file + '.txt'
|
filename = accounts_dir + '/' + follow_file + '.txt'
|
||||||
if not os.path.isfile(filename):
|
if not os.path.isfile(filename):
|
||||||
return following
|
return following
|
||||||
curr_page = 1
|
curr_page = 1
|
||||||
|
@ -608,8 +607,7 @@ def no_of_follow_requests(base_dir: str,
|
||||||
follow_type: str) -> int:
|
follow_type: str) -> int:
|
||||||
"""Returns the current number of follow requests
|
"""Returns the current number of follow requests
|
||||||
"""
|
"""
|
||||||
accounts_dir = base_dir + '/accounts/' + \
|
accounts_dir = acct_dir(base_dir, nickname_to_follow, domain_to_follow)
|
||||||
nickname_to_follow + '@' + domain_to_follow
|
|
||||||
approve_follows_filename = accounts_dir + '/followrequests.txt'
|
approve_follows_filename = accounts_dir + '/followrequests.txt'
|
||||||
if not os.path.isfile(approve_follows_filename):
|
if not os.path.isfile(approve_follows_filename):
|
||||||
return 0
|
return 0
|
||||||
|
@ -644,8 +642,7 @@ def store_follow_request(base_dir: str,
|
||||||
group_account: bool) -> bool:
|
group_account: bool) -> bool:
|
||||||
"""Stores the follow request for later use
|
"""Stores the follow request for later use
|
||||||
"""
|
"""
|
||||||
accounts_dir = base_dir + '/accounts/' + \
|
accounts_dir = acct_dir(base_dir, nickname_to_follow, domain_to_follow)
|
||||||
nickname_to_follow + '@' + domain_to_follow
|
|
||||||
if not os.path.isdir(accounts_dir):
|
if not os.path.isdir(accounts_dir):
|
||||||
return False
|
return False
|
||||||
|
|
||||||
|
|
|
@ -622,7 +622,10 @@ def save_person_qrcode(base_dir: str,
|
||||||
return
|
return
|
||||||
handle = get_full_domain('@' + nickname + '@' + qrcode_domain, port)
|
handle = get_full_domain('@' + nickname + '@' + qrcode_domain, port)
|
||||||
url = pyqrcode.create(handle)
|
url = pyqrcode.create(handle)
|
||||||
url.png(qrcode_filename, scale)
|
try:
|
||||||
|
url.png(qrcode_filename, scale)
|
||||||
|
except ModuleNotFoundError:
|
||||||
|
print('EX: pyqrcode png module not found')
|
||||||
|
|
||||||
|
|
||||||
def create_person(base_dir: str, nickname: str, domain: str, port: int,
|
def create_person(base_dir: str, nickname: str, domain: str, port: int,
|
||||||
|
|
4
tests.py
4
tests.py
|
@ -1826,7 +1826,9 @@ def test_shared_items_federation(base_dir: str) -> None:
|
||||||
bob_instance_actor_json = \
|
bob_instance_actor_json = \
|
||||||
get_json(signing_priv_key_pem, session_client,
|
get_json(signing_priv_key_pem, session_client,
|
||||||
'http://' + bob_address + '/@actor', test_headers, {}, True,
|
'http://' + bob_address + '/@actor', test_headers, {}, True,
|
||||||
__version__, 'http', 'somedomain.or.other', 10, True)
|
__version__, 'http', 'somedomain.or.other', 10, False)
|
||||||
|
if not bob_instance_actor_json:
|
||||||
|
print('Unable to get json for ' + 'http://' + bob_address + '/@actor')
|
||||||
assert bob_instance_actor_json
|
assert bob_instance_actor_json
|
||||||
pprint(bob_instance_actor_json)
|
pprint(bob_instance_actor_json)
|
||||||
assert bob_instance_actor_json['name'] == 'ACTOR'
|
assert bob_instance_actor_json['name'] == 'ACTOR'
|
||||||
|
|
23
utils.py
23
utils.py
|
@ -3805,11 +3805,12 @@ def disallow_announce(content: str) -> bool:
|
||||||
"don't boost",
|
"don't boost",
|
||||||
'boost_denied',
|
'boost_denied',
|
||||||
'boosts_denied',
|
'boosts_denied',
|
||||||
'BoostDenied',
|
'boostdenied',
|
||||||
'BoostsDenied'
|
'boostsdenied'
|
||||||
)
|
)
|
||||||
|
content_lower = content.lower()
|
||||||
for diss in disallow_strings:
|
for diss in disallow_strings:
|
||||||
if diss in content:
|
if diss in content_lower:
|
||||||
return True
|
return True
|
||||||
return False
|
return False
|
||||||
|
|
||||||
|
@ -3828,10 +3829,12 @@ def disallow_reply(content: str) -> bool:
|
||||||
'do not reply',
|
'do not reply',
|
||||||
"don't reply",
|
"don't reply",
|
||||||
"don't @ me",
|
"don't @ me",
|
||||||
'DontAtMe'
|
'dont@me',
|
||||||
|
'dontatme'
|
||||||
)
|
)
|
||||||
|
content_lower = content.lower()
|
||||||
for diss in disallow_strings:
|
for diss in disallow_strings:
|
||||||
if diss in content:
|
if diss in content_lower:
|
||||||
return True
|
return True
|
||||||
return False
|
return False
|
||||||
|
|
||||||
|
@ -3859,3 +3862,13 @@ def safe_system_string(text: str) -> str:
|
||||||
"""
|
"""
|
||||||
text = text.replace('$(', '(').replace('`', '')
|
text = text.replace('$(', '(').replace('`', '')
|
||||||
return text
|
return text
|
||||||
|
|
||||||
|
|
||||||
|
def get_json_content_from_accept(accept: str) -> str:
|
||||||
|
"""returns the json content type for the given accept
|
||||||
|
"""
|
||||||
|
protocol_str = 'application/json'
|
||||||
|
if accept:
|
||||||
|
if 'application/ld+json' in accept:
|
||||||
|
protocol_str = 'application/ld+json'
|
||||||
|
return protocol_str
|
||||||
|
|
Loading…
Reference in New Issue