跳转到主要内容

为netbox对象生成二维码

项目描述

Netbox二维码插件

Netbox插件,用于为对象生成二维码:机架、设备、线缆。

此插件依赖于qrcodePillow python库

Downloads Downloads Downloads

兼容性

插件版本 NetBox版本 测试于
0.0.11 >= 3.7.0 3.7.x
0.0.13 >= 4.0.2 v4.0.2

安装

如果按照标准安装说明安装了Netbox,可能需要激活虚拟环境。

source /opt/netbox/venv/bin/activate

该插件作为Python包在pypi中提供,可以使用pip进行安装

pip install netbox-qrcode

在/opt/netbox/netbox/netbox/configuration.py中启用插件

PLUGINS = ['netbox_qrcode']

重启NetBox并将netbox-qrcode添加到您的local_requirements.txt中

配置

以下选项可用

  • with_text: 布尔值(默认True)。如果启用,将在二维码图像中添加文本标签。

  • text_template: 以{{ obj }}为上下文的Jinja2模板,使用它将忽略text_fieldscustom_text

  • text_fields: 字符串列表(默认['name'])。将作为文本标签添加到二维码图像的对象的文本字段。可以使用自定义字段值。

  • font: 字符串(默认 TahomaBold)文本标签的字体名称(某些字体包含在包中,请参阅fonts目录)。

  • text_location:文本渲染位置,相对于二维码。有效值包括"right"(默认)"left""up""down"

  • custom_text:字符串或None(默认None),用于二维码图像的附加文本标签(将在text_fields之后添加)。

  • qr_version:整数(默认1),参数是一个从1到40的整数,用于控制二维码的大小(最小的版本1是一个21x21的矩阵)。

  • qr_error_correction:整数(默认0),用于控制二维码的错误纠正。以下值可用

    1 - 大约7%或更少的错误可以被纠正。0 - 大约15%或更少的错误可以被纠正。2 - 大约30%或更少的错误可以被纠正。3 - 大约25%或更少的错误可以被纠正。

  • qr_box_size:整数(默认6),控制二维码中每个“方块”的像素数。

  • qr_border:整数(默认4),控制边框的厚度(默认值为4,根据规范的最小值)。

每个对象的选项

每个对象的选项覆盖默认选项。每个对象的选项字典可以包含任何默认选项。

  • device:字典或None(默认{'text_fields': ['name', 'serial']}),设置为None以禁用二维码
  • rack:字典或None(默认{'text_fields': ['name']}) ,设置为None以禁用二维码
  • cable:字典或None (默认 {'text_fields': ['_termination_a_device', 'termination_a', '_termination_b_device', 'termination_b',]}), 设置为None以禁用二维码

配置示例

PLUGINS_CONFIG = {
    'netbox_qrcode': {
        'with_text': True,
        'text_fields': ['name', 'serial'],
        'font': 'ArialMT',
        'font_size': 12, # If the value is 0 or the line does not exist, then the text is automatically adjusted
        'custom_text': 'Property of SomeCompany\ntel.8.800333554-CALL',
        'text_location': 'up',
        'qr_version': 1,
        'qr_error_correction': 0,
        'qr_box_size': 4,
        'qr_border': 4,
        # per object options
        'cable': None,  # disable QR code for Cable object
        'rack': {
            'text_fields': [
                'site',
                'name',
                'facility_id',
                'tenant',
                'cf.cf_name'
            ]
        },
        'device': {
            'qr_box_size': 6,
            'custom_text': None,
        }
    }
}

贡献

基于ntc-netbox-plugin-onboarding仓库开发此项目的工具。

欢迎提交问题和拉取请求。

屏幕截图

带有文本标签的设备二维码设备二维码

机架二维码机架二维码

线缆二维码线缆二维码

项目详情


下载文件

下载适用于您的平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分布

netbox-qrcode-0.0.13.tar.gz (1.7 MB 查看哈希值

上传时间

构建分布

netbox_qrcode-0.0.13-py3-none-any.whl (1.7 MB 查看哈希值

上传时间 Python 3

由以下支持