4Suite™ API Documentation

# ► Module Ft.Lib.Iri

Classes and functions related to IRI processing

    Copyright 2004 Fourthought, Inc. (USA).
    Detailed license and copyright information: http://4suite.org/COPYRIGHT
    Project home, documentation, distributions: http://4suite.org/

Functions: ConvertIregName, IriToUri, NfcNormalize

## Functions

ConvertIregName(iregname)
  On Python 2.3 and higher, converts the given ireg-name component of an IRI to a string suitable for use as a URI reg-name in pre- rfc2396bis schemes and resolvers. Returns the ireg-name unmodified on Python 2.2.
IriToUri(iri, convertHost=False)
  Converts an IRI or IRI reference to a URI or URI reference, implementing sec. 3.1 of draft-duerst-iri-10.

      The convertHost flag indicates whether to perform conversion of
      the ireg-name (host) component of the IRI to an RFC 2396-compatible
      URI reg-name (IDNA encoded), e.g.
      IriToUri(u'http://r\xe9sum\xe9.example.org/', convertHost=False)
      => u'http://r%C3%A9sum%C3%A9.example.org/'
      IriToUri(u'http://r\xe9sum\xe9.example.org/', convertHost=True)
      => u'http://xn--rsum-bpad.example.org/'

      Ordinarily, the IRI should be given as a unicode string. If the IRI
      is instead given as a byte string, then it will be assumed to be
      UTF-8 encoded, will be decoded accordingly, and as per the
      requirements of the conversion algorithm, will NOT be normalized.

NfcNormalize(iri)
  On Python 2.3 and higher, normalizes the given unicode string according to Unicode Normalization Form C (NFC), so that it can be used as an IRI or IRI reference.