code: def make_canonical_urlargd(urlargd, default_urlargd):
      
  
      canonical = drop_default_urlargd(urlargd, default_urlargd)
  
      if canonical:
          return '?' + urlencode(canonical, doseq=True)
          # FIXME double escaping of '&'? .replace('&', '&amp;')
  
      return ''
docs: Build up the query part of an URL from the arguments passed in
      the 'urlargd' dictionary. 'default_urlargd' is a secondary dictionary which
      contains tuples of the form (type, default value) for the query
      arguments (this is the same dictionary as the one you can pass to
      webinterface_handler.wash_urlargd).
  
      When a query element has its default value, it is discarded, so
      that the simplest (canonical) url query is returned.
  
      The result contains the initial '?' if there are actual query
      items remaining.