def __handle_data_items(self, host, data):
for metric, value in data.iteritems():<EOL><INDENT>if value == '<STR_LIT>':<EOL><INDENT>self.sign[host][metric] = -<NUM_LIT:1><EOL>self.data[host][metric] = value<EOL><DEDENT>else:<EOL><INDENT>if not self.data[host].get(metric, None):<EOL><INDENT>self.sign[host][metric] = <NUM_LIT:1><EOL><DEDENT>elif float(value) > float(self.data[host][metric]):<EOL><INDENT>self.sign[host][metric] = <NUM_LIT:1><EOL><DEDENT>elif float(value) < float(self.data[host][metric]):<EOL><INDENT>self.sign[host][metric] = -<NUM_LIT:1><EOL><DEDENT>else:<EOL><INDENT>self.sign[host][metric] = <NUM_LIT:0><EOL><DEDENT>self.data[host][metric] = "<STR_LIT>" % float(value)<EOL><DEDENT><DEDENT>
store metric in data tree and calc offset signs

        sign < 0 is CYAN, means metric value is lower then previous,
        sign > 1 is YELLOW, means metric value is higher then prevoius,
        sign == 0 is WHITE, means initial or equal metric value