mirror of
https://codeberg.org/rimu/pyfedi
synced 2025-01-23 19:36:56 -08:00
arrange output to match lemmy output format
This commit is contained in:
parent
42da1ab2ea
commit
e9c1932356
1 changed files with 75 additions and 76 deletions
|
@ -219,6 +219,80 @@ def export_user_settings(user):
|
||||||
|
|
||||||
# take the current_user already found
|
# take the current_user already found
|
||||||
# add user's settings to the dict for output
|
# add user's settings to the dict for output
|
||||||
|
# arranaged to match the lemmy settings output order
|
||||||
|
user_dict['display_name'] = user.title
|
||||||
|
user_dict['bio'] = user.about
|
||||||
|
if user.avatar_image() != '':
|
||||||
|
user_dict['avatar'] = f"https://{current_app.config['SERVER_NAME']}/{user.avatar_image()}"
|
||||||
|
else:
|
||||||
|
user_dict['avatar'] = user.avatar_image()
|
||||||
|
if user.cover_image() != '':
|
||||||
|
user_dict['banner'] = f"https://{current_app.config['SERVER_NAME']}/{user.cover_image()}"
|
||||||
|
else:
|
||||||
|
user_dict['banner'] = user.cover_image()
|
||||||
|
user_dict['matrix_id'] = user.matrix_user_id
|
||||||
|
user_dict['bot_account'] = user.bot
|
||||||
|
user_dict['settings'] = {
|
||||||
|
"email": f"{user.email}",
|
||||||
|
"show_nsfw": lemmy_show_nsfw,
|
||||||
|
"theme": user.theme,
|
||||||
|
"default_sort_type": f'{user.default_sort}'.capitalize(),
|
||||||
|
"default_listing_type": f'{user.default_filter}'.capitalize(),
|
||||||
|
"interface_language": user.interface_language
|
||||||
|
}
|
||||||
|
# get the user subscribed communities' ap_profile_id
|
||||||
|
user_subscribed_communities = []
|
||||||
|
for c in user.communities():
|
||||||
|
if c.ap_profile_id is None:
|
||||||
|
continue
|
||||||
|
else:
|
||||||
|
user_subscribed_communities.append(c.ap_profile_id)
|
||||||
|
user_dict['followed_communities'] = user_subscribed_communities
|
||||||
|
|
||||||
|
# get bookmarked/saved posts
|
||||||
|
bookmarked_posts = []
|
||||||
|
post_bookmarks = PostBookmark.query.filter_by(user_id=user.id).all()
|
||||||
|
for pb in post_bookmarks:
|
||||||
|
p = Post.query.filter_by(id=pb.post_id).first()
|
||||||
|
bookmarked_posts.append(p.ap_id)
|
||||||
|
user_dict['saved_posts'] = bookmarked_posts
|
||||||
|
|
||||||
|
# get bookmarked/saved comments
|
||||||
|
saved_comments = []
|
||||||
|
post_reply_bookmarks = PostReplyBookmark.query.filter_by(user_id=user.id).all()
|
||||||
|
for prb in post_reply_bookmarks:
|
||||||
|
pr = PostReply.query.filter_by(id=prb.post_reply_id).first()
|
||||||
|
saved_comments.append(pr.ap_id)
|
||||||
|
user_dict['saved_comments'] = saved_comments
|
||||||
|
|
||||||
|
# get blocked communities
|
||||||
|
blocked_communities = []
|
||||||
|
community_blocks = CommunityBlock.query.filter_by(user_id=user.id).all()
|
||||||
|
for cb in community_blocks:
|
||||||
|
c = Community.query.filter_by(id=cb.community_id).first()
|
||||||
|
blocked_communities.append(c.ap_public_url)
|
||||||
|
user_dict['blocked_communities'] = blocked_communities
|
||||||
|
|
||||||
|
# get blocked users
|
||||||
|
blocked_users = []
|
||||||
|
user_blocks = UserBlock.query.filter_by(blocker_id=user.id).all()
|
||||||
|
for ub in user_blocks:
|
||||||
|
blocked_user = User.query.filter_by(id=ub.blocked_id).first()
|
||||||
|
blocked_users.append(blocked_user.ap_public_url)
|
||||||
|
user_dict['blocked_users'] = blocked_users
|
||||||
|
|
||||||
|
# get blocked instances
|
||||||
|
blocked_instances = []
|
||||||
|
instance_blocks = InstanceBlock.query.filter_by(user_id=user.id).all()
|
||||||
|
for ib in instance_blocks:
|
||||||
|
i = Instance.query.filter_by(id=ib.instance_id).first()
|
||||||
|
blocked_instances.append(i.domain)
|
||||||
|
user_dict['blocked_instances'] = blocked_instances
|
||||||
|
|
||||||
|
# piefed versions of (most of) the same settings
|
||||||
|
# TO-DO: adjust the piefed side import method to just take the doubled
|
||||||
|
# settings from the lemmy formatted output. Then remove the duplicate
|
||||||
|
# items here.
|
||||||
user_dict['user_name'] = user.user_name
|
user_dict['user_name'] = user.user_name
|
||||||
user_dict['alt_user_name'] = user.alt_user_name
|
user_dict['alt_user_name'] = user.alt_user_name
|
||||||
user_dict['title'] = user.title
|
user_dict['title'] = user.title
|
||||||
|
@ -242,86 +316,11 @@ def export_user_settings(user):
|
||||||
user_dict['avatar_image'] = f"https://{current_app.config['SERVER_NAME']}/{user.avatar_image()}"
|
user_dict['avatar_image'] = f"https://{current_app.config['SERVER_NAME']}/{user.avatar_image()}"
|
||||||
if user.cover_image() != '':
|
if user.cover_image() != '':
|
||||||
user_dict['cover_image'] = f"https://{current_app.config['SERVER_NAME']}/{user.cover_image()}"
|
user_dict['cover_image'] = f"https://{current_app.config['SERVER_NAME']}/{user.cover_image()}"
|
||||||
|
|
||||||
# get blocked users
|
|
||||||
blocked_users = []
|
|
||||||
user_blocks = UserBlock.query.filter_by(blocker_id=user.id).all()
|
|
||||||
for ub in user_blocks:
|
|
||||||
blocked_user = User.query.filter_by(id=ub.blocked_id).first()
|
|
||||||
blocked_users.append(blocked_user.ap_public_url)
|
|
||||||
user_dict['user_blocks'] = blocked_users
|
|
||||||
|
|
||||||
# get blocked communities
|
|
||||||
blocked_communities = []
|
|
||||||
community_blocks = CommunityBlock.query.filter_by(user_id=user.id).all()
|
|
||||||
for cb in community_blocks:
|
|
||||||
c = Community.query.filter_by(id=cb.community_id).first()
|
|
||||||
blocked_communities.append(c.ap_public_url)
|
|
||||||
user_dict['blocked_communities'] = blocked_communities
|
|
||||||
|
|
||||||
# get blocked instances
|
|
||||||
blocked_instances = []
|
|
||||||
instance_blocks = InstanceBlock.query.filter_by(user_id=user.id).all()
|
|
||||||
for ib in instance_blocks:
|
|
||||||
i = Instance.query.filter_by(id=ib.instance_id).first()
|
|
||||||
blocked_instances.append(i.domain)
|
|
||||||
user_dict['blocked_instances'] = blocked_instances
|
|
||||||
|
|
||||||
# get bookmarked/saved posts
|
|
||||||
bookmarked_posts = []
|
|
||||||
post_bookmarks = PostBookmark.query.filter_by(user_id=user.id).all()
|
|
||||||
for pb in post_bookmarks:
|
|
||||||
p = Post.query.filter_by(id=pb.post_id).first()
|
|
||||||
bookmarked_posts.append(p.ap_id)
|
|
||||||
user_dict['saved_posts'] = bookmarked_posts
|
|
||||||
|
|
||||||
# get bookmarked/saved comments
|
|
||||||
saved_comments = []
|
|
||||||
post_reply_bookmarks = PostReplyBookmark.query.filter_by(user_id=user.id).all()
|
|
||||||
for prb in post_reply_bookmarks:
|
|
||||||
pr = PostReply.query.filter_by(id=prb.post_reply_id).first()
|
|
||||||
saved_comments.append(pr.ap_id)
|
|
||||||
user_dict['saved_comments'] = saved_comments
|
|
||||||
|
|
||||||
# lemmy output compatibility
|
|
||||||
user_dict['display_name'] = user.title
|
|
||||||
user_dict['bio'] = user.about
|
|
||||||
if user.avatar_image() != '':
|
|
||||||
user_dict['avatar'] = f"https://{current_app.config['SERVER_NAME']}/{user.avatar_image()}"
|
|
||||||
else:
|
|
||||||
user_dict['avatar'] = user.avatar_image()
|
|
||||||
if user.cover_image() != '':
|
|
||||||
user_dict['banner'] = f"https://{current_app.config['SERVER_NAME']}/{user.cover_image()}"
|
|
||||||
else:
|
|
||||||
user_dict['banner'] = user.cover_image()
|
|
||||||
user_dict['matrix_id'] = user.matrix_user_id
|
|
||||||
user_dict['bot_account'] = user.bot
|
|
||||||
if user.hide_nsfw == 1:
|
if user.hide_nsfw == 1:
|
||||||
lemmy_show_nsfw = False
|
lemmy_show_nsfw = False
|
||||||
else:
|
else:
|
||||||
lemmy_show_nsfw = True
|
lemmy_show_nsfw = True
|
||||||
user_dict['settings'] = {
|
user_dict['user_blocks'] = blocked_users
|
||||||
"email": f"{user.email}",
|
|
||||||
"show_nsfw": lemmy_show_nsfw,
|
|
||||||
"theme": user.theme,
|
|
||||||
"default_sort_type": f'{user.default_sort}'.capitalize(),
|
|
||||||
"default_listing_type": f'{user.default_filter}'.capitalize(),
|
|
||||||
"interface_language": user.interface_language
|
|
||||||
}
|
|
||||||
user_dict['blocked_users'] = blocked_users
|
|
||||||
|
|
||||||
# get the user subscribed communities' ap_profile_id
|
|
||||||
user_subscribed_communities = []
|
|
||||||
for c in user.communities():
|
|
||||||
if c.ap_profile_id is None:
|
|
||||||
continue
|
|
||||||
else:
|
|
||||||
user_subscribed_communities.append(c.ap_profile_id)
|
|
||||||
user_dict['followed_communities'] = user_subscribed_communities
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# setup the BytesIO buffer
|
# setup the BytesIO buffer
|
||||||
buffer = BytesIO()
|
buffer = BytesIO()
|
||||||
|
|
Loading…
Add table
Reference in a new issue