예제 #1
0
    def to_dict(self, avatar, include_namespace=False):
        view = {
            "kind": _kinds()[self.kind_id],
            "metadata": json.loads(self.metadata_json),
            "ip": self.ip,
            "datetime": _format_date(self.datetime),
        }

        if self.performer_username:
            performer = AttrDict({
                "username": self.performer_username,
                "email": self.performer_email
            })
            performer.robot = None
            if self.performer_robot:
                performer.robot = self.performer_robot

            view["performer"] = {
                "kind": "user",
                "name": self.performer_username,
                "is_robot": self.performer_robot,
                "avatar": avatar.get_data_for_user(performer),
            }

        if include_namespace:
            if self.account_username:
                account = AttrDict({
                    "username": self.account_username,
                    "email": self.account_email
                })
                if self.account_organization:

                    view["namespace"] = {
                        "kind": "org",
                        "name": self.account_username,
                        "avatar": avatar.get_data_for_org(account),
                    }
                else:
                    account.robot = None
                    if self.account_robot:
                        account.robot = self.account_robot
                    view["namespace"] = {
                        "kind": "user",
                        "name": self.account_username,
                        "avatar": avatar.get_data_for_user(account),
                    }

        return view
예제 #2
0
    def to_dict(self, avatar, include_namespace=False):
        view = {
            'kind': _kinds()[self.kind_id],
            'metadata': json.loads(self.metadata_json),
            'ip': self.ip,
            'datetime': _format_date(self.datetime),
        }

        if self.performer_username:
            performer = AttrDict({
                'username': self.performer_username,
                'email': self.performer_email
            })
            performer.robot = None
            if self.performer_robot:
                performer.robot = self.performer_robot

            view['performer'] = {
                'kind': 'user',
                'name': self.performer_username,
                'is_robot': self.performer_robot,
                'avatar': avatar.get_data_for_user(performer),
            }

        if include_namespace:
            if self.account_username:
                account = AttrDict({
                    'username': self.account_username,
                    'email': self.account_email
                })
                if self.account_organization:

                    view['namespace'] = {
                        'kind': 'org',
                        'name': self.account_username,
                        'avatar': avatar.get_data_for_org(account),
                    }
                else:
                    account.robot = None
                    if self.account_robot:
                        account.robot = self.account_robot
                    view['namespace'] = {
                        'kind': 'user',
                        'name': self.account_username,
                        'avatar': avatar.get_data_for_user(account),
                    }

        return view