wagtail-filerobot


Namewagtail-filerobot JSON
Version 1.4.4 PyPI version JSON
download
home_pagehttps://github.com/Nigel2392/wagtail-filerobot
SummaryA filerobot image editing widget for Wagtail Image fields.
upload_time2024-09-30 11:54:03
maintainerNone
docs_urlNone
authorNigel
requires_python>=3.8
licenseGPL-3.0-only
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            filerobot
=========

A wagtail widget to add [filerobot ](https://github.com/scaleflex/filerobot-image-editor)image editor to your wagtail fields.

Quick start
-----------

1. Add 'filerobot' to your INSTALLED_APPS setting like this:

   ```
   INSTALLED_APPS = [
   ...,
   'filerobot',
   ]
   ```
2. Run `py manage.py collectstatic`
3. Run `py manage.py migrate`
4. Import and use the widget on your model

   ```python
   from django.db import models
   from wagtail import fields
   from wagtail.models import Page
   from wagtail.admin.panels import FieldPanel

   from filerobot.widgets import FilerobotWidget, obj
   from filerobot.blocks import FilerobotBlock as FilerobotBlock
   from filerobot.fields import FilerobotField as FilerobotImageField


   class HomePage(Page):
       image = models.ForeignKey(
           "wagtailimages.Image",
           null=True,
           blank=True,
           on_delete=models.SET_NULL,
           related_name="+",
       )

       # As an automatic foreign key field!
       filerobot_image = FilerobotImageField(
           # https://github.com/scaleflex/filerobot-image-editor?tab=readme-ov-file#tabsids
           tabs=[
               obj.TABS.FINETUNE,
               obj.TABS.FILTERS,
               obj.TABS.ADJUST,
               obj.TABS.WATERMARK,
               obj.TABS.ANNOTATE,
               obj.TABS.RESIZE,
           ],

           # https://github.com/scaleflex/filerobot-image-editor?tab=readme-ov-file#annotationscommon
           annotations_common=obj.AnnotationsCommon(
               # fill:            str = None,
               # stroke:          str = None,
               # stroke_width:    int = None,
               # shadow_offset_x: int = None,
               # shadow_offset_y: int = None,
               # shadow_blur:     int = None,
               # shadow_color:    str = None,
               # shadow_opacity:  int = None,
               # opacity:         int = None,
           ),

           # https://github.com/scaleflex/filerobot-image-editor?tab=readme-ov-file#Text
           text=obj.Text(
               # text:           str       = None,
               # font_family:    str       = None,
               # fonts:          list[str] = None,
               # font_size:      int       = None,
               # letter_spacing: int       = None,
               # line_height:    int       = None,
               # align:          str       = None,
               # font_style:     str       = None,
               # ...annotations_common

           ),

           # https://github.com/scaleflex/filerobot-image-editor?tab=readme-ov-file#image
           image=obj.Image(
               # fill:           str                   = None,
               # disable_upload: bool                  = False,
               # gallery:        list[obj.ImageObject] = None,
               # ...annotations_common
           ),

           # https://github.com/scaleflex/filerobot-image-editor?tab=readme-ov-file#rect
           rect=obj.Rect(
               # corner_radius: int = None,
               # ...annotations_common
           ),

           # https://github.com/scaleflex/filerobot-image-editor?tab=readme-ov-file#ellipse
           ellipse=obj.Ellipse(
               # ...annotations_common
           ),

           # https://github.com/scaleflex/filerobot-image-editor?tab=readme-ov-file#polygon
           polygon=obj.Polygon(
               # sides: int = None,
               # ...annotations_common
           ),

           # https://github.com/scaleflex/filerobot-image-editor?tab=readme-ov-file#pen
           pen=obj.Pen(
               # stroke_width:                     int   = None,
               # tension:                          float = None,
               # line_cap:                         str   = None,
               # select_annotation_after_drawing:  bool  = None,
               # ...annotations_common
           ),

           # https://github.com/scaleflex/filerobot-image-editor?tab=readme-ov-file#line
           line=obj.Line(
               # stroke_width: int = None,
               # line_cap:     str = None,
               # ...annotations_common
           ),

           # https://github.com/scaleflex/filerobot-image-editor?tab=readme-ov-file#arrow
           arrow=obj.Arrow(
               # stroke_width:   int = None,
               # line_cap:       str = None,
               # pointer_length: int = None,
               # pointer_width:  int = None,
               # ...annotations_common
           ),

           # https://github.com/scaleflex/filerobot-image-editor?tab=readme-ov-file#watermark
           watermark=obj.Watermark(
               # gallery:             list[obj.WatermarkImageObject] = None,
               # text_scaling_ratio:  float                          = None,
               # image_scaling_ratio: float                          = None,
               # hide_text_watermark: bool                           = None,
           ),

           # rotate:                                 dict = None,
           # crop:                                   dict = None,
           # crop_preset_folder:                     dict = None,
           # crop_preset_group:                      dict = None,
           # crop_preset_item:                       dict = None,
           # cloud_image:                            dict = None,

           # default_tab_id:                         str  = None, # Tabs defined in constants.py
           # default_tool_id:                        str  = None, # Tools defined in constants.py
           # use_backend_translations:               bool = None,
           # language:                               str  = None, # Inferred inside attrs by translation.get_language()
           # avoid_changes_not_saved_alert_on_leave: bool = None,
           # default_saved_image_quality:            int  = None,
           # force_to_png_in_elliptical_crop:        bool = None,
           # use_cloud_image:                        bool = None,
           # saving_pixel_ratio:                     int  = None,
           # preview_pixel_ratio:                    int  = None,
           # observe_plugin_container_size:          bool = None,
           # show_canvas_only:                       bool = None,
           # use_zoom_presets_menu:                  bool = None,
           # disable_zooming:                        bool = None,
           # no_cross_origin:                        bool = None,
           # disable_save_if_no_changes:             bool = None,
           # typography:                             str  = None, # The font family to use across the theme.

           # Automatically save the image when submitting the admin form.
           # This might lag your browser for a second or 2 when saving the page.
           should_auto_save = True,
       )

       content_panels = [
           # As a widget!
           FieldPanel('image', widget=FilerobotWidget(tabs=[
               "Finetune",
               "Filters",
               "Adjust",
               "Watermark",
               "Annotate",
               "Resize",
           ])),
           FieldPanel("filerobot_image"),
           *Page.content_panels,
           FieldPanel('content'),
       ]

       content = fields.StreamField([
           # As a block!
           ('filerobot', FilerobotBlock()),
       ], blank=True, use_json_field=True)

   ```

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/Nigel2392/wagtail-filerobot",
    "name": "wagtail-filerobot",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": null,
    "keywords": null,
    "author": "Nigel",
    "author_email": "nigel@goodadvice.it",
    "download_url": "https://files.pythonhosted.org/packages/78/25/30d85d56fa689c0f52a28a5a825719e0199594ae86523a701ff35b5685c4/wagtail_filerobot-1.4.4.tar.gz",
    "platform": null,
    "description": "filerobot\r\n=========\r\n\r\nA wagtail widget to add [filerobot ](https://github.com/scaleflex/filerobot-image-editor)image editor to your wagtail fields.\r\n\r\nQuick start\r\n-----------\r\n\r\n1. Add 'filerobot' to your INSTALLED_APPS setting like this:\r\n\r\n   ```\r\n   INSTALLED_APPS = [\r\n   ...,\r\n   'filerobot',\r\n   ]\r\n   ```\r\n2. Run `py manage.py collectstatic`\r\n3. Run `py manage.py migrate`\r\n4. Import and use the widget on your model\r\n\r\n   ```python\r\n   from django.db import models\r\n   from wagtail import fields\r\n   from wagtail.models import Page\r\n   from wagtail.admin.panels import FieldPanel\r\n\r\n   from filerobot.widgets import FilerobotWidget, obj\r\n   from filerobot.blocks import FilerobotBlock as FilerobotBlock\r\n   from filerobot.fields import FilerobotField as FilerobotImageField\r\n\r\n\r\n   class HomePage(Page):\r\n       image = models.ForeignKey(\r\n           \"wagtailimages.Image\",\r\n           null=True,\r\n           blank=True,\r\n           on_delete=models.SET_NULL,\r\n           related_name=\"+\",\r\n       )\r\n\r\n       # As an automatic foreign key field!\r\n       filerobot_image = FilerobotImageField(\r\n           # https://github.com/scaleflex/filerobot-image-editor?tab=readme-ov-file#tabsids\r\n           tabs=[\r\n               obj.TABS.FINETUNE,\r\n               obj.TABS.FILTERS,\r\n               obj.TABS.ADJUST,\r\n               obj.TABS.WATERMARK,\r\n               obj.TABS.ANNOTATE,\r\n               obj.TABS.RESIZE,\r\n           ],\r\n\r\n           # https://github.com/scaleflex/filerobot-image-editor?tab=readme-ov-file#annotationscommon\r\n           annotations_common=obj.AnnotationsCommon(\r\n               # fill:            str = None,\r\n               # stroke:          str = None,\r\n               # stroke_width:    int = None,\r\n               # shadow_offset_x: int = None,\r\n               # shadow_offset_y: int = None,\r\n               # shadow_blur:     int = None,\r\n               # shadow_color:    str = None,\r\n               # shadow_opacity:  int = None,\r\n               # opacity:         int = None,\r\n           ),\r\n\r\n           # https://github.com/scaleflex/filerobot-image-editor?tab=readme-ov-file#Text\r\n           text=obj.Text(\r\n               # text:           str       = None,\r\n               # font_family:    str       = None,\r\n               # fonts:          list[str] = None,\r\n               # font_size:      int       = None,\r\n               # letter_spacing: int       = None,\r\n               # line_height:    int       = None,\r\n               # align:          str       = None,\r\n               # font_style:     str       = None,\r\n               # ...annotations_common\r\n\r\n           ),\r\n\r\n           # https://github.com/scaleflex/filerobot-image-editor?tab=readme-ov-file#image\r\n           image=obj.Image(\r\n               # fill:           str                   = None,\r\n               # disable_upload: bool                  = False,\r\n               # gallery:        list[obj.ImageObject] = None,\r\n               # ...annotations_common\r\n           ),\r\n\r\n           # https://github.com/scaleflex/filerobot-image-editor?tab=readme-ov-file#rect\r\n           rect=obj.Rect(\r\n               # corner_radius: int = None,\r\n               # ...annotations_common\r\n           ),\r\n\r\n           # https://github.com/scaleflex/filerobot-image-editor?tab=readme-ov-file#ellipse\r\n           ellipse=obj.Ellipse(\r\n               # ...annotations_common\r\n           ),\r\n\r\n           # https://github.com/scaleflex/filerobot-image-editor?tab=readme-ov-file#polygon\r\n           polygon=obj.Polygon(\r\n               # sides: int = None,\r\n               # ...annotations_common\r\n           ),\r\n\r\n           # https://github.com/scaleflex/filerobot-image-editor?tab=readme-ov-file#pen\r\n           pen=obj.Pen(\r\n               # stroke_width:                     int   = None,\r\n               # tension:                          float = None,\r\n               # line_cap:                         str   = None,\r\n               # select_annotation_after_drawing:  bool  = None,\r\n               # ...annotations_common\r\n           ),\r\n\r\n           # https://github.com/scaleflex/filerobot-image-editor?tab=readme-ov-file#line\r\n           line=obj.Line(\r\n               # stroke_width: int = None,\r\n               # line_cap:     str = None,\r\n               # ...annotations_common\r\n           ),\r\n\r\n           # https://github.com/scaleflex/filerobot-image-editor?tab=readme-ov-file#arrow\r\n           arrow=obj.Arrow(\r\n               # stroke_width:   int = None,\r\n               # line_cap:       str = None,\r\n               # pointer_length: int = None,\r\n               # pointer_width:  int = None,\r\n               # ...annotations_common\r\n           ),\r\n\r\n           # https://github.com/scaleflex/filerobot-image-editor?tab=readme-ov-file#watermark\r\n           watermark=obj.Watermark(\r\n               # gallery:             list[obj.WatermarkImageObject] = None,\r\n               # text_scaling_ratio:  float                          = None,\r\n               # image_scaling_ratio: float                          = None,\r\n               # hide_text_watermark: bool                           = None,\r\n           ),\r\n\r\n           # rotate:                                 dict = None,\r\n           # crop:                                   dict = None,\r\n           # crop_preset_folder:                     dict = None,\r\n           # crop_preset_group:                      dict = None,\r\n           # crop_preset_item:                       dict = None,\r\n           # cloud_image:                            dict = None,\r\n\r\n           # default_tab_id:                         str  = None, # Tabs defined in constants.py\r\n           # default_tool_id:                        str  = None, # Tools defined in constants.py\r\n           # use_backend_translations:               bool = None,\r\n           # language:                               str  = None, # Inferred inside attrs by translation.get_language()\r\n           # avoid_changes_not_saved_alert_on_leave: bool = None,\r\n           # default_saved_image_quality:            int  = None,\r\n           # force_to_png_in_elliptical_crop:        bool = None,\r\n           # use_cloud_image:                        bool = None,\r\n           # saving_pixel_ratio:                     int  = None,\r\n           # preview_pixel_ratio:                    int  = None,\r\n           # observe_plugin_container_size:          bool = None,\r\n           # show_canvas_only:                       bool = None,\r\n           # use_zoom_presets_menu:                  bool = None,\r\n           # disable_zooming:                        bool = None,\r\n           # no_cross_origin:                        bool = None,\r\n           # disable_save_if_no_changes:             bool = None,\r\n           # typography:                             str  = None, # The font family to use across the theme.\r\n\r\n           # Automatically save the image when submitting the admin form.\r\n           # This might lag your browser for a second or 2 when saving the page.\r\n           should_auto_save = True,\r\n       )\r\n\r\n       content_panels = [\r\n           # As a widget!\r\n           FieldPanel('image', widget=FilerobotWidget(tabs=[\r\n               \"Finetune\",\r\n               \"Filters\",\r\n               \"Adjust\",\r\n               \"Watermark\",\r\n               \"Annotate\",\r\n               \"Resize\",\r\n           ])),\r\n           FieldPanel(\"filerobot_image\"),\r\n           *Page.content_panels,\r\n           FieldPanel('content'),\r\n       ]\r\n\r\n       content = fields.StreamField([\r\n           # As a block!\r\n           ('filerobot', FilerobotBlock()),\r\n       ], blank=True, use_json_field=True)\r\n\r\n   ```\r\n",
    "bugtrack_url": null,
    "license": "GPL-3.0-only",
    "summary": "A filerobot image editing widget for Wagtail Image fields.",
    "version": "1.4.4",
    "project_urls": {
        "Homepage": "https://github.com/Nigel2392/wagtail-filerobot"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "782530d85d56fa689c0f52a28a5a825719e0199594ae86523a701ff35b5685c4",
                "md5": "beff40a398b834a1c55ef5364c1bdd07",
                "sha256": "17f08937260f7a945904395b2ccf9e42de9f24e6bdaf42491d6c8450d6cfebfa"
            },
            "downloads": -1,
            "filename": "wagtail_filerobot-1.4.4.tar.gz",
            "has_sig": false,
            "md5_digest": "beff40a398b834a1c55ef5364c1bdd07",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 330896,
            "upload_time": "2024-09-30T11:54:03",
            "upload_time_iso_8601": "2024-09-30T11:54:03.245442Z",
            "url": "https://files.pythonhosted.org/packages/78/25/30d85d56fa689c0f52a28a5a825719e0199594ae86523a701ff35b5685c4/wagtail_filerobot-1.4.4.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-09-30 11:54:03",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "Nigel2392",
    "github_project": "wagtail-filerobot",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "wagtail-filerobot"
}
        
Elapsed time: 0.33259s