NetBox sets Pillow's MAX_IMAGE_PIXELS to 25 MP, so Pillow rejects images above 50 MP as decompression bombs. Raise the limit to 100 MP while the bulk upload is processed and surface the underlying Pillow error. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
64 lines
2.3 KiB
Python
64 lines
2.3 KiB
Python
from netbox.plugins import PluginConfig, get_plugin_config
|
|
|
|
__version__ = "0.14.1"
|
|
|
|
|
|
class NetBoxUtilitiesConfig(PluginConfig):
|
|
name = "netbox_utilities"
|
|
verbose_name = "NetBox Utilities"
|
|
description = "Navigation, tenant utilities, connection VLANs, partial-width racks, and bulk operations"
|
|
version = __version__
|
|
author = "LKE"
|
|
base_url = "utilities"
|
|
min_version = "4.6.5"
|
|
max_version = "4.7.99"
|
|
default_settings = {
|
|
"navigation_customization_enabled": True,
|
|
"connection_vlans_enabled": True,
|
|
"connection_tenant_filter_enabled": True,
|
|
"reorder_rack_bulk_save_enabled": True,
|
|
"topology_views_rack_width_enabled": True,
|
|
"tenant_filter_enabled": True,
|
|
"tenant_required": True,
|
|
"offline_svg_export_enabled": True,
|
|
"site_prefix_column_enabled": True,
|
|
}
|
|
middleware = [
|
|
"netbox_utilities.middleware.GlobalTenantFilterMiddleware",
|
|
]
|
|
|
|
def ready(self):
|
|
super().ready()
|
|
from .patchpanel import install_patchpanel_automation
|
|
from .rack_width import install_rack_width_support
|
|
from .tenant_scope import install_search_filter
|
|
from .tenant_validation import install_tenant_validation
|
|
|
|
install_search_filter()
|
|
install_tenant_validation()
|
|
install_patchpanel_automation()
|
|
install_rack_width_support()
|
|
if get_plugin_config("netbox_utilities", "site_prefix_column_enabled"):
|
|
from .site_prefix import install_site_prefix_column
|
|
|
|
install_site_prefix_column()
|
|
if get_plugin_config("netbox_utilities", "connection_vlans_enabled"):
|
|
from .connection_vlans import install_connection_vlan_support
|
|
|
|
install_connection_vlan_support()
|
|
if get_plugin_config("netbox_utilities", "connection_tenant_filter_enabled"):
|
|
from .connection_scope import install_connection_scope_filter
|
|
|
|
install_connection_scope_filter()
|
|
if self.apps.is_installed("netbox_export"):
|
|
from .netbox_export import install_netbox_export_rack_width_support
|
|
|
|
install_netbox_export_rack_width_support()
|
|
if get_plugin_config("netbox_utilities", "reorder_rack_bulk_save_enabled"):
|
|
from .reorder_rack import install_reorder_rack_bulk_save
|
|
|
|
install_reorder_rack_bulk_save()
|
|
|
|
|
|
config = NetBoxUtilitiesConfig
|