DataSource
Lowlevel API
Your DataSource will be
called whenever AHTS encounters an identifier.
A quick summary:
Whenever AHTS encounters |
this action will result |
@identifier@ |
return datasource.get("identifier") |
<list name="identifier"> |
return datasource.prepare("identifier") |
(at the start of each loop) |
return datasource.next("identifier") |
</list> |
datasource.done("identifier") |
<multiple name="identifier"> |
return datasource.prepare_multiple("identifier") |
(at the start of each loop) |
return datasource.next_multiple("identifier") |
@identifier.selector@ |
return datasource.get("identifier.selector") |
</multiple> |
datasource.done_multiple("identifier") |
If the datasource is asked for an identifier it can't provide, it
must raise the ahts.NotDefinedError.
Higher level DataSource
If your DataSource-class inherits from ahts.DataSource, you can
use following conventions:
Whenever AHTS encounters |
this action will result |
@identifier@ |
return datasource.a_identifier or
return datasource.a_get_identifier() |
<list name="identifier"> |
return datasource.a_prepare_identifier() |
(at the start of each loop) |
return datasource.a_next_identifier() |
</list> |
datasource.a_done_identifier() |
<multiple name="identifier"> |
return datasource.a_m_prepare_identifier() |
(at the start of each loop) |
return datasource.a_m_next_identifier() |
@identifier.selector@ |
return datasource.a_get_identifier_selector()1 |
</multiple> |
datasource.a_m_done_identifier() |
ahts.DataSource will raise the ahts.NotDefinedError
itself if it can't find the required member-function.
1 Version 0.0 calls return
datasource.a_m_get_identifier((selector,))
|