Returns an ordered dictionary of feed, and handle/report points

def asodict(self, freports=True, handlepoints=True, reportpoints=True):
        """Returns an ordered dictionary of feed, and handle/report points"""
        out = odict()
        if freports:
            for fr in self.freports:
                out[fr.num] = {'tstamp' : fr.tstamp, 
                               'report' : fr.asodict(handlepoints, reportpoints)}           
        if handlepoints:
            for hp in self.handlepoints:
                out[hp.hpoint] = hp.trace
        if reportpoints:
            for rp in self.reportpoints:
                if not (rp.rpoint in out):
                    out[rp.rpoint] = odict()
                out[rp.rpoint][self.attribute] = {'value' : rp.value, 'extended': rp.extended}
        return out