Add blog content

merge-requests/30/head
Bob Mottram 2020-03-01 12:33:20 +00:00
parent e0190b2106
commit 5fe0e5d381
3 changed files with 41 additions and 18 deletions

25
blog.py
View File

@ -26,6 +26,8 @@ from webinterface import htmlFooter
from webinterface import addEmbeddedElements from webinterface import addEmbeddedElements
from utils import getNicknameFromActor from utils import getNicknameFromActor
from utils import getDomainFromActor from utils import getDomainFromActor
from utils import locatePost
from utils import loadJson
from posts import createBlogsTimeline from posts import createBlogsTimeline
@ -534,9 +536,18 @@ def htmlEditBlog(mediaInstance: bool,translate: {}, \
baseDir: str,httpPrefix: str, \ baseDir: str,httpPrefix: str, \
path: str, \ path: str, \
pageNumber: int, \ pageNumber: int, \
nickname: str,domain: str) -> str: nickname: str,domain: str, \
postUrl: str) -> str:
"""Edit a blog post after it was created """Edit a blog post after it was created
""" """
postFilename=locatePost(baseDir,nickname,domain,postUrl)
if not postFilename:
return None
postJsonObject=loadJson(postFilename)
if not postJsonObject:
return None
iconsDir=getIconsDir(baseDir) iconsDir=getIconsDir(baseDir)
editBlogText='<p class="new-post-text">'+translate['Write your post text below.']+'</p>' editBlogText='<p class="new-post-text">'+translate['Write your post text below.']+'</p>'
@ -597,7 +608,7 @@ def htmlEditBlog(mediaInstance: bool,translate: {}, \
editBlogForm+= \ editBlogForm+= \
'<form enctype="multipart/form-data" method="POST" accept-charset="UTF-8" action="'+ \ '<form enctype="multipart/form-data" method="POST" accept-charset="UTF-8" action="'+ \
path+'?'+endpoint+'?page='+str(pageNumber)+'">' pathBase+'?'+endpoint+'?page='+str(pageNumber)+'">'
editBlogForm+=' <div class="vertical-center">' editBlogForm+=' <div class="vertical-center">'
editBlogForm+=' <label for="nickname"><b>'+editBlogText+'</b></label>' editBlogForm+=' <label for="nickname"><b>'+editBlogText+'</b></label>'
editBlogForm+=' <div class="container">' editBlogForm+=' <div class="container">'
@ -627,14 +638,20 @@ def htmlEditBlog(mediaInstance: bool,translate: {}, \
editBlogForm+=editBlogImageSection editBlogForm+=editBlogImageSection
editBlogForm+= \ editBlogForm+= \
' <label class="labels">'+placeholderSubject+'</label><br>' ' <label class="labels">'+placeholderSubject+'</label><br>'
editBlogForm+=' <input type="text" name="subject">' titleStr=''
if postJsonObject['object'].get('summary'):
titleStr=postJsonObject['object']['summary']
editBlogForm+= \
' <input type="text" name="subject" value="'+titleStr+'">'
editBlogForm+='' editBlogForm+=''
editBlogForm+=' <br><label class="labels">'+placeholderMessage+'</label>' editBlogForm+=' <br><label class="labels">'+placeholderMessage+'</label>'
messageBoxHeight=800 messageBoxHeight=800
contentStr=postJsonObject['object']['content']
editBlogForm+= \ editBlogForm+= \
' <textarea id="message" name="message" style="height:'+ \ ' <textarea id="message" name="message" style="height:'+ \
str(messageBoxHeight)+'px"></textarea>' str(messageBoxHeight)+'px">'+contentStr+'</textarea>'
editBlogForm+=dateAndLocation editBlogForm+=dateAndLocation
if not mediaInstance: if not mediaInstance:
editBlogForm+=editBlogImageSection editBlogForm+=editBlogImageSection

View File

@ -2380,16 +2380,21 @@ class PubServer(BaseHTTPRequestHandler):
actor=self.path.split('?actor=')[1] actor=self.path.split('?actor=')[1]
if '?' in actor: if '?' in actor:
actor=actor.split('?')[0] actor=actor.split('?')[0]
actor=self.server.domainFull+'/users/'+actor
pathWithoutOptions=self.path.split('?')[0] pathWithoutOptions=self.path.split('?')[0]
if actor in pathWithoutOptions: if actor in pathWithoutOptions:
nickname=getNicknameFromActor(self.path) nickname=getNicknameFromActor(self.path)
postUrl=pathWithoutOptions+'/statuses/'+messageId
msg=htmlEditBlog(self.server.mediaInstance, \ msg=htmlEditBlog(self.server.mediaInstance, \
self.server.translate, \ self.server.translate, \
self.server.baseDir, \ self.server.baseDir, \
self.server.httpPrefix, \ self.server.httpPrefix, \
self.path, \ self.path, \
replyPageNumber, \ replyPageNumber, \
nickname,self.server.domain).encode() nickname,self.server.domain, \
postUrl)
if msg:
msg-msg.encode()
self._set_headers('text/html',len(msg),cookie) self._set_headers('text/html',len(msg),cookie)
self._write(msg) self._write(msg)
self.server.GETbusy=False self.server.GETbusy=False

View File

@ -2992,10 +2992,11 @@ def individualPostAsHtml(recentPostsCache: {},maxRecentPosts: int, \
editStr='' editStr=''
if fullDomain+'/users/'+nickname in postJsonObject['actor']: if fullDomain+'/users/'+nickname in postJsonObject['actor']:
if isBlogPost(postJsonObject): if isBlogPost(postJsonObject):
if '/statuses/' in postJsonObject['object']['id']:
editStr+= \ editStr+= \
'<a href="/users/'+nickname+'?editblogpost='+ \ '<a href="/users/'+nickname+'?editblogpost='+ \
postJsonObject['object']['id']+ \ postJsonObject['object']['id'].split('/statuses/')[1]+ \
'?actor='+postJsonObject['actor']+ \ '?actor='+actorNickname+ \
'" title="'+translate['Edit blog post']+'">'+ \ '" title="'+translate['Edit blog post']+'">'+ \
'<img loading="lazy" title="'+ \ '<img loading="lazy" title="'+ \
translate['Edit blog post']+' |" alt="'+ \ translate['Edit blog post']+' |" alt="'+ \