def _get_ping_property(cursor, path, histograms_url, additional_histograms): is_histogram = False is_keyed_histogram = False if path[0] == "histograms": is_histogram = True elif path[0] == "keyedHistograms": # Deal with histogram names that contain a slash... path = path[:2] + (["/".join(path[2:])] if len(path) > 2 else []) is_keyed_histogram = True try: for field in path: cursor = cursor[field] except: return None if cursor is None: return None if is_histogram: return Histogram(path[-1], cursor, histograms_url=histograms_url, additional_histograms=additional_histograms) elif is_keyed_histogram: histogram = Histogram(path[-2], cursor, histograms_url=histograms_url, additional_histograms=additional_histograms) histogram.name = "/".join(path[-2:]) return histogram else: return cursor
def _get_ping_property(cursor, path): is_histogram = False is_keyed_histogram = False if path[0] == "histograms": is_histogram = True elif path[0] == "keyedHistograms": # Deal with histogram names that contain a slash... path = path[:2] + (["/".join(path[2:])] if len(path) > 2 else []) is_keyed_histogram = True for partial in path: cursor = cursor.get(partial, None) if cursor is None: break if cursor is None: return None if is_histogram: return Histogram(path[-1], cursor) elif is_keyed_histogram: histogram = Histogram(path[-2], cursor) histogram.name = "/".join(path[1:]) return histogram else: return cursor