示例#1
0
    def clone_plugin_data(self, dashboard_entry):
        """
        Clone plugin data, which means we make a copy of the original image.

        TODO: Perhaps rely more on data of `dashboard_entry`?
        """
        cloned_image = clone_file(self.data.image, relative_path=True)
        return self.get_cloned_plugin_data(update={'image': cloned_image})


# ********************************************************************************
# ********** Generating and registering the plugins using factory ****************
# ********************************************************************************
sizes = (
    (1, 1),
    (1, 2),
    (2, 1),
    (2, 2),
    (2, 3),
    (3, 2),
    (3, 3),
    (3, 4),
    (4, 3),
    (4, 4),
    (4, 5),
    (5, 4),
    (5, 5)
)

plugin_factory(BaseImagePlugin, 'image', sizes)
# *****************************************************************************


class BaseChartPlugin(BaseDashboardPlugin):
    """
    Base chart plugin.
    """
    name = _("Chart")
    group = _("Charts")
    form = ChartForm
    html_classes = ['chartonic']


# *****************************************************************************
# ********** Generating and registering the plugins using factory *************
# *****************************************************************************
sizes = ((1, 1), (1, 2), (2, 1), (2, 2), (2, 3), (3, 2), (3, 3), (3, 4),
         (4, 3), (4, 4), (4, 5), (5, 4), (5, 5))

plugin_factory(BaseChartPlugin, 'chart', sizes)

# *****************************************************************************
# ********************************* Registering widgets ***********************
# *****************************************************************************

# Registering chart plugin widgets
plugin_widget_factory(BaseChartWidget, 'android', 'main', 'chart', sizes)
plugin_widget_factory(BaseChartWidget, 'windows8', 'main', 'chart', sizes)
plugin_widget_factory(BaseChartWidget, 'bootstrap2_fluid', 'main', 'chart',
                      sizes)
