mirror of https://gitlab.com/bashrc2/epicyon
Only show web interface after login
parent
49f6341dd6
commit
eeba9b5214
35
daemon.py
35
daemon.py
|
@ -379,6 +379,16 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
if self.server.debug:
|
if self.server.debug:
|
||||||
print('GET Not authorized')
|
print('GET Not authorized')
|
||||||
|
|
||||||
|
# if not authorized then show the login screen
|
||||||
|
if self.headers.get('Accept'):
|
||||||
|
if 'text/html' in self.headers['Accept'] and self.path!='/login':
|
||||||
|
if not authorized:
|
||||||
|
self.send_response(303)
|
||||||
|
self.send_header('Location', '/login')
|
||||||
|
self.end_headers()
|
||||||
|
self.server.POSTbusy=False
|
||||||
|
return
|
||||||
|
|
||||||
# get css
|
# get css
|
||||||
# Note that this comes before the busy flag to avoid conflicts
|
# Note that this comes before the busy flag to avoid conflicts
|
||||||
if self.path.endswith('.css'):
|
if self.path.endswith('.css'):
|
||||||
|
@ -514,12 +524,9 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
nickname=postSections[0]
|
nickname=postSections[0]
|
||||||
statusNumber=postSections[1]
|
statusNumber=postSections[1]
|
||||||
if len(statusNumber)>10 and statusNumber.isdigit():
|
if len(statusNumber)>10 and statusNumber.isdigit():
|
||||||
domainFull=self.server.domain
|
|
||||||
if self.server.port!=80 and self.server.port!=443:
|
|
||||||
domainFull=self.server.domain+':'+str(self.server.port)
|
|
||||||
postFilename= \
|
postFilename= \
|
||||||
self.server.baseDir+'/accounts/'+nickname+'@'+self.server.domain+'/outbox/'+ \
|
self.server.baseDir+'/accounts/'+nickname+'@'+self.server.domain+'/outbox/'+ \
|
||||||
self.server.httpPrefix+':##'+domainFull+'#users#'+nickname+'#statuses#'+statusNumber+'.json'
|
self.server.httpPrefix+':##'+self.server.domainFull+'#users#'+nickname+'#statuses#'+statusNumber+'.json'
|
||||||
if os.path.isfile(postFilename):
|
if os.path.isfile(postFilename):
|
||||||
postJsonObject={}
|
postJsonObject={}
|
||||||
with open(postFilename, 'r') as fp:
|
with open(postFilename, 'r') as fp:
|
||||||
|
@ -557,21 +564,18 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
statusNumber=postSections[2]
|
statusNumber=postSections[2]
|
||||||
if len(statusNumber)>10 and statusNumber.isdigit():
|
if len(statusNumber)>10 and statusNumber.isdigit():
|
||||||
#get the replies file
|
#get the replies file
|
||||||
domainFull=self.server.domain
|
|
||||||
if self.server.port!=80 and self.server.port!=443:
|
|
||||||
domainFull=self.server.domain+':'+str(self.server.port)
|
|
||||||
boxname='outbox'
|
boxname='outbox'
|
||||||
postDir=self.server.baseDir+'/accounts/'+nickname+'@'+self.server.domain+'/'+boxname
|
postDir=self.server.baseDir+'/accounts/'+nickname+'@'+self.server.domain+'/'+boxname
|
||||||
postRepliesFilename= \
|
postRepliesFilename= \
|
||||||
postDir+'/'+ \
|
postDir+'/'+ \
|
||||||
self.server.httpPrefix+':##'+domainFull+'#users#'+nickname+'#statuses#'+statusNumber+'.replies'
|
self.server.httpPrefix+':##'+self.server.domainFull+'#users#'+nickname+'#statuses#'+statusNumber+'.replies'
|
||||||
if not os.path.isfile(postRepliesFilename):
|
if not os.path.isfile(postRepliesFilename):
|
||||||
# There are no replies, so show empty collection
|
# There are no replies, so show empty collection
|
||||||
repliesJson = {
|
repliesJson = {
|
||||||
'@context': 'https://www.w3.org/ns/activitystreams',
|
'@context': 'https://www.w3.org/ns/activitystreams',
|
||||||
'first': self.server.httpPrefix+'://'+domainFull+'/users/'+nickname+'/statuses/'+statusNumber+'/replies?page=true',
|
'first': self.server.httpPrefix+'://'+self.server.domainFull+'/users/'+nickname+'/statuses/'+statusNumber+'/replies?page=true',
|
||||||
'id': self.server.httpPrefix+'://'+domainFull+'/users/'+nickname+'/statuses/'+statusNumber+'/replies',
|
'id': self.server.httpPrefix+'://'+self.server.domainFull+'/users/'+nickname+'/statuses/'+statusNumber+'/replies',
|
||||||
'last': self.server.httpPrefix+'://'+domainFull+'/users/'+nickname+'/statuses/'+statusNumber+'/replies?page=true',
|
'last': self.server.httpPrefix+'://'+self.server.domainFull+'/users/'+nickname+'/statuses/'+statusNumber+'/replies?page=true',
|
||||||
'totalItems': 0,
|
'totalItems': 0,
|
||||||
'type': 'OrderedCollection'}
|
'type': 'OrderedCollection'}
|
||||||
if 'text/html' in self.headers['Accept']:
|
if 'text/html' in self.headers['Accept']:
|
||||||
|
@ -586,10 +590,10 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
# replies exist. Itterate through the text file containing message ids
|
# replies exist. Itterate through the text file containing message ids
|
||||||
repliesJson = {
|
repliesJson = {
|
||||||
'@context': 'https://www.w3.org/ns/activitystreams',
|
'@context': 'https://www.w3.org/ns/activitystreams',
|
||||||
'id': self.server.httpPrefix+'://'+domainFull+'/users/'+nickname+'/statuses/'+statusNumber+'?page=true',
|
'id': self.server.httpPrefix+'://'+self.server.domainFull+'/users/'+nickname+'/statuses/'+statusNumber+'?page=true',
|
||||||
'orderedItems': [
|
'orderedItems': [
|
||||||
],
|
],
|
||||||
'partOf': self.server.httpPrefix+'://'+domainFull+'/users/'+nickname+'/statuses/'+statusNumber,
|
'partOf': self.server.httpPrefix+'://'+self.server.domainFull+'/users/'+nickname+'/statuses/'+statusNumber,
|
||||||
'type': 'OrderedCollectionPage'}
|
'type': 'OrderedCollectionPage'}
|
||||||
|
|
||||||
# populate the items list with replies
|
# populate the items list with replies
|
||||||
|
@ -725,12 +729,9 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
nickname=postSections[0]
|
nickname=postSections[0]
|
||||||
statusNumber=postSections[2]
|
statusNumber=postSections[2]
|
||||||
if len(statusNumber)>10 and statusNumber.isdigit():
|
if len(statusNumber)>10 and statusNumber.isdigit():
|
||||||
domainFull=self.server.domain
|
|
||||||
if self.server.port!=80 and self.server.port!=443:
|
|
||||||
domainFull=self.server.domain+':'+str(self.server.port)
|
|
||||||
postFilename= \
|
postFilename= \
|
||||||
self.server.baseDir+'/accounts/'+nickname+'@'+self.server.domain+'/outbox/'+ \
|
self.server.baseDir+'/accounts/'+nickname+'@'+self.server.domain+'/outbox/'+ \
|
||||||
self.server.httpPrefix+':##'+domainFull+'#users#'+nickname+'#statuses#'+statusNumber+'.json'
|
self.server.httpPrefix+':##'+self.server.domainFull+'#users#'+nickname+'#statuses#'+statusNumber+'.json'
|
||||||
if os.path.isfile(postFilename):
|
if os.path.isfile(postFilename):
|
||||||
postJsonObject={}
|
postJsonObject={}
|
||||||
with open(postFilename, 'r') as fp:
|
with open(postFilename, 'r') as fp:
|
||||||
|
|
Loading…
Reference in New Issue