nodes: 0, module; 1, function_definition; 2, function_name:getList; 3, parameters; 4, block; 5, identifier:self; 6, identifier:aspList; 7, expression_statement; 8, comment:# Significators; 9, expression_statement; 10, expression_statement; 11, expression_statement; 12, expression_statement; 13, comment:# Promissors; 14, expression_statement; 15, expression_statement; 16, expression_statement; 17, expression_statement; 18, expression_statement; 19, comment:# Compute all; 20, expression_statement; 21, for_statement; 22, return_statement; 23, comment:""" Returns a sorted list with all
          primary directions. 
          
          """; 24, assignment; 25, assignment; 26, assignment; 27, assignment; 28, assignment; 29, assignment; 30, assignment; 31, assignment; 32, assignment; 33, assignment; 34, identifier:prom; 35, identifier:promissors; 36, block; 37, call; 38, identifier:objects; 39, call; 40, identifier:houses; 41, call; 42, identifier:angles; 43, call; 44, identifier:significators; 45, binary_operator:objects + houses + angles; 46, identifier:objects; 47, call; 48, identifier:terms; 49, call; 50, identifier:antiscias; 51, call; 52, identifier:cantiscias; 53, call; 54, identifier:promissors; 55, binary_operator:objects + terms + antiscias + cantiscias; 56, identifier:res; 57, list; 58, for_statement; 59, identifier:sorted; 60, argument_list; 61, attribute; 62, argument_list; 63, attribute; 64, argument_list; 65, attribute; 66, argument_list; 67, binary_operator:objects + houses; 68, identifier:angles; 69, attribute; 70, argument_list; 71, attribute; 72, argument_list; 73, attribute; 74, argument_list; 75, attribute; 76, argument_list; 77, binary_operator:objects + terms + antiscias; 78, identifier:cantiscias; 79, identifier:sig; 80, identifier:significators; 81, block; 82, identifier:res; 83, identifier:self; 84, identifier:_elements; 85, attribute; 86, attribute; 87, list; 88, identifier:self; 89, identifier:_elements; 90, attribute; 91, attribute; 92, list; 93, identifier:self; 94, identifier:_elements; 95, attribute; 96, attribute; 97, list; 98, identifier:objects; 99, identifier:houses; 100, identifier:self; 101, identifier:_elements; 102, attribute; 103, attribute; 104, identifier:aspList; 105, identifier:self; 106, identifier:_terms; 107, identifier:self; 108, identifier:_elements; 109, attribute; 110, attribute; 111, list; 112, identifier:self; 113, identifier:_elements; 114, attribute; 115, attribute; 116, list; 117, binary_operator:objects + terms; 118, identifier:antiscias; 119, if_statement; 120, expression_statement; 121, for_statement; 122, identifier:self; 123, identifier:SIG_OBJECTS; 124, identifier:self; 125, identifier:N; 126, integer:0; 127, identifier:self; 128, identifier:SIG_HOUSES; 129, identifier:self; 130, identifier:N; 131, integer:0; 132, identifier:self; 133, identifier:SIG_ANGLES; 134, identifier:self; 135, identifier:N; 136, integer:0; 137, identifier:self; 138, identifier:SIG_OBJECTS; 139, identifier:self; 140, identifier:N; 141, identifier:self; 142, identifier:SIG_OBJECTS; 143, identifier:self; 144, identifier:A; 145, integer:0; 146, identifier:self; 147, identifier:SIG_OBJECTS; 148, identifier:self; 149, identifier:C; 150, integer:0; 151, identifier:objects; 152, identifier:terms; 153, parenthesized_expression; 154, block; 155, assignment; 156, tuple_pattern; 157, list; 158, block; 159, comparison_operator:prom['id'] == sig['id']; 160, continue_statement; 161, identifier:arcs; 162, call; 163, identifier:x; 164, identifier:y; 165, tuple; 166, tuple; 167, expression_statement; 168, if_statement; 169, subscript; 170, subscript; 171, attribute; 172, argument_list; 173, string; 174, string; 175, string; 176, string; 177, assignment; 178, comparison_operator:0 < arc < self.MAX_ARC; 179, block; 180, identifier:prom; 181, string; 182, identifier:sig; 183, string; 184, identifier:self; 185, identifier:_arc; 186, identifier:prom; 187, identifier:sig; 188, string_content:arcm; 189, string_content:M; 190, string_content:arcz; 191, string_content:Z; 192, identifier:arc; 193, subscript; 194, integer:0; 195, identifier:arc; 196, attribute; 197, expression_statement; 198, string_content:id; 199, string_content:id; 200, identifier:arcs; 201, identifier:x; 202, identifier:self; 203, identifier:MAX_ARC; 204, call; 205, attribute; 206, argument_list; 207, identifier:res; 208, identifier:append; 209, list; 210, subscript; 211, subscript; 212, subscript; 213, identifier:y; 214, identifier:arcs; 215, identifier:x; 216, identifier:prom; 217, string; 218, identifier:sig; 219, string; 220, string_content:id; 221, string_content:id
code: def getList(self, aspList):
          """ Returns a sorted list with all
          primary directions. 
          
          """
          # Significators
          objects = self._elements(self.SIG_OBJECTS, self.N, [0])
          houses = self._elements(self.SIG_HOUSES, self.N, [0])
          angles = self._elements(self.SIG_ANGLES, self.N, [0])
          significators = objects + houses + angles
          
          # Promissors
          objects = self._elements(self.SIG_OBJECTS, self.N, aspList)
          terms = self._terms()
          antiscias = self._elements(self.SIG_OBJECTS, self.A, [0])
          cantiscias = self._elements(self.SIG_OBJECTS, self.C, [0])
          promissors = objects + terms + antiscias + cantiscias
  
          # Compute all
          res = []
          for prom in promissors:
              for sig in significators:
                  if (prom['id'] == sig['id']):
                      continue
                  arcs = self._arc(prom, sig)
                  for (x,y) in [('arcm', 'M'), ('arcz', 'Z')]:
                      arc = arcs[x]
                      if 0 < arc < self.MAX_ARC:
                          res.append([
                              arcs[x],
                              prom['id'],
                              sig['id'],
                              y,
                          ])
  
          return sorted(res)