示例#3
0
        """
        html_class = super(BaseURLPlugin, self).html_class
        if self.data.image:
            html_class += ' iconic-url'
        return html_class

# ********************************************************************************
# ********** Generating and registering the URL plugins using factory ************
# ********************************************************************************

sizes = (
    (1, 1),
    (2, 2)
)

plugin_factory(BaseURLPlugin, 'url', sizes)


# ********************************************************************************
# ********************************* Bookmark plugin ******************************
# ********************************************************************************

class BaseBookmarkPlugin(BaseDashboardPlugin):
    """
    Base URL plugin.
    """
    name = _("Bookmark")
    group = _("URLs")
    form = BookmarkForm

    @property
示例#4
0
    name = _("Sunburst partition chart")
    html_classes = ['chartonic', 'd3-sunburst-partition-chart-plugin']


# *****************************************************************************
# ********** Generating and registering the plugins using factory *************
# *****************************************************************************

sizes = (
    (4, 4),
    (5, 5),
    (6, 6),
    (7, 7),
)

plugin_factory(BaseBubbleChartPlugin, 'd3_bubble_chart', sizes)
plugin_factory(BaseStackedToGroupedBarsChartPlugin,
               'd3_stacked_to_grouped_bars_chart', sizes)
plugin_factory(BaseSunburstPartitionChartPlugin, 'd3_sunburst_partition_chart',
               sizes)

# *****************************************************************************
# ********************************* Registering widgets ***********************
# *****************************************************************************

# Registering chart plugin widgets

# Bubble Chart
plugin_widget_factory(BaseBubbleChartWidget, 'android', 'main',
                      'd3_bubble_chart', sizes)
plugin_widget_factory(BaseBubbleChartWidget, 'windows8', 'main',
示例#5
0
    form = TreeMapForm
    html_classes = ['chartonic', 'd3-tree-map-chart-plugin']


# *****************************************************************************
# ********** Generating and registering the plugins using factory *************
# *****************************************************************************

sizes = (
    (4, 4),
    (5, 5),
    (6, 6),
    (7, 7),
)

plugin_factory(BaseBarChartPlugin, 'd3_bar_chart', sizes)
plugin_factory(BaseTimeSeriesPlugin, 'd3_time_series', sizes)
plugin_factory(BaseMultiTimeSeriesPlugin, 'd3_multi_time_series', sizes)
plugin_factory(BasePieChartPlugin, 'd3_pie_chart', sizes)
plugin_factory(BaseLineChartPlugin, 'd3_line_chart', sizes)
plugin_factory(BaseGroupedBarChartPlugin, 'd3_grouped_bar_chart', sizes)
plugin_factory(BaseTreeMapPlugin, 'd3_tree_map_chart', sizes)

# *****************************************************************************
# ********************************* Registering widgets ***********************
# *****************************************************************************

# Registering chart plugin widgets

plugin_widget_factory(BaseBarChartWidget, 'bootstrap_materialize', 'main',
                      'd3_bar_chart', sizes)
示例#6
0
from dash.base import BaseDashboardPlugin
from dash.factory import plugin_factory
from dash.contrib.plugins.video.forms import VideoForm

# ********************************************************************************
# ******************************* Base Video plugin ******************************
# ********************************************************************************


class BaseVideoPlugin(BaseDashboardPlugin):
    """
    Base Video plugin.
    """
    name = _("Video")
    group = _("Internet")
    form = VideoForm
    html_classes = ['video']

    def post_processor(self):
        self.data.embed_code = render_video(self.data.url)


# ********************************************************************************
# ********** Generating and registering the plugins using factory ****************
# ********************************************************************************

sizes = ((1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6))

plugin_factory(BaseVideoPlugin, 'video', sizes)
示例#7
0

# ********************************************************************************
# ********** Generating and registering the plugins using factory ****************
# ********************************************************************************

sizes = (
    (1, 1),
    (2, 2),
    (3, 3),
    (4, 4),
    (5, 5),
    (6, 6)
)

plugin_factory(BaseMemoPlugin, 'memo', sizes)

# ********************************************************************************
# ******************************* Base TinyMCE memo plugin ***********************
# ********************************************************************************

class BaseTinyMCEMemoPlugin(BaseDashboardPlugin):
    """
    Memo dashboard plugin.
    """
    name = _("TinyMCE memo")
    group = _("Memo")
    form = TinyMCEMemoForm
    help_text = _("""TinyMCE tags are available here.""")

示例#8
0
    (3, 5),
    (4, 3),
    (4, 4),
    (4, 5),
    (5, 3),
    (5, 4),
    (5, 5),
    (6, 3),
    (7, 7),
    (7, 13),
    (8, 8),
    (9, 9),
    (13, 7),
    (7, 13),
    (6, 5),
    (12, 7),
    (12, 8),
)

plugin_factory(BaseWidgetSwitcherPlugin, 'WidgetSwitcher', sizes)

# ********************************************************************************
# ********************************* Registering widgets **************************
# ********************************************************************************

# Registering chart plugin widgets
plugin_widget_factory(BaseWidgetSwitcherWidget, 'android', 'main', 'WidgetSwitcher', sizes)
plugin_widget_factory(BaseWidgetSwitcherWidget, 'windows8', 'main', 'WidgetSwitcher', sizes)
plugin_widget_factory(BaseWidgetSwitcherWidget, 'bootstrap2_fluid', 'main', 'WidgetSwitcher', sizes)
plugin_widget_factory(BaseWidgetSwitcherWidget, 'testing', 'main', 'WidgetSwitcher', sizes)
示例#9
0
                weather = None

            if weather:
                self.data.temp_max_c = weather['tempMaxC']
                self.data.temp_min_c = weather['tempMinC']
                self.data.windspeed_kmph = weather['windspeedKmph']
                self.data.wind_dir_16_point = weather['winddir16Point']

                try:
                    self.data.weather_desc = weather['weatherDesc'][0]['value']
                except Exception as e:
                    pass

                try:
                    self.data.weather_icon_url = weather['weatherIconUrl'][0][
                        'value']
                except Exception as e:
                    pass


# ********************************************************************************
# ********** Generating and registering the plugins using factory ****************
# ********************************************************************************

sizes = (
    (2, 2),
    (3, 3),
)

plugin_factory(BaseWeatherPlugin, 'weather', sizes)
示例#10
0
from django.utils.translation import ugettext_lazy as _
from dash.base import BaseDashboardPlugin
from dash.factory import plugin_factory, plugin_widget_factory
from dash_widgets import BaseTwitterWidget
from forms import TwitterForm

class BaseTwitterPlugin(BaseDashboardPlugin):

    name = _("Twitter")
    group = _("Internet")
    form = TwitterForm

# ********************************************************************************
# ********** Generating and registering the plugins using factory ****************
# ********************************************************************************
sizes = (
    (6, 3),
)

plugin_factory(BaseTwitterPlugin, 'twitter', sizes)

# ********************************************************************************
# ********************************* Registering widgets **************************
# ********************************************************************************

# Registering chart plugin widgets
plugin_widget_factory(BaseTwitterWidget, 'android', 'main', 'twitter', sizes)
plugin_widget_factory(BaseTwitterWidget, 'windows8', 'main', 'twitter', sizes)
plugin_widget_factory(BaseTwitterWidget, 'bootstrap2_fluid', 'main', 'twitter', sizes)
plugin_widget_factory(BaseTwitterWidget, 'testing', 'main', 'twitter', sizes)
示例#11
0
        """
        results_kwargs = {}

        language = get_language_from_request(self.request)
        if language is not None:
            results_kwargs.update({'language': language})

        self.data.news_items = NewsItem._default_manager.filter(**results_kwargs) \
                                       .order_by('-date_published')[:self.data.max_items]

# *****************************************************************************
# ********** Generating and registering the plugins using factory *************
# *****************************************************************************

sizes = (
    (2, 5),
    (4, 5)
)

plugin_factory(BaseNewsPlugin, 'news', sizes)

# ****************************************************************************
# ****************** Registering widgets for News plugin *********************
# ****************************************************************************

main_sizes = (
    (2, 5),
    (4, 5),
)
plugin_widget_factory(BaseNewsWidget, 'android', 'main', 'news', main_sizes)
示例#12
0
    html_classes = ['chartonic']


# *****************************************************************************
# ********** Generating and registering the plugins using factory *************
# *****************************************************************************

sizes = (
    # (4, 4),
    (5, 5),
    #(10, 10)
    # (6, 6),
    #(7, 7),
)

plugin_factory(BaseChart1Plugin, 'Chart1', sizes)

plugin_factory(BaseChart2Plugin, 'Chart2', sizes)

plugin_factory(BaseChart3Plugin, 'Chart3', sizes)

plugin_factory(BaseChart4Plugin, 'Chart4', sizes)

plugin_factory(BaseChart5Plugin, 'Chart5', sizes)

plugin_factory(BaseChart6Plugin, 'Chart6', sizes)

plugin_factory(BaseChart7Plugin, 'Chart7', sizes)

plugin_factory(BaseChart8Plugin, 'Chart8', sizes)
示例#13
0
sizes = (
    (1, 1),
    (1, 2),
    (2, 1),
    (2, 2),
    (2, 3),
    (3, 2),
    (3, 3),
    (3, 4),
    (4, 3),
    (4, 4),
    (4, 5),
    (5, 4),
    (5, 5),
    (6, 4),
    (6, 5),
    (6,3),
)

plugin_factory(BaseLineGraphPlugin, 'line_graph', sizes)

# ********************************************************************************
# ********************************* Registering widgets **************************
# ********************************************************************************

