Package yadis :: Module etxrd
[hide private]
[frames] | no frames]

Module etxrd

source code

ElementTree interface to an XRD document.

Classes [hide private]
  XRDSError
An error with the XRDS document.
  XRDSFraud
Raised when there's an assertion in the XRDS that it does not have the authority to make.
  _Max
Value that compares greater than any other value.

Functions [hide private]
  parseXRDS(text)
Parse the given text as an XRDS document.
  nsTag(ns, t)
  mkXRDTag(t)
basestring -> basestring
  mkXRDSTag(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
  sortedURIs(service_element)
Given a Service element, return a list of the contents of all URI tags in priority order.
  getTypeURIs(service_element)
Given a Service element, return a list of the contents of all Type tags
  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)

Variables [hide private]
  XRD_NS_2_0 = 'xri://$xrd*($v*2.0)'
  XRDS_NS = 'xri://$xrds'
  root_tag = '{xri://$xrds}XRDS'
  service_tag = '{xri://$xrd*($v*2.0)}Service'
  xrd_tag = '{xri://$xrd*($v*2.0)}XRD'
  type_tag = '{xri://$xrd*($v*2.0)}Type'
  uri_tag = '{xri://$xrd*($v*2.0)}URI'
  canonicalID_tag = '{xri://$xrd*($v*2.0)}CanonicalID'
  Max = <yadis.etxrd._Max object at 0xb7af85ac>

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

mkXRDSTag(t)

source code 

basestring -> basestring

Create a tag name in the XRDS 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

sortedURIs(service_element)

source code 

Given a Service element, return a list of the contents of all URI tags in priority order.

getTypeURIs(service_element)

source code 

Given a Service element, return a list of the contents of all Type tags

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.

Variables Details [hide private]

XRD_NS_2_0

Value:
'xri://$xrd*($v*2.0)'                                                  
      

XRDS_NS

Value:
'xri://$xrds'                                                          
      

root_tag

Value:
'{xri://$xrds}XRDS'                                                    
      

service_tag

Value:
'{xri://$xrd*($v*2.0)}Service'                                         
      

xrd_tag

Value:
'{xri://$xrd*($v*2.0)}XRD'                                             
      

type_tag

Value:
'{xri://$xrd*($v*2.0)}Type'                                            
      

uri_tag

Value:
'{xri://$xrd*($v*2.0)}URI'                                             
      

canonicalID_tag

Value:
'{xri://$xrd*($v*2.0)}CanonicalID'                                     
      

Max

Value:
<yadis.etxrd._Max object at 0xb7af85ac>