docs: def convert_args(self, rem_path, args):
          """Splits the rest of a URL into its argument parts. The URL is assumed
             to start with the dynamic request prefix already removed.
  
          Parameters
          ----------
          rem_path : string
              The URL to parse. The URL must start with the dynamic request
              prefix already removed.
  
          args : map
              The map to fill.
  
          Returns
          -------
          args enriched with 'paths', an array containing the remaining path
          segments, 'query', a map containing the query fields and flags, and
          'fragment' containing the fragment part as string.
          """
          fragment_split = rem_path.split('#', 1)
          query_split = fragment_split[0].split('?', 1)
          segs = filter(
              lambda p: len(p) and p != '.',
              os.path.normpath(query_split[0]).split('/'))
          paths = [urlparse_unquote(p) for p in segs]
          query = self.convert_argmap(query_split[1]) \
              if len(query_split) > 1 else {}
          args['paths'] = paths
          args['query'] = query
          args['fragment'] = urlparse_unquote(fragment_split[1]).decode('utf8') \
              if len(fragment_split) > 1 else ''
          return args