# Registering chart plugin widgets
plugin_widget_factory(BaseLineGraphWidget, 'android', 'main', 'line_graph', sizes)
plugin_widget_factory(BaseLineGraphWidget, 'windows8', 'main', 'line_graph', sizes)
plugin_widget_factory(BaseLineGraphWidget, 'bootstrap2_fluid', 'main', 'line_graph', sizes)
plugin_widget_factory(BaseLineGraphWidget, 'testing', 'main', 'line_graph', sizes)
    """
    name = _("pie_chart")
    group = _("charts")
    form = ChartForm
    html_classes = ['chartonic']


sizes = (
    (1, 1),
    (1, 2),
    (2, 1),
    (2, 2),
    (2, 3),
    (3, 2),
    (3, 3),
    (3, 4),
    (4, 3),
    (4, 4),
    (4, 5),
    (5, 4),
    (5, 5)
)

plugin_factory(BaseChartPlugin, 'pie_chart', sizes)


plugin_widget_factory(PieChartWidget, 'android', 'main', 'pie_chart', sizes)
plugin_widget_factory(PieChartWidget, 'windows8', 'main', 'pie_chart', sizes)
plugin_widget_factory(PieChartWidget, 'bootstrap2_fluid', 'main', 'pie_chart', sizes)

示例#15
0
# ********************************************************************************
class BaseDummyPlugin(BaseDashboardPlugin):
    """
    Base dummy plugin.
    """

    name = _("Dummy")
    form = DummyForm
    group = _("Dummy")

    def get_form(self):
        if "sidebar" == self.placeholder:
            return DummyShortcutsForm
        else:
            return DummyForm

    def post_processor(self):
        """
        If no text available, use dummy.
        """
        if not self.data.text:
            self.data.text = "Dummy content"


# ********************************************************************************
# ********** Generating and registering the plugins using factory ****************
# ********************************************************************************
sizes = ((1, 1), (1, 2), (2, 1), (2, 2), (3, 3), (4, 4), (5, 5))

plugin_factory(BaseDummyPlugin, "dummy", sizes)
示例#16
0
        """
        Getting news items for the current active language.
        """
        results_kwargs = {}

        language = get_language_from_request(self.request)
        if language is not None:
            results_kwargs.update({'language': language})

        self.data.news_items = NewsItem._default_manager.filter(**results_kwargs) \
                                       .order_by('-date_published')[:self.data.max_items]


# *****************************************************************************
# ********** Generating and registering the plugins using factory *************
# *****************************************************************************

sizes = ((2, 5), (4, 5))

plugin_factory(BaseNewsPlugin, 'news', sizes)

# ****************************************************************************
# ****************** Registering widgets for News plugin *********************
# ****************************************************************************

main_sizes = (
    (2, 5),
    (4, 5),
)
plugin_widget_factory(BaseNewsWidget, 'android', 'main', 'news', main_sizes)
示例#17
0
    (3, 3),
    (3, 4),
    (4, 3),
    (4, 4),
    (4, 5),
    (5, 4),
    (5, 5),
    (6, 3),
    (7, 7),
    (7, 13),
    (8, 8),
    (9, 9),
    (13, 7),
    (7, 13),
    (6, 5),
    (12, 7),
    (12, 8),
)

plugin_factory(BaseImageLocalPlugin, 'imageLocal', sizes)

# ********************************************************************************
# ********************************* Registering widgets **************************
# ********************************************************************************

# Registering chart plugin widgets
plugin_widget_factory(BaseImageLocalWidget, 'android', 'main', 'imageLocal', sizes)
plugin_widget_factory(BaseImageLocalWidget, 'windows8', 'main', 'imageLocal', sizes)
plugin_widget_factory(BaseImageLocalWidget, 'bootstrap2_fluid', 'main', 'imageLocal', sizes)
plugin_widget_factory(BaseImageLocalWidget, 'testing', 'main', 'imageLocal', sizes)
示例#18
0
# ********************************************************************************
# ******************************* Base Video plugin ******************************
# ********************************************************************************

class BaseVideoPlugin(BaseDashboardPlugin):
    """
    Base Video plugin.
    """
    name = _("Video")
    group = _("Internet")
    form = VideoForm
    html_classes = ['video']

    def post_processor(self):
        self.data.embed_code = render_video(self.data.url)

# ********************************************************************************
# ********** Generating and registering the plugins using factory ****************
# ********************************************************************************

sizes = (
    (1, 1),
    (2, 2),
    (3, 3),
    (4, 4),
    (5, 5),
    (6, 6)
)

plugin_factory(BaseVideoPlugin, 'video', sizes)
示例#19
0
    (3, 5),
    (4, 3),
    (4, 4),
    (4, 5),
    (5, 3),
    (5, 4),
    (5, 5),
    (6, 3),
    (7, 7),
    (7, 13),
    (8, 8),
    (9, 9),
    (13, 7),
    (7, 13),
    (6, 5),
    (12, 7),
    (12, 8),
)

plugin_factory(BaseImageURLPlugin, 'imageURL', sizes)

# ********************************************************************************
# ********************************* Registering widgets **************************
# ********************************************************************************

# Registering chart plugin widgets
plugin_widget_factory(BaseImageURLWidget, 'android', 'main', 'imageURL', sizes)
plugin_widget_factory(BaseImageURLWidget, 'windows8', 'main', 'imageURL', sizes)
plugin_widget_factory(BaseImageURLWidget, 'bootstrap2_fluid', 'main', 'imageURL', sizes)
plugin_widget_factory(BaseImageURLWidget, 'testing', 'main', 'imageURL', sizes)
    """
    name = _("bar_chart")
    group = _("charts")
    form = ChartForm
    html_classes = ['chartonic']


