Пример #1
0

plugin_registry.register(ReadRSSFeed2x3Plugin)

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


class ReadRSSFeed3x3Plugin(ReadRSSFeed2x3Plugin):
    """
    Big read RSS feed into HTML plugin.
    """

    uid = "read_rss_feed_3x3"
    name = _("Read RSS feed")


plugin_registry.register(ReadRSSFeed3x3Plugin)

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

# Registering the Android widgets for Read RSS feed plugin plugin.
plugin_widget_registry.register(ReadRSSFeed2x3AndroidMainWidget)
plugin_widget_registry.register(ReadRSSFeed3x3AndroidMainWidget)

# Registering the Windows8 widgets for Read RSS feed plugin.
plugin_widget_registry.register(ReadRSSFeed2x3Windows8MainWidget)
Пример #2
0
    URL dashboard plugin.
    """
    uid = 'url_1x1'
    name = _("URL")
    group = _("URLs")
    form = URLForm

    @property
    def html_class(self):
        """
        If plugin has an image, we add a class `iconic` to it.
        """
        html_class = super(URL1x1Plugin, self).html_class
        if self.data.image:
            html_class += ' iconic-url'
        return html_class

plugin_registry.register(URL1x1Plugin)

# *************************************************************************
# ****************** Registering the widgets for URL plugin ***************
# *************************************************************************

# Registering the Android widgets for URL plugin.
plugin_widget_registry.register(URL1x1AndroidMainWidget)
plugin_widget_registry.register(URL1x1AndroidShortcutWidget)

# Registering the Windows8widgets for URL plugin.
plugin_widget_registry.register(URL1x1Windows8MainWidget)
plugin_widget_registry.register(URL1x1Windows8SidebarWidget)
Пример #3
0
plugin_registry.register(Video4x4Plugin)


# *************************************************************************
# ******************************* Gigantic video plugin *******************
# *************************************************************************

class Video5x5Plugin(Video2x2Plugin):
    """
    Video dashboard plugin.
    """
    uid = 'video_5x5'
    name = _("Video")


plugin_registry.register(Video5x5Plugin)

# *************************************************************************
# ****************** Registering the widgets for Video plugin *************
# *************************************************************************

# Registering the Android widgets for Video plugin.
plugin_widget_registry.register(Video2x2AndroidMainWidget)
plugin_widget_registry.register(Video3x3AndroidMainWidget)
plugin_widget_registry.register(Video4x4AndroidMainWidget)
plugin_widget_registry.register(Video5x5AndroidMainWidget)

# Registering the Windows8widgets for Video plugin.
plugin_widget_registry.register(Video2x2Windows8MainWidget)
plugin_widget_registry.register(Video2x2Windows8SidebarWidget)
Пример #4
0
class URLBootstrapTwo2x2Plugin(URLBootstrapTwo1x1Plugin):
    """
    URL dashboard plugin.
    """
    uid = 'url_bootstrap_two_2x2'


plugin_registry.register(URLBootstrapTwo2x2Plugin)

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

# Registering dummy plugin widgets
plugin_widget_registry.register(Dummy1x1Bootstrap2FluidMainWidget)
plugin_widget_registry.register(Dummy2x2Bootstrap2FluidMainWidget)

# Registering image plugin widgets
plugin_widget_registry.register(Image1x1Bootstrap2FluidMainWidget)
plugin_widget_registry.register(Image2x2Bootstrap2FluidMainWidget)
plugin_widget_registry.register(Image3x2Bootstrap2FluidMainWidget)
plugin_widget_registry.register(Image3x3Bootstrap2FluidMainWidget)
plugin_widget_registry.register(Image3x4Bootstrap2FluidMainWidget)
plugin_widget_registry.register(Image4x4Bootstrap2FluidMainWidget)
plugin_widget_registry.register(Image4x5Bootstrap2FluidMainWidget)
plugin_widget_registry.register(Image5x4Bootstrap2FluidMainWidget)
plugin_widget_registry.register(Image5x5Bootstrap2FluidMainWidget)

# Registering memo plugin widgets
plugin_widget_registry.register(Memo2x2Bootstrap2FluidMainWidget)
Пример #5
0
# **************************************************************************

class TinyMCEMemo3x3Plugin(TinyMCEMemo2x2Plugin):
    """
    Exact copy of the memo plugin, just rendered bigger.
    """
    uid = 'tinymce_memo_3x3'

plugin_registry.register(TinyMCEMemo3x3Plugin)

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

# Registering the Android widgets for Memo plugin.
plugin_widget_registry.register(Memo2x2AndroidMainWidget)
plugin_widget_registry.register(Memo1x1AndroidShortcutWidget)

# Registering the Android widgets for Big memo plugin.
plugin_widget_registry.register(Memo3x3AndroidMainWidget)

# Registering the Windows8 widgets for Big memo plugin.
plugin_widget_registry.register(Memo3x3Windows8MainWidget)

# Registering the Android widgets for Huge memo plugin.
plugin_widget_registry.register(Memo4x5AndroidMainWidget)

# Registering the Android widgets for TinyMCE memo plugin.
plugin_widget_registry.register(TinyMCEMemo2x2AndroidMainWidget)

# Registering the Android widgets for Big TinyMCE memo plugin.
Пример #6
0
# *************************************************************************

class Image5x5Plugin(Image1x1Plugin):
    """
    Image5x5 dashboard plugin.
    """
    uid = 'image_5x5'

plugin_registry.register(Image5x5Plugin)

# *************************************************************************
# **************** Registering the widgets for Image1x1 plugin ************
# *************************************************************************

# Registering the Android widgets for Image1x1 plugin.
plugin_widget_registry.register(Image1x1AndroidMainWidget)

# Registering the Android widgets for Image1x1 plugin.
plugin_widget_registry.register(Image2x2AndroidMainWidget)

# Registering the Android widgets for Image1x1 plugin.
plugin_widget_registry.register(Image3x3AndroidMainWidget)

# Registering the Android widgets for Image1x1 plugin.
plugin_widget_registry.register(Image3x2AndroidMainWidget)

# Registering the Android widgets for Image1x1 plugin.
plugin_widget_registry.register(Image2x3AndroidMainWidget)

# Registering the Windows8widgets for Image1x1 plugin.
plugin_widget_registry.register(Image1x1Windows8MainWidget)
Пример #7
0
                except Exception as e:
                    pass


plugin_registry.register(Weather2x2Plugin)

# ********************************************************************************
# ******************************* Big weather plugin *****************************
# ********************************************************************************

class Weather3x3Plugin(Weather2x2Plugin):
    """
    Big weather dashboard plugin.
    """
    uid = 'weather_3x3'
    name = _("Weather")
    group = _("Weather")


plugin_registry.register(Weather3x3Plugin)

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

# Registering the Android widgets for Weather plugin.
plugin_widget_registry.register(Weather2x2AndroidMainWidget)

# Registering the Android widgets for Big weather plugin.
plugin_widget_registry.register(Weather3x3AndroidMainWidget)
Пример #8
0
# **************************************************************************

main_sizes = (
    (2, 3),
)
sidebar_sizes = (
    (2, 3),
)
plugin_widget_factory(BaseReadRSSFeedWidget, 'windows8', 'main', 'read_rss_feed', main_sizes)
plugin_widget_factory(BaseReadRSSFeedWidget, 'windows8', 'sidebar', 'read_rss_feed', sidebar_sizes)

# **************************************************************************
# ******************* Registering the widgets for URL plugin ***************
# **************************************************************************

plugin_widget_registry.register(URL1x1Windows8MainWidget)
plugin_widget_registry.register(URL1x1Windows8SidebarWidget)

# **************************************************************************
# ***************** Registering the widgets for Video plugin ***************
# **************************************************************************

main_sizes = (
    (2, 2),
)
sidebar_sizes = (
    (2, 3),
)
plugin_widget_factory(BaseVideoWidget, 'windows8', 'main', 'video', main_sizes)
plugin_widget_factory(BaseVideoWidget, 'windows8', 'sidebar', 'video', sidebar_sizes)
Пример #9
0
main_sizes = (
    (2, 2),
    (3, 3),
    (4, 5),
    (5, 5),
)
plugin_widget_factory(BaseTinyMCEMemoWidget, 'bootstrap2_fluid', 'main', \
                      'tinymce_memo', main_sizes)

# **************************************************************************
# ******************* Registering the widgets for URL plugin ***************
# **************************************************************************

# Registering URL plugin widgets
plugin_widget_registry.register(URLBootstrapTwo1x1Bootstrap2FluidMainWidget)
#plugin_widget_registry.register(URLBootstrapTwo2x2Bootstrap2FluidMainWidget)

# **************************************************************************
# ***************** Registering the widgets for Video plugin ***************
# **************************************************************************

main_sizes = (
    (2, 2),
    (3, 3),
    (4, 4),
    (5, 5),
)
plugin_widget_factory(BaseVideoWidget, 'bootstrap2_fluid', 'main', 'video', \
                      main_sizes)
Пример #10
0
# **************************************************************************
# ******************* Registering widgets for RSS plugin *******************
# **************************************************************************

main_sizes = ((2, 3), )
sidebar_sizes = ((2, 3), )
plugin_widget_factory(BaseReadRSSFeedWidget, 'windows8', 'main',
                      'read_rss_feed', main_sizes)
plugin_widget_factory(BaseReadRSSFeedWidget, 'windows8', 'sidebar',
                      'read_rss_feed', sidebar_sizes)

# **************************************************************************
# ******************* Registering the widgets for URL plugin ***************
# **************************************************************************

plugin_widget_registry.register(URL1x1Windows8MainWidget)
plugin_widget_registry.register(URL1x1Windows8SidebarWidget)

# **************************************************************************
# ***************** Registering the widgets for Video plugin ***************
# **************************************************************************

main_sizes = ((2, 2), )
sidebar_sizes = ((2, 3), )
plugin_widget_factory(BaseVideoWidget, 'windows8', 'main', 'video', main_sizes)
plugin_widget_factory(BaseVideoWidget, 'windows8', 'sidebar', 'video',
                      sidebar_sizes)

# **************************************************************************
# *************** Registering the widgets for Bookmark plugin ***************
# **************************************************************************
Пример #11
0
                                       .order_by('-date_published')[:self.data.max_items]


plugin_registry.register(News2x5Plugin)

# ***************************************************************************
# ******************************* Huge news plugin **************************
# ***************************************************************************

class News4x5Plugin(BaseDashboardPlugin):
    """
    News plugin.
    """
    uid = 'news_4x5'
    name = _("News")
    form = NewsForm
    group = _("News")


plugin_registry.register(News4x5Plugin)

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

# Registering the Android widgets for News plugin plugin.
plugin_widget_registry.register(News2x5AndroidMainWidget)

# Registering the Android widgets for Huge news plugin plugin.
plugin_widget_registry.register(News4x5AndroidMainWidget)
Пример #12
0
plugin_widget_factory(BaseNewsWidget, 'android', 'main', 'news', main_sizes)

# **************************************************************************
# ******************* Registering widgets for RSS plugin *******************
# **************************************************************************

main_sizes = (
    (2, 3),
    (3, 3),
)
plugin_widget_factory(BaseReadRSSFeedWidget, 'android', 'main', 'read_rss_feed', main_sizes)

# **************************************************************************
# ******************* Registering the widgets for URL plugin ***************
# **************************************************************************
plugin_widget_registry.register(URL1x1AndroidMainWidget)
plugin_widget_registry.register(URL1x1AndroidShortcutWidget)

# **************************************************************************
# ***************** Registering the widgets for Video plugin ***************
# **************************************************************************

main_sizes = (
    (2, 2),
    (3, 3),
    (4, 4),
    (5, 5),
)
plugin_widget_factory(BaseVideoWidget, 'android', 'main', 'video', main_sizes)

# **************************************************************************
Пример #13
0
plugin_widget_factory(BaseTinyMCEMemoWidget, 'android', 'main', 'tinymce_memo', main_sizes)

# **************************************************************************
# ******************* Registering widgets for RSS plugin *******************
# **************************************************************************

main_sizes = (
    (2, 3),
    (3, 3),
)
plugin_widget_factory(BaseReadRSSFeedWidget, 'android', 'main', 'read_rss_feed', main_sizes)

# **************************************************************************
# ******************* Registering the widgets for URL plugin ***************
# **************************************************************************
plugin_widget_registry.register(URL1x1AndroidMainWidget)
plugin_widget_registry.register(URL1x1AndroidShortcutWidget)

# **************************************************************************
# ***************** Registering the widgets for Video plugin ***************
# **************************************************************************

main_sizes = (
    (2, 2),
    (3, 3),
    (4, 4),
    (5, 5),
)
plugin_widget_factory(BaseVideoWidget, 'android', 'main', 'video', main_sizes)

# **************************************************************************
Пример #14
0
    """
    (Big) dummy3x3 dashboard plugin.
    """
    uid = 'dummy_3x3'
    name = _("Dummy")
    group = _("Dummy")


plugin_registry.register(Dummy3x3Plugin)

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

# Registering the Android widgets for Dummy plugin.
plugin_widget_registry.register(Dummy1x1AndroidMainWidget)
plugin_widget_registry.register(Dummy1x1AndroidShortcutWidget)

# Registering the Windows8 widgets for Dummy plugin.
plugin_widget_registry.register(Dummy1x1Windows8MainWidget)
plugin_widget_registry.register(Dummy1x1Windows8SidebarWidget)

# Registering the Android widgets for Large dummy plugin.
plugin_widget_registry.register(Dummy2x1AndroidMainWidget)

# Registering the Android widgets for LargeDummy plugin.
plugin_widget_registry.register(Dummy1x2AndroidMainWidget)
plugin_widget_registry.register(Dummy1x2AndroidShortcutWidget)

# Registering the Android widgets for Big dummy plugin.
plugin_widget_registry.register(Dummy3x3AndroidMainWidget)
Пример #15
0
main_sizes = (
    (2, 2),
    (3, 3),
    (4, 5),
    (5, 5),
)
plugin_widget_factory(BaseTinyMCEMemoWidget, 'bootstrap2_fluid', 'main', \
                      'tinymce_memo', main_sizes)

# **************************************************************************
# ******************* Registering the widgets for URL plugin ***************
# **************************************************************************

# Registering URL plugin widgets
plugin_widget_registry.register(URLBootstrapTwo1x1Bootstrap2FluidMainWidget)
#plugin_widget_registry.register(URLBootstrapTwo2x2Bootstrap2FluidMainWidget)

# **************************************************************************
# ***************** Registering the widgets for Video plugin ***************
# **************************************************************************

main_sizes = (
    (2, 2),
    (3, 3),
    (4, 4),
    (5, 5),
)
plugin_widget_factory(BaseVideoWidget, 'bootstrap2_fluid', 'main', 'video', \
                      main_sizes)
Пример #16
0
def plugin_widget_factory(base_class, layout_uid, placeholder_uid, plugin_uid_prefix, sizes=[]):
    """
    Plugin widget factory.

    :param dash.base.BaseDashboardWidget base_class: Subclass of.
    :param string layout_uid: Layout UID, for which widgets are generated.
    :param string placeholder_uid: Placeholder UID, for which widets are generated.
    :param string plugin_uid_prefix: Prefix of the plugin UID.
    :param iterable sizes: Iterable of tuples.

    :example:
    >>> from dash.contrib.plugins.image.dash_widgets import BaseImageWidget
    >>> plugin_widget_factory(BaseImageWidget, 'android', 'main', 'image', zip(range(6, 10), range(6, 10)))

    The example above will update the plugin widget registry with the following dictionary:

    >>> {
    >>>     'android.main.image_6x6': dash.factory.Widget,
    >>>     'android.main.image_7x7': dash.factory.Widget,
    >>>     'android.main.image_8x8': dash.factory.Widget,
    >>>     'android.main.image_9x9': dash.factory.Widget,
    >>> }

    The generated class (one of them), would look as follows:

    >>> class Widget(BaseImageWidget):
    >>>     layout_uid = 'android'
    >>>     placeholder_uid = 'main'
    >>>     plugin_uid = 'image_6x6'
    >>>     cols = 6
    >>>     rows = 6

    The ``layout_uid``, ``placeholder_uid``, ``plugin_uid``, ``cols`` and ``rows`` properties are 
    generated automatically.
    """
    for cols, rows in sizes:
        plugin_uid = "{plugin_uid_prefix}_{cols}x{rows}".format(
            plugin_uid_prefix = plugin_uid_prefix,
            cols = cols,
            rows = rows
            )

        #class_name = "{plugin_uid_prefix}{cols}x{rows}{layout_uid}{placeholder_uid}Widget".format(
        #    plugin_uid_prefix = plugin_uid_prefix.title(),
        #    cols = cols,
        #    rows = rows,
        #    layout_uid = layout_uid.title(),
        #    placeholder_uid = placeholder_uid.title()
        #    )

        class WidgetMeta(type):
            """
            Dynamically created plugin widget meta class.
            """
            def __new__(cls, name, bases, props):
                props['layout_uid'] = layout_uid
                props['placeholder_uid'] = placeholder_uid
                props['plugin_uid'] = plugin_uid
                props['cols'] = cols
                props['rows'] = rows
                return type.__new__(cls, name, bases, props)

        class Widget(with_metaclass(WidgetMeta, base_class)):
            """
            Dynamically created widget class.
            """

        plugin_widget_registry.register(Widget)
Пример #17
0

class Image8x1Plugin(BaseImagePlugin):
    """Image3x8 dashboard plugin."""

    uid = 'image_8x1'


plugin_registry.register(Image8x1Plugin)

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

# Registering dummy plugin widgets
plugin_widget_registry.register(Dummy1x1ExampleMainWidget)
plugin_widget_registry.register(Dummy2x2ExampleMainWidget)

plugin_widget_registry.register(Dummy1x1ExampleTopShortcutsWidget)

plugin_widget_registry.register(Dummy1x1ExampleRightShortcutsWidget)
plugin_widget_registry.register(Dummy2x2ExampleRightShortcutsWidget)

plugin_widget_registry.register(Dummy1x1ExampleBottomShortcutsWidget)

plugin_widget_registry.register(Dummy1x1ExampleLeftShortcutsWidget)
plugin_widget_registry.register(Dummy2x2ExampleLeftShortcutsWidget)

# Registering image plugin widgets
plugin_widget_registry.register(Image1x1ExampleMainWidget)
plugin_widget_registry.register(Image2x2ExampleMainWidget)
Пример #18
0
def plugin_widget_factory(base_class,
                          layout_uid,
                          placeholder_uid,
                          plugin_uid_prefix,
                          sizes=[]):
    """
    Plugin widget factory.

    :param dash.base.BaseDashboardWidget base_class: Subclass of.
    :param string layout_uid: Layout UID, for which widgets are generated.
    :param string placeholder_uid: Placeholder UID, for which widets are generated.
    :param string plugin_uid_prefix: Prefix of the plugin UID.
    :param iterable sizes: Iterable of tuples.

    :example:
    >>> from dash.contrib.plugins.image.dash_widgets import BaseImageWidget
    >>> plugin_widget_factory(BaseImageWidget, 'android', 'main', 'image', zip(range(6, 10), range(6, 10)))

    The example above will update the plugin widget registry with the following dictionary:

    >>> {
    >>>     'android.main.image_6x6': dash.factory.Widget,
    >>>     'android.main.image_7x7': dash.factory.Widget,
    >>>     'android.main.image_8x8': dash.factory.Widget,
    >>>     'android.main.image_9x9': dash.factory.Widget,
    >>> }

    The generated class (one of them), would look as follows:

    >>> class Widget(BaseImageWidget):
    >>>     layout_uid = 'android'
    >>>     placeholder_uid = 'main'
    >>>     plugin_uid = 'image_6x6'
    >>>     cols = 6
    >>>     rows = 6

    The ``layout_uid``, ``placeholder_uid``, ``plugin_uid``, ``cols`` and ``rows`` properties are 
    generated automatically.
    """
    for cols, rows in sizes:
        plugin_uid = "{plugin_uid_prefix}_{cols}x{rows}".format(
            plugin_uid_prefix=plugin_uid_prefix, cols=cols, rows=rows)

        #class_name = "{plugin_uid_prefix}{cols}x{rows}{layout_uid}{placeholder_uid}Widget".format(
        #    plugin_uid_prefix = plugin_uid_prefix.title(),
        #    cols = cols,
        #    rows = rows,
        #    layout_uid = layout_uid.title(),
        #    placeholder_uid = placeholder_uid.title()
        #    )

        class WidgetMeta(type):
            """
            Dynamically created plugin widget meta class.
            """
            def __new__(cls, name, bases, props):
                props['layout_uid'] = layout_uid
                props['placeholder_uid'] = placeholder_uid
                props['plugin_uid'] = plugin_uid
                props['cols'] = cols
                props['rows'] = rows
                return type.__new__(cls, name, bases, props)

        class Widget(with_metaclass(WidgetMeta, base_class)):
            """
            Dynamically created widget class.
            """

        plugin_widget_registry.register(Widget)