Esempio n. 1
0
def _get_agents_real(discussion, view_def=None):
    agents = AgentProfile.db().query(AgentProfile).all()
    # TODO: Only those in the discussion...
    # look at permissions, posts, extracts... argh!

    if view_def:
        return [agent.generic_json(view_def) for agent in agents]
    else:
        return [agent.serializable() for agent in agents]
Esempio n. 2
0
def get_agent(request):
    view_def = request.GET.get('view')
    agent_id = request.matchdict['id']
    agent = AgentProfile.get_instance(agent_id)

    if not agent:
        raise HTTPNotFound("Agent with id '%s' not found." % agent_id)

    if view_def:
        return agent.generic_json(view_def)
    else:
        return agent.serializable()
Esempio n. 3
0
def get_agents(request, discussion_only=False):
    # discussion_id = int(request.matchdict['discussion_id'])
    # discussion = Discussion.get(id=discussion_id)
    view_def = request.GET.get('view')

    # if not discussion:
    #     raise HTTPNotFound(
    #         "Discussion with id '%s' not found." % discussion_id
    #     )
    agents = AgentProfile.db().query(AgentProfile).all()
    # TODO: Only those in the discussion...
    # look at permissions, posts, extracts... argh!

    if view_def:
        return [agent.generic_json(view_def) for agent in agents]
    else:
        return [agent.serializable() for agent in agents]
Esempio n. 4
0
    def serializable(self):
        data = {}
        data["@id"] = self.uri()
        data["@type"] = Post.external_typename()

        data["checked"] = False
        #FIXME
        data["collapsed"] = False
        #FIXME
        data["read"] = True
        data["parentId"] = Post.uri_generic(self.parent_id)
        subject = self.get_title()
        if self.type == 'email':
            subject = self.source.mangle_mail_subject(subject)
        data["subject"] = subject
        data["body"] = self.get_body()
        data["idCreator"] = AgentProfile.uri_generic(self.creator_id)
        data["date"] = self.creation_date.isoformat()
        return data