# Path: holodeck/widgets.py
# class Widget(object):
# class Gage(Widget):
# class Map(Widget):
# class LineChart(Widget):
# class PieChart(Widget):
# class SampleDeviation(Widget):
#     def get_context(self, metric):
#     def get_groups(self, metric):
#     def render(self, metric, context, minimal):
#     def get_context(self, metric):
#     def get_context(self, metric):
#     def get_context(self, metric):
#     def get_context(self, metric):
#     def calc_deviation(self, primary, secondary):
#     def gen_deviation(self, primary, secondary):
#     def get_context(self, metric):


import inspect
import sys
from holodeck import widgets


def load_class_by_string(class_path):
    """
    Returns a class when given its full name in
    Python dot notation, including modules.
    """
    parts = class_path.split('.')
    module_name = '.'.join(parts[:-1])
    class_name = parts[-1]
    __import__(module_name)
    mod = sys.modules[module_name]
    return getattr(mod, class_name)


def get_widget_type_choices():
    """
    Generates Django model field choices based on widgets
    in holodeck.widgets.
    """
    choices = []
    for name, member in inspect.getmembers(widgets, inspect.isclass):

# Path: holodeck/widgets.py
# class Widget(object):
# class Gage(Widget):
# class Map(Widget):
# class LineChart(Widget):
# class PieChart(Widget):
# class SampleDeviation(Widget):
#     def get_context(self, metric):
#     def get_groups(self, metric):
#     def render(self, metric, context, minimal):
#     def get_context(self, metric):
#     def get_context(self, metric):
#     def get_context(self, metric):
#     def get_context(self, metric):
#     def calc_deviation(self, primary, secondary):
#     def gen_deviation(self, primary, secondary):
#     def get_context(self, metric):


# Path: holodeck/utils.py
import inspect
import sys
from holodeck import widgets



def load_class_by_string(class_path):
    """
    Returns a class when given its full name in
    Python dot notation, including modules.
    """
    parts = class_path.split('.')
    module_name = '.'.join(parts[:-1])
    class_name = parts[-1]
    __import__(module_name)
    mod = sys.modules[module_name]
    return getattr(mod, class_name)


def get_widget_type_choices():
    """
    Generates Django model field choices based on widgets
    in holodeck.widgets.
    """
    choices = []
    for name, member in inspect.getmembers(widgets, inspect.isclass):

        if member != widgets.Widget: