Module trase.tools.pcs.supply_chains.flows.flows

Functions

def create_flow(path, volume, commodity_id, year, ref_id, month=None, day=None, commodity_equivalence_group_id=None, quants=None, quals=None, inds=None, flow_id=None, cur=None, country_id=None)

Create Flow object from basic parameters.

Classes

class Flow (flow_id=None, flow_data=None, cur=None, node_roles=None)

Flow of volume of commodity along path.

Methods

def add_ind(self, ind_id, value, ref_id=None)

Add new indicator attribute to Flow.inds.

def add_qual(self, qual_id, value, ref_id=None)

Add new qualitative attribute to Flow.quals.

def add_quant(self, quant_id, value, ref_id=None)

Add new quantitative attribute to Flow.quants.

def add_step(self, commodity_id=None)
def append(self, nodes)

Append list of nodes in last position of path. nodes – list of Node objects

def chop(self, level)

Remove node from path.

level – index of node to remove

def disconnect(self)

Replace cursor by None.

def flatten(self, cur=None)

Make sure objects are not duplicated.

Keyword arguments: cur – database cursor object

def fragment(self, splits)

Returns a list of flows with volumes distributed according to 'splits'.

splits – list of fractions for distribution of volumes

def get_ind(self, ind_name)
def get_qual(self, qual_name)
def get_quals(self, qual_name)
def get_quant(self, quant_name)
def insert(self, node, position)

Insert list of nodes at position in path.

def make_values(self, ref_id=None, node_roles=None, cur=None)

Return dictionary of values for flow. Fill the gaps in path if more node roles than path nodes are present.

def reconnect(self, cur=None)

Replace current cursor by new one.

def remove_inds(self, ind_names)

Remove ind(s) from Flow object.

ind_names – list of names of inds to remove

def remove_quals(self, qual_names)

Remove qual(s) from Flow object.

qual_names – list of names of quals to remove

def remove_quants(self, quant_names)

Remove quant(s) from Flow object.

quant_names – list of names of quants to remove

def rescale(self, factor)

Rescale volume and quants.

def show_steps(self)
def to_db(self, ref_id, autocommit=True, cnx=None, cur=None)

Insert flow into database.

ref_id – 'refs.ref_id' in database

Keyword arguments: cnx – database connection object cur – database cursor object

def update_commodities(self)

Make flow commodities are consistent with steps

def update_step_nodes(self)

Make sure orig and dest nodes in steps are correct.