sizes = (
    (1, 1),
    (1, 2),
    (2, 1),
    (2, 2),
    (2, 3),
    (3, 2),
    (3, 3),
    (3, 4),
    (4, 3),
    (4, 4),
    (4, 5),
    (5, 4),
    (5, 5)
)

plugin_factory(BaseChartPlugin, 'bar_chart', sizes)


plugin_widget_factory(BarChartWidget, 'android', 'main', 'bar_chart', sizes)
plugin_widget_factory(BarChartWidget, 'windows8', 'main', 'bar_chart', sizes)
plugin_widget_factory(BarChartWidget, 'bootstrap2_fluid', 'main', 'bar_chart', sizes)

class BaseMapPlugin(BaseMapPlugin):
    """
    Base Map plugin.
    """
    name = _("Map Chart")
    html_classes = ['maps', 'openlayers3-map-plugin']

# *****************************************************************************
# ********** Generating and registering the plugins using factory *************
# *****************************************************************************
sizes = (
    (4, 4),
    (5, 5),
    (6, 6),
    (7, 7),
    (8, 8),
    (9, 9),
    (11, 10)
)

plugin_factory(BaseMapPlugin, 'openlayers3_map', sizes)

# *****************************************************************************
# ********************************* Registering widgets ***********************
# *****************************************************************************

# Registering map plugin widgets

# Openlayers Map
plugin_widget_factory(WmsMapWidget, 'bootstrap2_fluid', 'main', \
                      'openlayers3_map', sizes) 
示例#22
0
class BaseMemoPlugin(BaseDashboardPlugin):
    """
    Base memo plugin.
    """
    name = _("Memo")
    group = _("Memo")
    form = MemoForm


# ********************************************************************************
# ********** Generating and registering the plugins using factory ****************
# ********************************************************************************

sizes = ((1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6))

plugin_factory(BaseMemoPlugin, 'memo', sizes)

# ********************************************************************************
# ******************************* Base TinyMCE memo plugin ***********************
# ********************************************************************************


class BaseTinyMCEMemoPlugin(BaseDashboardPlugin):
    """
    Memo dashboard plugin.
    """
    name = _("TinyMCE memo")
    group = _("Memo")
    form = TinyMCEMemoForm
    help_text = _("""TinyMCE tags are available here.""")
示例#23
0
    form = DummyForm
    group = _("Dummy")

    def get_form(self):
        if 'sidebar' == self.placeholder:
            return DummyShortcutsForm
        else:
            return DummyForm

    def post_processor(self):
        """
        If no text available, use dummy.
        """
        if not self.data.text:
            self.data.text = 'Dummy content'

