mirror of https://gitlab.com/bashrc2/epicyon
Snake case
parent
651c0d2069
commit
752a44c5d5
22
tox.py
22
tox.py
|
@ -44,22 +44,22 @@ def get_tox_address(actor_json: {}) -> str:
|
|||
def set_tox_address(actor_json: {}, tox_address: str) -> None:
|
||||
"""Sets an tox address for the given actor
|
||||
"""
|
||||
notToxAddress = False
|
||||
not_tox_address = False
|
||||
|
||||
if len(tox_address) != 76:
|
||||
notToxAddress = True
|
||||
not_tox_address = True
|
||||
if tox_address.upper() != tox_address:
|
||||
notToxAddress = True
|
||||
not_tox_address = True
|
||||
if '"' in tox_address:
|
||||
notToxAddress = True
|
||||
not_tox_address = True
|
||||
if ' ' in tox_address:
|
||||
notToxAddress = True
|
||||
not_tox_address = True
|
||||
if '.' in tox_address:
|
||||
notToxAddress = True
|
||||
not_tox_address = True
|
||||
if ',' in tox_address:
|
||||
notToxAddress = True
|
||||
not_tox_address = True
|
||||
if '<' in tox_address:
|
||||
notToxAddress = True
|
||||
not_tox_address = True
|
||||
|
||||
if not actor_json.get('attachment'):
|
||||
actor_json['attachment'] = []
|
||||
|
@ -77,7 +77,7 @@ def set_tox_address(actor_json: {}, tox_address: str) -> None:
|
|||
break
|
||||
if property_found:
|
||||
actor_json['attachment'].remove(property_found)
|
||||
if notToxAddress:
|
||||
if not_tox_address:
|
||||
return
|
||||
|
||||
for property_value in actor_json['attachment']:
|
||||
|
@ -92,9 +92,9 @@ def set_tox_address(actor_json: {}, tox_address: str) -> None:
|
|||
property_value['value'] = tox_address
|
||||
return
|
||||
|
||||
newToxAddress = {
|
||||
new_tox_address = {
|
||||
"name": "Tox",
|
||||
"type": "PropertyValue",
|
||||
"value": tox_address
|
||||
}
|
||||
actor_json['attachment'].append(newToxAddress)
|
||||
actor_json['attachment'].append(new_tox_address)
|
||||
|
|
108
video.py
108
video.py
|
@ -22,22 +22,22 @@ def convert_video_to_note(base_dir: str, nickname: str, domain: str,
|
|||
a Note, so that it can then be displayed in a timeline
|
||||
"""
|
||||
# check that the required fields are present
|
||||
requiredFields = (
|
||||
required_fields = (
|
||||
'type', '@context', 'id', 'published', 'to', 'cc',
|
||||
'attributedTo', 'commentsEnabled', 'content', 'sensitive',
|
||||
'name', 'url'
|
||||
)
|
||||
for fieldName in requiredFields:
|
||||
if not post_json_object.get(fieldName):
|
||||
for field_name in required_fields:
|
||||
if not post_json_object.get(field_name):
|
||||
return None
|
||||
|
||||
if post_json_object['type'] != 'Video':
|
||||
return None
|
||||
|
||||
# who is this attributed to ?
|
||||
attributedTo = None
|
||||
attributed_to = None
|
||||
if isinstance(post_json_object['attributedTo'], str):
|
||||
attributedTo = post_json_object['attributedTo']
|
||||
attributed_to = post_json_object['attributedTo']
|
||||
elif isinstance(post_json_object['attributedTo'], list):
|
||||
for entity in post_json_object['attributedTo']:
|
||||
if not isinstance(entity, dict):
|
||||
|
@ -48,28 +48,28 @@ def convert_video_to_note(base_dir: str, nickname: str, domain: str,
|
|||
continue
|
||||
if not entity.get('id'):
|
||||
continue
|
||||
attributedTo = entity['id']
|
||||
attributed_to = entity['id']
|
||||
break
|
||||
if not attributedTo:
|
||||
if not attributed_to:
|
||||
return None
|
||||
|
||||
# get the language of the video
|
||||
postLanguage = system_language
|
||||
post_language = system_language
|
||||
if post_json_object.get('language'):
|
||||
if isinstance(post_json_object['language'], dict):
|
||||
if post_json_object['language'].get('identifier'):
|
||||
postLanguage = post_json_object['language']['identifier']
|
||||
post_language = post_json_object['language']['identifier']
|
||||
|
||||
# check that the attributed actor is not blocked
|
||||
postNickname = get_nickname_from_actor(attributedTo)
|
||||
if not postNickname:
|
||||
post_nickname = get_nickname_from_actor(attributed_to)
|
||||
if not post_nickname:
|
||||
return None
|
||||
postDomain, postDomainPort = get_domain_from_actor(attributedTo)
|
||||
if not postDomain:
|
||||
post_domain, post_domain_port = get_domain_from_actor(attributed_to)
|
||||
if not post_domain:
|
||||
return None
|
||||
postDomainFull = get_full_domain(postDomain, postDomainPort)
|
||||
post_domain_full = get_full_domain(post_domain, post_domain_port)
|
||||
if is_blocked(base_dir, nickname, domain,
|
||||
postNickname, postDomainFull, blocked_cache):
|
||||
post_nickname, post_domain_full, blocked_cache):
|
||||
return None
|
||||
|
||||
# check that the content is valid
|
||||
|
@ -89,90 +89,90 @@ def convert_video_to_note(base_dir: str, nickname: str, domain: str,
|
|||
content += '<p>' + post_json_object['license']['name'] + '</p>'
|
||||
content += post_json_object['content']
|
||||
|
||||
conversationId = remove_id_ending(post_json_object['id'])
|
||||
conversation_id = remove_id_ending(post_json_object['id'])
|
||||
|
||||
mediaType = None
|
||||
mediaUrl = None
|
||||
mediaTorrent = None
|
||||
mediaMagnet = None
|
||||
for mediaLink in post_json_object['url']:
|
||||
if not isinstance(mediaLink, dict):
|
||||
media_type = None
|
||||
media_url = None
|
||||
media_torrent = None
|
||||
media_magnet = None
|
||||
for media_link in post_json_object['url']:
|
||||
if not isinstance(media_link, dict):
|
||||
continue
|
||||
if not mediaLink.get('mediaType'):
|
||||
if not media_link.get('mediaType'):
|
||||
continue
|
||||
if not mediaLink.get('href'):
|
||||
if not media_link.get('href'):
|
||||
continue
|
||||
if mediaLink['mediaType'] == 'application/x-bittorrent':
|
||||
mediaTorrent = mediaLink['href']
|
||||
if mediaLink['href'].startswith('magnet:'):
|
||||
mediaMagnet = mediaLink['href']
|
||||
if mediaLink['mediaType'] != 'video/mp4' and \
|
||||
mediaLink['mediaType'] != 'video/ogv':
|
||||
if media_link['mediaType'] == 'application/x-bittorrent':
|
||||
media_torrent = media_link['href']
|
||||
if media_link['href'].startswith('magnet:'):
|
||||
media_magnet = media_link['href']
|
||||
if media_link['mediaType'] != 'video/mp4' and \
|
||||
media_link['mediaType'] != 'video/ogv':
|
||||
continue
|
||||
if not mediaUrl:
|
||||
mediaType = mediaLink['mediaType']
|
||||
mediaUrl = mediaLink['href']
|
||||
if not media_url:
|
||||
media_type = media_link['mediaType']
|
||||
media_url = media_link['href']
|
||||
|
||||
if not mediaUrl:
|
||||
if not media_url:
|
||||
return None
|
||||
|
||||
attachment = [{
|
||||
'mediaType': mediaType,
|
||||
'mediaType': media_type,
|
||||
'name': post_json_object['content'],
|
||||
'type': 'Document',
|
||||
'url': mediaUrl
|
||||
'url': media_url
|
||||
}]
|
||||
|
||||
if mediaTorrent or mediaMagnet:
|
||||
if media_torrent or media_magnet:
|
||||
content += '<p>'
|
||||
if mediaTorrent:
|
||||
content += '<a href="' + mediaTorrent + '">⇓</a> '
|
||||
if mediaMagnet:
|
||||
content += '<a href="' + mediaMagnet + '">🧲</a>'
|
||||
if media_torrent:
|
||||
content += '<a href="' + media_torrent + '">⇓</a> '
|
||||
if media_magnet:
|
||||
content += '<a href="' + media_magnet + '">🧲</a>'
|
||||
content += '</p>'
|
||||
|
||||
newPostId = remove_id_ending(post_json_object['id'])
|
||||
newPost = {
|
||||
new_post_id = remove_id_ending(post_json_object['id'])
|
||||
new_post = {
|
||||
'@context': post_json_object['@context'],
|
||||
'id': newPostId + '/activity',
|
||||
'id': new_post_id + '/activity',
|
||||
'type': 'Create',
|
||||
'actor': attributedTo,
|
||||
'actor': attributed_to,
|
||||
'published': post_json_object['published'],
|
||||
'to': post_json_object['to'],
|
||||
'cc': post_json_object['cc'],
|
||||
'object': {
|
||||
'id': newPostId,
|
||||
'conversation': conversationId,
|
||||
'id': new_post_id,
|
||||
'conversation': conversation_id,
|
||||
'type': 'Note',
|
||||
'summary': None,
|
||||
'inReplyTo': None,
|
||||
'published': post_json_object['published'],
|
||||
'url': newPostId,
|
||||
'attributedTo': attributedTo,
|
||||
'url': new_post_id,
|
||||
'attributedTo': attributed_to,
|
||||
'to': post_json_object['to'],
|
||||
'cc': post_json_object['cc'],
|
||||
'sensitive': post_json_object['sensitive'],
|
||||
'atomUri': newPostId,
|
||||
'atomUri': new_post_id,
|
||||
'inReplyToAtomUri': None,
|
||||
'commentsEnabled': post_json_object['commentsEnabled'],
|
||||
'rejectReplies': not post_json_object['commentsEnabled'],
|
||||
'mediaType': 'text/html',
|
||||
'content': content,
|
||||
'contentMap': {
|
||||
postLanguage: content
|
||||
post_language: content
|
||||
},
|
||||
'attachment': attachment,
|
||||
'tag': [],
|
||||
'replies': {
|
||||
'id': newPostId + '/replies',
|
||||
'id': new_post_id + '/replies',
|
||||
'type': 'Collection',
|
||||
'first': {
|
||||
'type': 'CollectionPage',
|
||||
'partOf': newPostId + '/replies',
|
||||
'partOf': new_post_id + '/replies',
|
||||
'items': []
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return newPost
|
||||
return new_post
|
||||
|
|
Loading…
Reference in New Issue