From 8e8fe0d437855620ae07185e0e58e800a5a91bcc Mon Sep 17 00:00:00 2001 From: Alexander Morris <qd01a@yourika.com> Date: Sun, 30 Jun 2019 13:43:16 -0400 Subject: [PATCH] Update objects.py --- beembase/objects.py | 97 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 97 insertions(+) diff --git a/beembase/objects.py b/beembase/objects.py index a4c3703d..8fa88c36 100644 --- a/beembase/objects.py +++ b/beembase/objects.py @@ -314,3 +314,100 @@ class CommentOptionExtensions(Static_variant): else: raise Exception("Unknown CommentOptionExtension") super(CommentOptionExtensions, self).__init__(data, type_id) + + +class SocialActionCommentCreate(GrapheneObject): + def __init__(self, *args, **kwargs): + if isArgsThisClass(self, args): + self.data = args[0].data + else: + if len(args) == 1 and len(kwargs) == 0: + kwargs = args[0] + + meta = "" + if "json_metadata" in kwargs and kwargs["json_metadata"]: + if (isinstance(kwargs["json_metadata"], dict) + or isinstance(kwargs["json_metadata"], list)): + meta = json.dumps(kwargs["json_metadata"]) + else: + meta = kwargs["json_metadata"] + + pod = String(kwargs["pod"]) if "pod" in kwargs else None + max_accepted_payout = Amount(kwargs["max_accepted_payout"]) if "max_accepted_payout" in kwargs else None + allow_replies = Bool(kwargs["allow_replies"]) if "allow_replies" in kwargs else None + allow_votes = Bool(kwargs["allow_votes"]) if "allow_votes" in kwargs else None + allow_curation_rewards = Bool(kwargs["allow_curation_rewards"]) if "allow_curation_rewards" in kwargs else None + allow_friends = Bool(kwargs["allow_friends"]) if "allow_friends" in kwargs else None + + super(SocialActionCommentCreate, self).__init__( + OrderedDict([ + ('permlink', String(kwargs["permlink"])), + ('parent_author', String(kwargs["parent_author"])), + ('parent_permlink', String(kwargs["parent_permlink"])), + ('pod', Optional(pod)), + ('max_accepted_payout', Optional(max_accepted_payout)), + ('allow_replies', Optional(allow_replies)), + ('allow_votes', Optional(allow_votes)), + ('allow_curation_rewards', Optional(allow_curation_rewards)), + ('allow_friends', Optional(allow_friends)), + ('title', String(kwargs["title"])), + ('body', String(kwargs["body"])), + ('json_metadata', String(meta)), + ])) + +class SocialActionCommentUpdate(GrapheneObject): + def __init__(self, *args, **kwargs): + if isArgsThisClass(self, args): + self.data = args[0].data + else: + if len(args) == 1 and len(kwargs) == 0: + kwargs = args[0] + + meta = Optional(None) + if "json_metadata" in kwargs and kwargs["json_metadata"]: + if (isinstance(kwargs["json_metadata"], dict) + or isinstance(kwargs["json_metadata"], list)): + meta = json.dumps(kwargs["json_metadata"]) + else: + if "json_metadata" in kwargs: + meta = kwargs["json_metadata"] + + title = kwargs["title"] if "title" in kwargs else None + body = kwargs["body"] if "body" in kwargs else None + + super(SocialActionCommentUpdate, self).__init__( + OrderedDict([ + ('permlink', String(kwargs["permlink"])), + ('title', Optional(String(kwargs["title"]))), + ('body', Optional(String(kwargs["body"]))), + ('json_metadata', meta), + ])) + +class SocialActionCommentDelete(GrapheneObject): + def __init__(self, *args, **kwargs): + if isArgsThisClass(self, args): + self.data = args[0].data + else: + if len(args) == 1 and len(kwargs) == 0: + kwargs = args[0] + + super(SocialActionCommentDelete, self).__init__( + OrderedDict([ + ('permlink', String(kwargs["permlink"])) + ])) + +class SocialActionVariant(Static_variant): + def __init__(self, o): + type_id, data = o + if type_id == 0: + data = SocialActionCommentCreate(data) + else: + if type_id == 1: + data = SocialActionCommentUpdate(data) + else: + if type_id == 2: + data = SocialActionCommentDelete(data) + else: + raise Exception("Unknown SocialAction") + Static_variant.__init__(self, data, type_id) + -- GitLab