# ********************************************************************************
# ********** Generating and registering the plugins using factory ****************
# ********************************************************************************
sizes = (
    (1, 1),
    (1, 2),
    (2, 1),
    (2, 2),
    (3, 3),
    (4, 4),
    (5, 5)
)

plugin_factory(BaseDummyPlugin, 'dummy', sizes)
示例#24
0
    (1, 1),
    (1, 2),
    (2, 1),
    (2, 2),
    (2, 3),
    (3, 2),
    (3, 3),
    (3, 4),
    (4, 3),
    (4, 4),
    (4, 5),
    (4, 6),
    (5, 4),
    (5, 5),
    (6, 4),
    (6, 5),
    (6, 3),
)

plugin_factory(BaseBarGraphPlugin, "bar_graph", sizes)

# ********************************************************************************
# ********************************* Registering widgets **************************
# ********************************************************************************

# Registering chart plugin widgets
plugin_widget_factory(BaseBarGraphWidget, "android", "main", "bar_graph", sizes)
plugin_widget_factory(BaseBarGraphWidget, "windows8", "main", "bar_graph", sizes)
plugin_widget_factory(BaseBarGraphWidget, "bootstrap2_fluid", "main", "bar_graph", sizes)
plugin_widget_factory(BaseBarGraphWidget, "testing", "main", "bar_graph", sizes)
示例#25
0
__license__ = 'GPL 2.0/LGPL 2.1'
__all__ = ('BaseReadRSSFeedPlugin',)

from django.utils.translation import ugettext_lazy as _

from dash.base import BaseDashboardPlugin
from dash.factory import plugin_factory
from dash.contrib.plugins.rss_feed.forms import ReadRSSFeedForm

# ********************************************************************************
# ********************************* Base Read RSS feed plugin ********************
# ********************************************************************************

class BaseReadRSSFeedPlugin(BaseDashboardPlugin):
    """
    Base Read RSS feed into HTML plugin.
    """
    name = _("Read RSS feed")
    form = ReadRSSFeedForm
    group = _("Internet")

# ********************************************************************************
# ********** Generating and registering the plugins using factory ****************
# ********************************************************************************
sizes = (
    (2, 3),
    (3, 3),
)

plugin_factory(BaseReadRSSFeedPlugin, 'read_rss_feed', sizes)
示例#26
0
        """
        If plugin has an image, we add a class `iconic` to it.
        """
        html_class = super(BaseURLPlugin, self).html_class
        if self.data.image:
            html_class += ' iconic-url'
        return html_class


# *****************************************************************************
# ********** Generating and registering the URL plugins using factory *********
# *****************************************************************************

sizes = ((1, 1), (2, 2))

plugin_factory(BaseURLPlugin, 'url', sizes)

# *****************************************************************************
# ********************************* Bookmark plugin ***************************
# *****************************************************************************


class BaseBookmarkPlugin(BaseDashboardPlugin):
    """
    Base URL plugin.
    """
    name = _("Bookmark")
    group = _("URLs")
    form = BookmarkForm

    @property
class BaseOpenLayersPlugin(BaseDashboardPlugin):
    """
    Base OpenLayers plugin.
    """
    name = _("openlayers")
    group = _("mapping")
    form = MapForm
    html_classes = ['mapping']

#  Generating and registering the plugins using factory 

sizes = (
    (1, 1),
    (1, 2),
    (2, 1),
    (2, 2),
    (2, 3),
    (3, 2),
    (3, 3),
    (3, 4),
    (4, 3),
    (4, 4),
    (4, 5),
    (5, 4),
    (5, 5)
)

plugin_factory(BaseOpenLayersPlugin, 'openlayers', sizes)

