implementation
XdbImplementation
Bases: BasicImplementation
, IndexInterface
, ExchangeInterface
, QuantityInterface
, BackgroundInterface
The implementation is very thin, so pile everything into one class
bg_lcia(process, query_qty=None, ref_flow=None, **kwargs)
Parameters:
Name | Type | Description | Default |
---|---|---|---|
process |
|
required | |
query_qty |
|
None
|
|
ref_flow |
|
None
|
|
kwargs |
|
{}
|
Returns:
Type | Description |
---|---|
|
cf(flow, quantity, ref_quantity=None, context=None, locale='GLO', **kwargs)
We still want to retain the ability to ask the remote server for CFs, even if we may prefer to get that info locally for local flows
Parameters:
Name | Type | Description | Default |
---|---|---|---|
flow |
|
required | |
quantity |
|
required | |
ref_quantity |
NOT USED |
None
|
|
context |
|
None
|
|
locale |
|
'GLO'
|
|
kwargs |
|
{}
|
Returns:
Type | Description |
---|---|
|
consumers(process, ref_flow=None, **kwargs)
This returns reference exchanges for activities that consume the named reference exchange the puzzle here is how to generate the RxRefs-- I guess we should just do it here
Parameters:
Name | Type | Description | Default |
---|---|---|---|
process |
|
required | |
ref_flow |
|
None
|
|
kwargs |
|
{}
|
Returns:
Type | Description |
---|---|
|
count(entity_type, **kwargs)
Naturally the first route is problematic- because we allow incompletely-specified origins. We should sum them.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
entity_type |
|
required | |
kwargs |
|
{}
|
Returns:
Type | Description |
---|---|
|
do_lcia(quantity, inventory, locale='GLO', **kwargs)
Parameters:
Name | Type | Description | Default |
---|---|---|---|
quantity |
|
required | |
inventory |
|
required | |
locale |
|
'GLO'
|
|
kwargs |
|
{}
|
Returns:
Type | Description |
---|---|
|
exchange_values(process, flow, direction=None, termination=None, reference=None, **kwargs)
Parameters:
Name | Type | Description | Default |
---|---|---|---|
process |
|
required | |
flow |
|
required | |
direction |
|
None
|
|
termination |
|
None
|
|
reference |
|
None
|
|
kwargs |
|
{}
|
Returns:
Type | Description |
---|---|
|
exchanges(process, **kwargs)
Client code (process_ref.ProcessRef) already turns them into ExchangeRefs
Parameters:
Name | Type | Description | Default |
---|---|---|---|
process |
|
required | |
kwargs |
|
{}
|
Returns:
Type | Description |
---|---|
|
factors(quantity, flowable=None, context=None, **kwargs)
We need to construct operable characterizations with quantities that are recognized by the LciaEngine- in other words, with refs from our archive
Parameters:
Name | Type | Description | Default |
---|---|---|---|
quantity |
|
required | |
flowable |
|
None
|
|
context |
not implemented at the API |
None
|
|
kwargs |
|
{}
|
Returns:
Type | Description |
---|---|
|
get_factors(quantity, flow_specs, **kwargs)
Parameters:
Name | Type | Description | Default |
---|---|---|---|
quantity |
|
required | |
flow_specs |
|
required | |
kwargs |
|
{}
|
Returns:
Type | Description |
---|---|
|
get_uuid(external_ref)
Stopgap: don't support UUIDs
Parameters:
Name | Type | Description | Default |
---|---|---|---|
external_ref |
|
required |
Returns:
Type | Description |
---|---|
|
inventory(node, ref_flow=None, scenario=None, **kwargs)
Client code (process_ref.ProcessRef) already turns them into ExchangeRefs
Parameters:
Name | Type | Description | Default |
---|---|---|---|
node |
|
required | |
ref_flow |
if node is a process, optionally provide its reference flow |
None
|
|
scenario |
if node is a fragment, optionally provide a scenario- as string or tuple |
None
|
|
kwargs |
|
{}
|
Returns:
Type | Description |
---|---|
|
quantity_relation(flowable, ref_quantity, query_quantity, context, locale='GLO', **kwargs)
not yet implemented
Parameters:
Name | Type | Description | Default |
---|---|---|---|
flowable |
|
required | |
ref_quantity |
|
required | |
query_quantity |
|
required | |
context |
|
required | |
locale |
|
'GLO'
|
|
kwargs |
|
{}
|
Returns:
Type | Description |
---|---|
|
sys_lcia(process, query_qty, observed=None, ref_flow=None, **kwargs)
We want to override the interface implementation and send a simple request to the backend
Parameters:
Name | Type | Description | Default |
---|---|---|---|
process |
|
required | |
query_qty |
|
required | |
observed |
iterable of DirectedFlows |
None
|
|
ref_flow |
|
None
|
|
kwargs |
locale, quell_biogenic_co2 |
{}
|
Returns:
Type | Description |
---|---|
|