Package openid :: Package yadis :: Module etxrd
[frames] | no frames]

Module etxrd

source code

ElementTree interface to an XRD document.

Functions [hide private]
  parseXRDS(text)
Parse the given text as an XRDS document.
  nsTag(ns, t)
  mkXRDTag(t)
basestring -> basestring
  isXRDS(xrd_tree)
Is this document an XRDS document?
  getYadisXRD(xrd_tree)
Return the XRD element that should contain the Yadis services
unicode or None getCanonicalID(iname, xrd_tree)
Return the CanonicalID from this XRDS document.
  getPriorityStrict(element)
Get the priority of this element.
  getPriority(element)
Get the priority of this element
  prioSort(elements)
Sort a list of elements that have priority attributes
  iterServices(xrd_tree)
Return an iterable over the Service elements in the Yadis XRD
  expandService(service_element)
Take a service element and expand it into an iterator of: ([type_uri], uri, service_element)
  expandServices(service_elements)
Take a sorted iterator of service elements and expand it into a sorted iterator of: ([type_uri], uri, service_element)

Function Details [hide private]

parseXRDS(text)

source code 

Parse the given text as an XRDS document.
Returns:
ElementTree containing an XRDS document
Raises:
  • XRDSError - When there is a parse error or the document does not contain an XRDS.

nsTag(ns, t)

source code 

mkXRDTag(t)

source code 

basestring -> basestring

Create a tag name in the XRD 2.0 XML namespace suitable for using with ElementTree

isXRDS(xrd_tree)

source code 

Is this document an XRDS document?

getYadisXRD(xrd_tree)

source code 

Return the XRD element that should contain the Yadis services

getCanonicalID(iname, xrd_tree)

source code 

Return the CanonicalID from this XRDS document.
Parameters:
  • iname (unicode) - the XRI being resolved.
  • xrd_tree (ElementTree) - The XRDS output from the resolver.
Returns: unicode or None
The XRI CanonicalID or None.

getPriorityStrict(element)

source code 

Get the priority of this element.

Raises ValueError if the value of the priority is invalid. If no priority is specified, it returns a value that compares greater than any other value.

getPriority(element)

source code 

Get the priority of this element

Returns Max if no priority is specified or the priority value is invalid.

prioSort(elements)

source code 

Sort a list of elements that have priority attributes

iterServices(xrd_tree)

source code 

Return an iterable over the Service elements in the Yadis XRD

sorted by priority

expandService(service_element)

source code 

Take a service element and expand it into an iterator of: ([type_uri], uri, service_element)

expandServices(service_elements)

source code 

Take a sorted iterator of service elements and expand it into a sorted iterator of: ([type_uri], uri, service_element)

There may be more than one item in the resulting list for each service element if there is more than one URI or type for a service, but each triple will be unique.

If there is no URI or Type for a Service element, it will not appear in the result.