plugin_widget_factory(BaseOpenLayersWidget, 'android', 'main', 'openlayers', sizes)
示例#28
0
class BaseSunburstPartitionChartPlugin(BaseChartPlugin):
    """
    Base sunburst partition chart plugin.
    """

    name = _("Sunburst partition chart")
    html_classes = ["chartonic", "d3-sunburst-partition-chart-plugin"]


# *****************************************************************************
# ********** Generating and registering the plugins using factory *************
# *****************************************************************************
sizes = ((2, 2), (2, 3), (3, 3), (3, 4), (4, 4), (5, 5), (6, 6), (7, 7))

plugin_factory(BaseBubbleChartPlugin, "d3_bubble_chart", sizes)
plugin_factory(BaseStackedToGroupedBarsChartPlugin, "d3_stacked_to_grouped_bars_chart", sizes)
plugin_factory(BaseSunburstPartitionChartPlugin, "d3_sunburst_partition_chart", sizes)

# *****************************************************************************
# ********************************* Registering widgets ***********************
# *****************************************************************************

# Registering chart plugin widgets

# Bubble Chart
plugin_widget_factory(BaseBubbleChartWidget, "android", "main", "d3_bubble_chart", sizes)
plugin_widget_factory(BaseBubbleChartWidget, "windows8", "main", "d3_bubble_chart", sizes)
plugin_widget_factory(BaseBubbleChartWidget, "bootstrap2_fluid", "main", "d3_bubble_chart", sizes)

# Stacked-to-grouped bars chart
示例#29
0
            except:
                weather = None

            if weather:
                self.data.temp_max_c = weather['tempMaxC']
                self.data.temp_min_c = weather['tempMinC']
                self.data.windspeed_kmph = weather['windspeedKmph']
                self.data.wind_dir_16_point = weather['winddir16Point']

                try:
                    self.data.weather_desc = weather['weatherDesc'][0]['value']
                except Exception as e:
                    pass

                try:
                    self.data.weather_icon_url = weather['weatherIconUrl'][0]['value']
                except Exception as e:
                    pass


# ********************************************************************************
# ********** Generating and registering the plugins using factory ****************
# ********************************************************************************

sizes = (
    (2, 2),
    (3, 3),
)

plugin_factory(BaseWeatherPlugin, 'weather', sizes)
示例#30
0
from django.utils.translation import ugettext_lazy as _

from dash.base import BaseDashboardPlugin
from dash.factory import plugin_factory
from dash.contrib.plugins.rss_feed.forms import ReadRSSFeedForm

# ********************************************************************************
# ********************************* Base Read RSS feed plugin ********************
# ********************************************************************************


class BaseReadRSSFeedPlugin(BaseDashboardPlugin):
    """
    Base Read RSS feed into HTML plugin.
    """
    name = _("Read RSS feed")
    form = ReadRSSFeedForm
    group = _("Internet")


# ********************************************************************************
# ********** Generating and registering the plugins using factory ****************
# ********************************************************************************
sizes = (
    (2, 3),
    (3, 3),
)

plugin_factory(BaseReadRSSFeedPlugin, 'read_rss_feed', sizes)
示例#31
0
    Base image plugin.
    """
    name = _("Image")
    group = _("Image")
    form = ImageForm
    html_classes = ['pictonic']

    def delete_plugin_data(self):
        """
        Deletes uploaded file.
        """
        delete_file(self.data.image)

    def clone_plugin_data(self, dashboard_entry):
        """
        Clone plugin data, which means we make a copy of the original image.

        TODO: Perhaps rely more on data of `dashboard_entry`?
        """
        cloned_image = clone_file(self.data.image, relative_path=True)
        return self.get_cloned_plugin_data(update={'image': cloned_image})


# *****************************************************************************
# ********** Generating and registering the plugins using factory *************
# *****************************************************************************
sizes = ((1, 1), (1, 2), (2, 1), (2, 2), (2, 3), (3, 2), (3, 3), (3, 4),
         (4, 3), (4, 4), (4, 5), (5, 4), (5, 5))

plugin_factory(BaseImagePlugin, 'image', sizes)