nodes: 0, module; 1, function_definition; 2, function_name:get_workspace_activities; 3, parameters; 4, block; 5, identifier:brain; 6, default_parameter; 7, expression_statement; 8, expression_statement; 9, expression_statement; 10, return_statement; 11, identifier:limit; 12, integer:1; 13, comment:""" Return the workspace activities sorted by reverse chronological
      order
  
      Regarding the time value:
       - the datetime value contains the time in international format
         (machine readable)
       - the title value contains the absolute date and time of the post
      """; 14, assignment; 15, assignment; 16, list_comprehension; 17, identifier:mb; 18, call; 19, identifier:items; 20, call; 21, dictionary; 22, for_in_clause; 23, identifier:queryUtility; 24, argument_list; 25, attribute; 26, argument_list; 27, pair; 28, pair; 29, pair; 30, pair; 31, identifier:item; 32, identifier:items; 33, identifier:IMicroblogTool; 34, identifier:mb; 35, identifier:context_values; 36, call; 37, keyword_argument; 38, string; 39, attribute; 40, string; 41, string; 42, string; 43, attribute; 44, string; 45, dictionary; 46, attribute; 47, argument_list; 48, identifier:limit; 49, identifier:limit; 50, string_content:subject; 51, identifier:item; 52, identifier:creator; 53, string_content:verb; 54, string_content:published; 55, string_content:object; 56, identifier:item; 57, identifier:text; 58, string_content:time; 59, pair; 60, pair; 61, identifier:brain; 62, identifier:getObject; 63, string; 64, call; 65, string; 66, call; 67, string_content:datetime; 68, attribute; 69, argument_list; 70, string_content:title; 71, attribute; 72, argument_list; 73, attribute; 74, identifier:strftime; 75, string; 76, attribute; 77, identifier:strftime; 78, string; 79, identifier:item; 80, identifier:date; 81, string_content:%Y-%m-%d; 82, identifier:item; 83, identifier:date; 84, string_content:%d %B %Y, %H:%M
code: def get_workspace_activities(brain, limit=1):
      """ Return the workspace activities sorted by reverse chronological
      order
  
      Regarding the time value:
       - the datetime value contains the time in international format
         (machine readable)
       - the title value contains the absolute date and time of the post
      """
      mb = queryUtility(IMicroblogTool)
      items = mb.context_values(brain.getObject(), limit=limit)
      return [
          {
              'subject': item.creator,
              'verb': 'published',
              'object': item.text,
              'time': {
                  'datetime': item.date.strftime('%Y-%m-%d'),
                  'title': item.date.strftime('%d %B %Y, %H:%M'),
              }
          } for item in items
      ]