Пример #1
0
 def _Slice(key):
     """Helper to add one flattened slice tap."""
     tap = display_taps.Flattener(key)
     # Apply the flatteners from left to right so the innermost flattener
     # flattens the leftmost slice. The outer flatteners can then access
     # the flattened keys to the left.
     self._resources = peek_iterable.Tapper(self._resources, tap)
Пример #2
0
 def _AddFlattenTap(self):
   """Taps one or more resource flatteners into self.resources if needed."""
   keys = self._GetFlag('flatten')
   if not keys:
     return
   for key in keys:
     flattened_key = []
     for k in resource_lex.Lexer(key).Key():
       if k is None:
         # None represents a [] slice in resource keys.
         tap = display_taps.Flattener(flattened_key)
         # Apply the flatteners from left to right so the innermost flattener
         # flattens the leftmost slice. The outer flatteners can then access
         # the flattened keys to the left.
         self._resources = peek_iterable.Tapper(self._resources, tap)
       else:
         flattened_key.append(k)