add support for various reference type posts e.g. likes, bookmarks etc
This commit is contained in:
parent
dc2268e825
commit
23be00ad8d
35
example.py
35
example.py
|
@ -27,6 +27,14 @@ app.config['SECRET_KEY'] = 'my super secret key'
|
|||
micropub = MicropubClient(app, client_id='https://brainsteam.co.uk')
|
||||
|
||||
|
||||
ENTITY_TYPE_PLURAL_MAP = {
|
||||
"post": "posts",
|
||||
"note": "notes",
|
||||
"reply": "replies",
|
||||
"bookmark": "bookmarks"
|
||||
}
|
||||
|
||||
|
||||
def authed_endpoint(f):
|
||||
@functools.wraps(f)
|
||||
def wrapper(*args, **kwargs):
|
||||
|
@ -129,7 +137,22 @@ def req():
|
|||
|
||||
doc = request.form.to_dict(flat=True)
|
||||
|
||||
if 'name' in doc:
|
||||
|
||||
if 'in-reply-to' in doc:
|
||||
entry_type = "reply"
|
||||
|
||||
elif 'bookmark-of' in doc:
|
||||
entry_type = "bookmark"
|
||||
elif 'repost-of' in doc:
|
||||
entry_type = "repost"
|
||||
elif 'like-of' in doc:
|
||||
entry_type = "like"
|
||||
|
||||
|
||||
# elif ('photo' in doc) or ('photo' in request.files) or ('photo[]' in request.files):
|
||||
# entry_type = "photo"
|
||||
|
||||
elif 'name' in doc:
|
||||
entry_type = "post"
|
||||
else:
|
||||
entry_type = "note"
|
||||
|
@ -137,7 +160,7 @@ def req():
|
|||
now = datetime.now()
|
||||
now_ts = int(time.mktime(now.timetuple()))
|
||||
|
||||
url = os.path.join("/", entry_type + "s",
|
||||
url = os.path.join("/", ENTITY_TYPE_PLURAL_MAP.get(entry_type, entry_type + "s"),
|
||||
now.strftime("%Y/%m/%d"), str(now_ts))
|
||||
|
||||
if 'name' in doc:
|
||||
|
@ -146,7 +169,7 @@ def req():
|
|||
slug = str(now_ts)
|
||||
|
||||
file_path = os.path.join(os.environ.get(
|
||||
'CONTENT_PREFIX'), entry_type + "s", now.strftime("%Y/%m/%d"), slug + ".md")
|
||||
'CONTENT_PREFIX'), ENTITY_TYPE_PLURAL_MAP.get(entry_type, entry_type + "s"), now.strftime("%Y/%m/%d"), slug + ".md")
|
||||
|
||||
frontmatter = {
|
||||
"url": url,
|
||||
|
@ -154,6 +177,10 @@ def req():
|
|||
"date": now.isoformat(sep='T'),
|
||||
}
|
||||
|
||||
for key in ['bookmark-of', 'in-reply-to', 'repost-of', 'like-of']:
|
||||
if key in doc:
|
||||
frontmatter[key] = doc[key]
|
||||
|
||||
if 'category' in doc:
|
||||
categories = [doc['category']]
|
||||
else:
|
||||
|
@ -225,8 +252,6 @@ def parse_categories():
|
|||
|
||||
def generate_config_json():
|
||||
|
||||
|
||||
|
||||
return {
|
||||
"media-endpoint": request.base_url + "media",
|
||||
"syndicate-to": [
|
||||
|
|
Loading…
Reference in New Issue