python-netgear-switch-library 0.0.post357__tar.gz → 0.0.post359__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/PKG-INFO +1 -1
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/docs/superpowers/specs/2026-08-02-snmp-surface-findings.md +76 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/src/netgear_switch/_version.py +2 -2
- python_netgear_switch_library-0.0.post359/tests/fixtures/http/gsm7252ps_vlan_configuration.js +236 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/.github/workflows/ci.yml +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/.github/workflows/deb.yml +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/.github/workflows/publish-pypi.yml +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/.gitignore +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/.readthedocs.yaml +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/CLAUDE.md +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/LICENSE +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/README.md +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/RELEASING.md +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/debian/changelog +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/debian/control +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/debian/copyright +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/debian/rules +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/debian/source/format +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/docs/Makefile +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/docs/_ext/filelinks.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/docs/_ext/support_tables.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/docs/_static/models/gs105pe.png +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/docs/_static/models/gs110emx.png +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/docs/_static/models/gs305ep.png +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/docs/_static/models/gs728tpp.png +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/docs/_static/models/gsm7228ps.jpg +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/docs/_static/models/gsm7252ps.jpg +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/docs/_static/models/m4300-16x.png +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/docs/_static/models/m4300-24x.png +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/docs/_static/ngsw.css +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/docs/api/cli.rst +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/docs/api/core.rst +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/docs/api/facades.rst +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/docs/api/index.rst +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/docs/api/mcp.rst +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/docs/api/operations.rst +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/docs/api/protocols.rst +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/docs/api/transport.rst +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/docs/api/virtual.rst +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/docs/cli.rst +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/docs/conf.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/docs/development.rst +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/docs/fake/index.rst +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/docs/fake/internals.rst +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/docs/fake/serving.rst +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/docs/fake/testing.rst +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/docs/guide/concepts.rst +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/docs/guide/configuration.rst +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/docs/guide/installation.rst +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/docs/guide/principles.rst +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/docs/guide/quickstart.rst +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/docs/guide/reading.rst +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/docs/guide/writing.rst +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/docs/index.rst +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/docs/mcp.rst +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/docs/models/gs105pe.rst +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/docs/models/gs110emx.rst +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/docs/models/gs305ep.rst +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/docs/models/gs728tpp.rst +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/docs/models/gsm7228ps.rst +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/docs/models/gsm7252ps.rst +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/docs/models/index.rst +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/docs/models/m4300-16x.rst +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/docs/models/m4300-24x.rst +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/docs/models/support.rst +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/docs/protocols/cli.rst +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/docs/protocols/http/cheetah-form.rst +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/docs/protocols/http/cheetah-v1.rst +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/docs/protocols/http/gambit.rst +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/docs/protocols/http/merge-hash-cgi.rst +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/docs/protocols/http/xml-api.rst +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/docs/protocols/http.rst +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/docs/protocols/index.rst +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/docs/protocols/nsdp.rst +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/docs/protocols/snmp.rst +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/docs/superpowers/plans/2026-07-15-foundation.md +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/docs/superpowers/plans/2026-07-17-slice-02-snmp-read-core.md +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/docs/superpowers/plans/2026-07-17-slice-03-read-apis.md +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/docs/superpowers/plans/2026-07-18-slice-04-snmp-write.md +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/docs/superpowers/plans/2026-07-18-slice-05-nsdp.md +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/docs/superpowers/plans/2026-07-18-slice-06-http.md +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/docs/superpowers/plans/2026-07-18-slice-07-cli.md +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/docs/superpowers/plans/2026-07-18-slice-08-packaging-ci.md +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/docs/superpowers/plans/2026-07-23-gsm7252ps-http-xe-dialect.md +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/docs/superpowers/specs/2026-07-15-netgear-control-library-design.md +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/docs/superpowers/specs/2026-07-23-gsm7252ps-http-xe-dialect-design.md +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/packaging/apt-index.html +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/packaging/ci-build.sh +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/packaging/deb-version.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/pyproject.toml +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/src/netgear_switch/__init__.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/src/netgear_switch/_dispatch.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/src/netgear_switch/aio_api.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/src/netgear_switch/capabilities.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/src/netgear_switch/cli/__init__.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/src/netgear_switch/cli/capture.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/src/netgear_switch/cli/context.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/src/netgear_switch/cli/format.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/src/netgear_switch/cli/main.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/src/netgear_switch/cli/resolve.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/src/netgear_switch/cli/safety.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/src/netgear_switch/cli_read.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/src/netgear_switch/cli_write.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/src/netgear_switch/config.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/src/netgear_switch/errors.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/src/netgear_switch/http_read.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/src/netgear_switch/http_write.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/src/netgear_switch/mcp/__init__.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/src/netgear_switch/mcp/server.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/src/netgear_switch/models.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/src/netgear_switch/nsdp_read.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/src/netgear_switch/nsdp_write.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/src/netgear_switch/protocols/__init__.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/src/netgear_switch/protocols/cli/__init__.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/src/netgear_switch/protocols/cli/commands.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/src/netgear_switch/protocols/cli/parse.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/src/netgear_switch/protocols/http/__init__.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/src/netgear_switch/protocols/http/crypt.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/src/netgear_switch/protocols/http/endpoints.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/src/netgear_switch/protocols/http/forms.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/src/netgear_switch/protocols/http/parse.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/src/netgear_switch/protocols/http/session.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/src/netgear_switch/protocols/http/types.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/src/netgear_switch/protocols/nsdp/__init__.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/src/netgear_switch/protocols/nsdp/auth.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/src/netgear_switch/protocols/nsdp/client.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/src/netgear_switch/protocols/nsdp/parsers.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/src/netgear_switch/protocols/nsdp/protocol.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/src/netgear_switch/protocols/nsdp/types.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/src/netgear_switch/protocols/nsdp/write.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/src/netgear_switch/protocols/snmp/__init__.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/src/netgear_switch/protocols/snmp/client.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/src/netgear_switch/protocols/snmp/oids.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/src/netgear_switch/protocols/snmp/parse.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/src/netgear_switch/protocols/snmp/write.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/src/netgear_switch/py.typed +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/src/netgear_switch/registry.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/src/netgear_switch/snmp_read.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/src/netgear_switch/snmp_write.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/src/netgear_switch/sync_api.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/src/netgear_switch/transport/__init__.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/src/netgear_switch/transport/aio/__init__.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/src/netgear_switch/transport/aio/nsdp_udp.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/src/netgear_switch/transport/aio/snmp_pysnmp.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/src/netgear_switch/transport/cli/__init__.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/src/netgear_switch/transport/cli/console.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/src/netgear_switch/transport/cli/session.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/src/netgear_switch/transport/cli/ssh.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/src/netgear_switch/transport/cli/telnet.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/src/netgear_switch/transport/http/__init__.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/src/netgear_switch/transport/http/client.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/src/netgear_switch/transport/sync/__init__.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/src/netgear_switch/transport/sync/nsdp_udp.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/src/netgear_switch/transport/sync/snmp_netsnmp_cli.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/src/netgear_switch/virtual/__init__.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/src/netgear_switch/virtual/cli_fastpath.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/src/netgear_switch/virtual/faces/__init__.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/src/netgear_switch/virtual/faces/cli.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/src/netgear_switch/virtual/faces/http.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/src/netgear_switch/virtual/faces/mibview.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/src/netgear_switch/virtual/faces/nsdp.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/src/netgear_switch/virtual/faces/snmp.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/src/netgear_switch/virtual/seed.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/src/netgear_switch/virtual/server.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/src/netgear_switch/virtual/state.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/src/netgear_switch/virtual/web.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/src/netgear_switch/virtual/web_fastpath_vlan.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/src/netgear_switch/virtual/web_fastpath_xui.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/src/netgear_switch/virtual/web_gs105pe.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/src/netgear_switch/virtual/web_gs110emx.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/src/netgear_switch/virtual/web_gs110emx_templates.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/src/netgear_switch/virtual/web_gs728tpp.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/src/netgear_switch/virtual/web_gsm7228ps.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/src/netgear_switch/virtual/web_gsm7252ps.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/src/netgear_switch/virtual/web_m4300.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/capture_parity.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/cli/test_capture.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/cli/test_cli_integration.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/cli/test_control_poe_port.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/cli/test_control_vlan_ip.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/cli/test_format.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/cli/test_main_framework.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/cli/test_new_commands.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/cli/test_op_coverage.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/cli/test_prompt_wiring.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/cli/test_read_commands.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/cli/test_resolve.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/cli/test_safety.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/cli/test_serve.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/conftest.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/equivalence.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/fixtures/captures/gsm7228ps.json +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/fixtures/captures/gsm7252ps.json +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/fixtures/captures/m4300-16x.json +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/fixtures/captures/m4300-24x.json +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/fixtures/cli/gsm7228ps_environment.txt +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/fixtures/cli/gsm7228ps_lldp.txt +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/fixtures/cli/gsm7228ps_mac_table.txt +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/fixtures/cli/gsm7228ps_network.txt +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/fixtures/cli/gsm7228ps_poe.txt +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/fixtures/cli/gsm7228ps_port_all.txt +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/fixtures/cli/gsm7228ps_show_version.txt +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/fixtures/cli/gsm7228ps_vlan.txt +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/fixtures/cli/gsm7228ps_vlan_brief.txt +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/fixtures/cli/gsm7228ps_vlan_port_all.txt +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/fixtures/cli/gsm7252ps_show_environment.txt +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/fixtures/cli/gsm7252ps_show_interface_ethernet_1_0_1.txt +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/fixtures/cli/gsm7252ps_show_lldp_remote_device_all.txt +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/fixtures/cli/gsm7252ps_show_mac_addr_table.txt +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/fixtures/cli/gsm7252ps_show_network.txt +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/fixtures/cli/gsm7252ps_show_poe_port_info_all.txt +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/fixtures/cli/gsm7252ps_show_port_all.txt +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/fixtures/cli/gsm7252ps_show_version.txt +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/fixtures/cli/gsm7252ps_show_vlan_90.txt +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/fixtures/cli/gsm7252ps_show_vlan_brief.txt +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/fixtures/cli/gsm7252ps_show_vlan_port_all.txt +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/fixtures/cli/m4300_16x_show_environment.txt +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/fixtures/cli/m4300_16x_show_interface_ethernet_1_0_1.txt +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/fixtures/cli/m4300_16x_show_ip_management.txt +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/fixtures/cli/m4300_16x_show_lldp_remote_device_all.txt +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/fixtures/cli/m4300_16x_show_mac_addr_table.txt +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/fixtures/cli/m4300_16x_show_poe_port_info_all.txt +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/fixtures/cli/m4300_16x_show_port_all.txt +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/fixtures/cli/m4300_16x_show_version.txt +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/fixtures/cli/m4300_16x_show_vlan.txt +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/fixtures/cli/m4300_16x_show_vlan_1.txt +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/fixtures/cli/m4300_16x_show_vlan_4.txt +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/fixtures/cli/m4300_16x_show_vlan_5.txt +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/fixtures/cli/m4300_16x_show_vlan_port_all.txt +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/fixtures/cli/m4300_24x_show_environment.txt +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/fixtures/cli/m4300_24x_show_interface_ethernet_1_0_1.txt +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/fixtures/cli/m4300_24x_show_ip_management.txt +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/fixtures/cli/m4300_24x_show_lldp_remote_device_all.txt +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/fixtures/cli/m4300_24x_show_mac_addr_table.txt +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/fixtures/cli/m4300_24x_show_port_all.txt +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/fixtures/cli/m4300_24x_show_version.txt +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/fixtures/cli/m4300_24x_show_vlan.txt +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/fixtures/cli/m4300_24x_show_vlan_5.txt +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/fixtures/cli/m4300_24x_show_vlan_90.txt +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/fixtures/cli/m4300_24x_show_vlan_port_all.txt +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/fixtures/http/gs105pe_membership.html +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/fixtures/http/gs105pe_portstats.html +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/fixtures/http/gs105pe_pvid.html +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/fixtures/http/gs105pe_status.html +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/fixtures/http/gs105pe_switch_info.html +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/fixtures/http/gs105pe_vlancfg.html +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/fixtures/http/gs110emx_cf8021q.html +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/fixtures/http/gs110emx_interface_stats.html +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/fixtures/http/gs110emx_login.html +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/fixtures/http/gs110emx_port_settings.html +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/fixtures/http/gs110emx_pvid.html +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/fixtures/http/gs110emx_redirect.html +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/fixtures/http/gs110emx_sysinfo.html +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/fixtures/http/gs110emx_vlanmembership.html +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/fixtures/http/gs305ep_dashboard.html +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/fixtures/http/gs305ep_login.html +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/fixtures/http/gs305ep_membership.html +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/fixtures/http/gs305ep_poestatus.html +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/fixtures/http/gs305ep_portstats.html +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/fixtures/http/gs305ep_pvid.html +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/fixtures/http/gs305ep_vlancfg.html +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/fixtures/http/gs728tpp_device_info_and_sensors.xml +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/fixtures/http/gs728tpp_lldp.xml +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/fixtures/http/gs728tpp_macs.xml +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/fixtures/http/gs728tpp_mgmt_ip.xml +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/fixtures/http/gs728tpp_poe.xml +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/fixtures/http/gs728tpp_ports.xml +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/fixtures/http/gs728tpp_pvids_membership.xml +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/fixtures/http/gs728tpp_vlan_membership_per_vlan.xml +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/fixtures/http/gs728tpp_vlans.xml +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/fixtures/http/gsm7228ps_basicAddressTable.html +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/fixtures/http/gsm7228ps_ipConfiguration.html +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/fixtures/http/gsm7228ps_lldpRemoteInventory.html +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/fixtures/http/gsm7228ps_poeInterfaceConfiguration.html +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/fixtures/http/gsm7228ps_portPvidConfiguration.html +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/fixtures/http/gsm7228ps_portStatistics.html +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/fixtures/http/gsm7228ps_portsConfiguration.html +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/fixtures/http/gsm7228ps_sysInfo.html +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/fixtures/http/gsm7228ps_vlanPortCfg_vlan5.html +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/fixtures/http/gsm7228ps_vlanStatus.html +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/fixtures/http/gsm7252ps_basicAddressTable.html +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/fixtures/http/gsm7252ps_http_configuration.html +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/fixtures/http/gsm7252ps_ipConfiguration.html +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/fixtures/http/gsm7252ps_lldpRemoteInventory.html +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/fixtures/http/gsm7252ps_login.html +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/fixtures/http/gsm7252ps_poeInterfaceConfiguration.html +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/fixtures/http/gsm7252ps_portPvidConfiguration.html +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/fixtures/http/gsm7252ps_portStatistics.html +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/fixtures/http/gsm7252ps_portsConfiguration.html +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/fixtures/http/gsm7252ps_sysInfo.html +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/fixtures/http/gsm7252ps_syslog_configuration.html +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/fixtures/http/gsm7252ps_user_configuration.html +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/fixtures/http/gsm7252ps_vlanPortCfg_vlan1.html +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/fixtures/http/gsm7252ps_vlanPortCfg_vlan141.html +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/fixtures/http/gsm7252ps_vlanStatus.html +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/fixtures/http/gsm7252ps_vlan_configuration_live.html +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/fixtures/http/gsm7252ps_vlan_status_live.html +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/fixtures/http/m4300_16x_lldpRemoteInventory.html +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/fixtures/http/m4300_16x_mgmtVlanIpv4Configuration.html +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/fixtures/http/m4300_16x_poeInterfaceConfiguration.html +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/fixtures/http/m4300_16x_portsConfiguration.html +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/fixtures/http/m4300_16x_vlanportcfg_vlan4.html +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/fixtures/http/m4300_24x_poeInterfaceConfiguration.html +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/fixtures/http/m4300_addresstable.html +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/fixtures/http/m4300_lldpRemoteInventory.html +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/fixtures/http/m4300_mgmtVlanIpv4Configuration.html +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/fixtures/http/m4300_ports.html +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/fixtures/http/m4300_portstats.html +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/fixtures/http/m4300_pvid.html +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/fixtures/http/m4300_sysinfo.html +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/fixtures/http/m4300_vlanportcfg_vlan1.html +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/fixtures/http/m4300_vlanstatus.html +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/fixtures/snmp/gsm7252ps_fans.txt +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/fixtures/snmp/gsm7252ps_ifhighspeed.txt +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/fixtures/snmp/gsm7252ps_ifoperstatus.txt +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/fixtures/snmp/gsm7252ps_psu.txt +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/http_specs.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/protocols/cli/test_cli_parse.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/protocols/http/test_crypt.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/protocols/http/test_endpoints.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/protocols/http/test_forms.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/protocols/http/test_parse.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/protocols/nsdp/test_auth.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/protocols/nsdp/test_parsers.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/protocols/nsdp/test_protocol.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/protocols/nsdp/test_write_frame.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/protocols/snmp/test_client.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/protocols/snmp/test_oids.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/protocols/snmp/test_parse_lldp_macs.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/protocols/snmp/test_parse_mgmt_ip.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/protocols/snmp/test_parse_poe_sensors.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/protocols/snmp/test_parse_ports.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/protocols/snmp/test_parse_system_info.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/protocols/snmp/test_parse_vlans.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/protocols/snmp/test_write_encode.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/test_aio_api.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/test_capabilities.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/test_cli_read.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/test_cli_vlan_write.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/test_cli_write.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/test_config.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/test_cross_backend_equivalence.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/test_deb_version.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/test_dispatch.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/test_docs_coverage.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/test_errors.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/test_facade_equivalence.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/test_http_dispatch.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/test_http_equivalence.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/test_http_read.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/test_http_vlan_membership.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/test_http_write.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/test_http_xui_writes.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/test_import.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/test_mcp_server.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/test_models.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/test_models_snmp_read.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/test_nsdp_integration.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/test_nsdp_read.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/test_nsdp_write.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/test_public_api.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/test_quality_gates.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/test_registry.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/test_snmp_integration.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/test_snmp_read.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/test_snmp_write.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/test_sync_api.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/test_version.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/test_write_equivalence.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/transport/_fastpath_fake.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/transport/test_cli_console.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/transport/test_cli_scp_cert.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/transport/test_cli_telnet.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/transport/test_http_client.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/transport/test_nsdp_udp_sync.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/transport/test_set_transport.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/transport/test_snmp_netsnmp_cli.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/transport/test_snmp_pysnmp.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/transport/test_value_parity.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/virtual/test_cli_cross_backend.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/virtual/test_cli_gsm7228ps_parity.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/virtual/test_gsm7228ps_seed.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/virtual/test_hostname.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/virtual/test_m4300_seeds.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/virtual/test_mibview.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/virtual/test_mutable_state.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/virtual/test_nsdp_state.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/virtual/test_serve_daemon.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/virtual/test_snmp_write_face.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/virtual/test_state_seed.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/virtual/test_switchport_vlan_write.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/virtual/test_syslog_fidelity.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/virtual/test_virtual_http_face.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/virtual/test_virtual_nsdp_face.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/virtual/test_virtual_snmp_face.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/virtual/test_web_projection.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/tests/virtual/test_write_outcomes.py +0 -0
- {python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/uv.lock +0 -0
{python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/PKG-INFO
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: python-netgear-switch-library
|
|
3
|
-
Version: 0.0.
|
|
3
|
+
Version: 0.0.post359
|
|
4
4
|
Summary: Python library and CLI to query and control Netgear switches over SNMP, NSDP and HTTP.
|
|
5
5
|
Author-email: Tim Ansell <me@mith.ro>
|
|
6
6
|
License-Expression: Apache-2.0
|
|
@@ -407,3 +407,79 @@ So the fix is two parts, and neither is a device limitation:
|
|
|
407
407
|
Which of the four buttons is Add and which is Delete has NOT been established —
|
|
408
408
|
that needs the page's own markup read carefully, and the write driven against a
|
|
409
409
|
switch with a throwaway VLAN id before anything is claimed.
|
|
410
|
+
|
|
411
|
+
|
|
412
|
+
### `/vlanConfiguration.html` field semantics (read off the capture)
|
|
413
|
+
|
|
414
|
+
Correcting the previous note again: `v_2_1_1`..`v_2_1_4` are **row cell fields,
|
|
415
|
+
not action buttons**. From the capture:
|
|
416
|
+
|
|
417
|
+
| Field | Value in row 1 | Meaning |
|
|
418
|
+
|---|---|---|
|
|
419
|
+
| `1.0.14.v_2_1_1` | `1` | VLAN id |
|
|
420
|
+
| `1.0.14.v_2_1_2` | `default` | VLAN name |
|
|
421
|
+
| `1.0.14.v_2_1_3` | `Default` | VLAN type |
|
|
422
|
+
| `1.0.14.v_2_1_4` | `Add` | per-row action, in a `display:none` cell |
|
|
423
|
+
|
|
424
|
+
Two `FORM`s as expected: `/vlanConfiguration.html/a0` and `/a1`.
|
|
425
|
+
|
|
426
|
+
So this is the standard XUI editable-table shape the library already handles for
|
|
427
|
+
PoE (`parse_xui_list_page` + `forms.xui_row_apply_form`), with one difference
|
|
428
|
+
that matters: PoE **edits an existing row**, whereas creating a VLAN means
|
|
429
|
+
**submitting a NEW row** carrying the id, the name and the action cell.
|
|
430
|
+
|
|
431
|
+
`xui_row_apply_form` builds its body from a row the parser found on the page, so
|
|
432
|
+
it cannot express "a row that is not there yet". Creating a VLAN needs a sibling
|
|
433
|
+
builder — an add-row form — rather than a new argument to the existing one.
|
|
434
|
+
|
|
435
|
+
**Not yet established, and deliberately not guessed:** whether the action cell
|
|
436
|
+
takes the literal `Add` for a new row, what a delete row carries in that cell,
|
|
437
|
+
and whether the id/name cells for a new row are indexed `v_2_<n>_<col>` at the
|
|
438
|
+
next free row number or at a fixed "new row" index. Every one of those is
|
|
439
|
+
readable from the page's own JavaScript or from a browser-driven capture of a
|
|
440
|
+
real Add. Until then this stays unimplemented: posting a guessed action to a
|
|
441
|
+
switch's live VLAN table is the one write here that could disrupt production
|
|
442
|
+
VLANs, and the project's rule is that a wrong guess must never be shipped as a
|
|
443
|
+
capability.
|
|
444
|
+
|
|
445
|
+
|
|
446
|
+
### RESOLVED: the action cell is SNMP RowStatus, read from the page's own JS
|
|
447
|
+
|
|
448
|
+
`/scripts/_xe_vlanConfiguration.js` (captured as
|
|
449
|
+
`tests/fixtures/http/gsm7252ps_vlan_configuration.js`) defines the `2_1_4`
|
|
450
|
+
column's value list:
|
|
451
|
+
|
|
452
|
+
[ "Invalid","Active","Not In Service","Not Ready","Add","Reserve","Delete","Modify" ]
|
|
453
|
+
|
|
454
|
+
Indexed from 0, that is **SNMP RowStatus**:
|
|
455
|
+
|
|
456
|
+
| Index | Label | RowStatus |
|
|
457
|
+
|---|---|---|
|
|
458
|
+
| 1 | Active | `active(1)` |
|
|
459
|
+
| 2 | Not In Service | `notInService(2)` |
|
|
460
|
+
| 3 | Not Ready | `notReady(3)` |
|
|
461
|
+
| **4** | **Add** | **`createAndGo(4)`** |
|
|
462
|
+
| 5 | Reserve | `createAndWait(5)` |
|
|
463
|
+
| **6** | **Delete** | **`destroy(6)`** |
|
|
464
|
+
|
|
465
|
+
The web UI is a thin skin over the same Q-BRIDGE row semantics the SNMP backend
|
|
466
|
+
already writes — and the library already names those constants:
|
|
467
|
+
`oids.ROW_STATUS_CREATE_AND_GO = 4` and `oids.ROW_STATUS_DESTROY = 6`.
|
|
468
|
+
|
|
469
|
+
The same file gives the two action buttons:
|
|
470
|
+
|
|
471
|
+
xeData.xbImage_6_1_1 = "/base/images/Add_on.gif" -> button 6_1_1 = Add
|
|
472
|
+
xeData.xbImage_6_1_2 = "/base/images/Delete_on.gif" -> button 6_1_2 = Delete
|
|
473
|
+
|
|
474
|
+
So all three unknowns from the previous note are now answered **from the
|
|
475
|
+
device's own code**, with no guessing and no write attempted:
|
|
476
|
+
|
|
477
|
+
* the action cell takes `4` to create and `6` to delete;
|
|
478
|
+
* a create submits a new row carrying id, name and action `4`;
|
|
479
|
+
* the submit buttons are `6_1_1` (Add) and `6_1_2` (Delete).
|
|
480
|
+
|
|
481
|
+
That is enough to implement `_xui_vlan_create`/`_xui_vlan_delete` against
|
|
482
|
+
`/vlanConfiguration.html`, posting to its `/a0` or `/a1` action alongside the
|
|
483
|
+
existing `submit_flag`. It still needs driving against a switch with a throwaway
|
|
484
|
+
VLAN id and reading back before `reads_verified`-style confidence is claimed —
|
|
485
|
+
but the mechanism is no longer inferred.
|
|
@@ -18,7 +18,7 @@ version_tuple: tuple[int | str, ...]
|
|
|
18
18
|
commit_id: str | None
|
|
19
19
|
__commit_id__: str | None
|
|
20
20
|
|
|
21
|
-
__version__ = version = '0.0.
|
|
22
|
-
__version_tuple__ = version_tuple = (0, 0, '
|
|
21
|
+
__version__ = version = '0.0.post359'
|
|
22
|
+
__version_tuple__ = version_tuple = (0, 0, 'post359')
|
|
23
23
|
|
|
24
24
|
__commit_id__ = commit_id = None
|
|
@@ -0,0 +1,236 @@
|
|
|
1
|
+
|
|
2
|
+
|
|
3
|
+
// This file is auto-generated by XE - DON'T EDIT
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
// Create the xe data object
|
|
7
|
+
xeData.nPath = [ ["Switching","vlanConfiguration.html"],["VLAN","vlanConfiguration.html"],["Advanced","vlanConfiguration.html"],["VLAN Configuration","vlanConfiguration.html"] ];
|
|
8
|
+
xeData.thisPageHelp = "help_vlanConfiguration.html" ;
|
|
9
|
+
xeData.userJS = "NetGearGlobalJS"
|
|
10
|
+
xeData.xa_1_1_1 = ["","","","","","","","","","mandate","","","","","","","","","Enable","","both","6_1_5","6_1_4","6_1_4","6_1_5","",[],"Disable","","both","6_1_4","6_1_5","6_1_5","6_1_4","",[]];
|
|
11
|
+
xeData.xa_2_1_1 = ["","","","","","","","","","mandate","","onChange","","","","","",[],"","","both","","","2_1_5|2_1_6","","",[]];
|
|
12
|
+
xeData.xa_g_2_1_1 = ["","","","","","","","","","mandate","","onChange","","","","","",[],"","","both","","","g_2_1_5|g_2_1_6","","",[]];
|
|
13
|
+
xeData.xa_6_1_1 = ["","","","","","","","","","","","","","","1|2_1_6|g_2_1_6","","",[]];
|
|
14
|
+
xeData.xa_6_1_2 = ["","","","","","","","","","","","","","","1|2_1_6|g_2_1_6","","2_1_4|g_2_1_4",["Delete|Delete"]];
|
|
15
|
+
xeData.xa_6_1_6 = ["","","","","","","","","","","","","","","2_1_6|g_2_1_6","","",[]];
|
|
16
|
+
xeData.xa_6_1_3 = ["","","","","","","","","","","","","","","2_1_6|g_2_1_6","","",[]];
|
|
17
|
+
xeData.xa_6_1_5 = ["","","","","","","","","","","","","","","2","","",[]];
|
|
18
|
+
xeData.xa_6_1_4 = ["","","","","","","","","","","","","","","1","","2_1_4|g_2_1_4",["Active|Active"]];
|
|
19
|
+
xeData.xe_1_1_1 = "enable_t";
|
|
20
|
+
xeData.doRef_1_1_1 = 0;
|
|
21
|
+
xeData.xc_1_1_1 = "checkbox";
|
|
22
|
+
xeData.xp_1_1_1 = "write-only";
|
|
23
|
+
xeData.xd_1_1_1 = "enum";
|
|
24
|
+
xeData.xdt_1_1_1 = "enable_t";
|
|
25
|
+
xeData.xeleName_1_1_1 = "Reset Configuration";
|
|
26
|
+
xeData["js_1_1_1_Enable"]=["confirm_vlan_reset",""]
|
|
27
|
+
allWebEnums[xeData["xe_1_1_1"] + "_1_1_1"] = [ "Enable","Disable" ];
|
|
28
|
+
xeData.doRef_4_1_1 = 0;
|
|
29
|
+
xeData.xc_4_1_1 = "textbox";
|
|
30
|
+
xeData.xp_4_1_1 = "read-write";
|
|
31
|
+
xeData.xd_4_1_1 = "uint";
|
|
32
|
+
xeData.xdt_4_1_1 = "uint";
|
|
33
|
+
xeData.xeleName_4_1_1 = "Internal VLAN Allocation Base";
|
|
34
|
+
xeData.xMaxLen_4_1_1 = "4";
|
|
35
|
+
xeData.xattr_4_1_1 = ["discardNonInt=1"];
|
|
36
|
+
xeData.xe_4_2_1 = "AllocationPolicy_t";
|
|
37
|
+
xeData.doRef_4_2_1 = 0;
|
|
38
|
+
xeData.xc_4_2_1 = "radio";
|
|
39
|
+
xeData.xp_4_2_1 = "read-write";
|
|
40
|
+
xeData.xd_4_2_1 = "enum";
|
|
41
|
+
xeData.xdt_4_2_1 = "AllocationPolicy_t";
|
|
42
|
+
xeData.xeleName_4_2_1 = "Internal VLAN Allocation Policy";
|
|
43
|
+
allWebEnums[xeData["xe_4_2_1"] + "_4_2_1"] = [ "Ascending","Descending" ];
|
|
44
|
+
xeData.doRef_5_1_1 = 0;
|
|
45
|
+
xeData.xc_5_1_1 = "label";
|
|
46
|
+
xeData.xp_5_1_1 = "read-write";
|
|
47
|
+
xeData.xd_5_1_1 = "uint";
|
|
48
|
+
xeData.xdt_5_1_1 = "uint";
|
|
49
|
+
xeData.xeleName_5_1_1 = "Internal VLAN Allocation Base";
|
|
50
|
+
xeData.xMaxLen_5_1_1 = "4";
|
|
51
|
+
xeData.xe_5_2_1 = "AllocationPolicy_t";
|
|
52
|
+
xeData.doRef_5_2_1 = 0;
|
|
53
|
+
xeData.xc_5_2_1 = "label";
|
|
54
|
+
xeData.xp_5_2_1 = "read-write";
|
|
55
|
+
xeData.xd_5_2_1 = "enum";
|
|
56
|
+
xeData.xdt_5_2_1 = "AllocationPolicy_t";
|
|
57
|
+
xeData.xeleName_5_2_1 = "Internal VLAN Allocation Policy";
|
|
58
|
+
allWebEnums[xeData["xe_5_2_1"] + "_5_2_1"] = [ "Ascending","Descending" ];
|
|
59
|
+
xeData.xk_g_2_1_1 = 1;
|
|
60
|
+
xeData.xe_g_2_1_1 = "e_v_g_2_1_1";
|
|
61
|
+
xeData.doRef_g_2_1_1 = 0;
|
|
62
|
+
xeData.xc_g_2_1_1 = "textbox";
|
|
63
|
+
xeData.xp_g_2_1_1 = "read-write";
|
|
64
|
+
xeData.xd_g_2_1_1 = "user";
|
|
65
|
+
xeData.xdt_g_2_1_1 = "vlanRange_t";
|
|
66
|
+
xeData.xeleName_g_2_1_1 = "VLAN ID";
|
|
67
|
+
xeData["js_g_2_1_1_mandate"]=["vlan_validate_name_and_type","2_1_2|2_1_3|2_1_5|2_1_6"]
|
|
68
|
+
xeData.xMaxLen_g_2_1_1 = "4";
|
|
69
|
+
xeData.xattr_g_2_1_1 = ["noEdit=true","style=width:40px","discardNonInt=1"];
|
|
70
|
+
xeData.xk_2_1_1 = 1;
|
|
71
|
+
xeData.xe_2_1_1 = "e_v_2_1_1";
|
|
72
|
+
xeData.doRef_2_1_1 = 0;
|
|
73
|
+
xeData.xc_2_1_1 = "plain-label";
|
|
74
|
+
xeData.xp_2_1_1 = "read-write";
|
|
75
|
+
xeData.xd_2_1_1 = "user";
|
|
76
|
+
xeData.xdt_2_1_1 = "vlanRange_t";
|
|
77
|
+
xeData.xeleName_2_1_1 = "VLAN ID";
|
|
78
|
+
xeData["js_2_1_1_mandate"]=["vlan_validate_name_and_type","2_1_2|2_1_3|2_1_5|2_1_6"]
|
|
79
|
+
xeData.xMaxLen_2_1_1 = "4";
|
|
80
|
+
xeData.xattr_2_1_1 = ["noEdit=true","style=width:40px","discardNonInt=1"];
|
|
81
|
+
xeData.doRef_g_2_1_2 = 0;
|
|
82
|
+
xeData.xc_g_2_1_2 = "textbox";
|
|
83
|
+
xeData.xp_g_2_1_2 = "read-write";
|
|
84
|
+
xeData.xd_g_2_1_2 = "user";
|
|
85
|
+
xeData.xdt_g_2_1_2 = "string_t";
|
|
86
|
+
xeData.xeleName_g_2_1_2 = "VLAN Name";
|
|
87
|
+
xeData.xMaxLen_g_2_1_2 = "32";
|
|
88
|
+
xeData.xattr_g_2_1_2 = ["style=width:80px","evalBlank=true"];
|
|
89
|
+
xeData.doRef_2_1_2 = 0;
|
|
90
|
+
xeData.xc_2_1_2 = "plain-label";
|
|
91
|
+
xeData.xp_2_1_2 = "read-write";
|
|
92
|
+
xeData.xd_2_1_2 = "user";
|
|
93
|
+
xeData.xdt_2_1_2 = "string_t";
|
|
94
|
+
xeData.xeleName_2_1_2 = "VLAN Name";
|
|
95
|
+
xeData.xMaxLen_2_1_2 = "32";
|
|
96
|
+
xeData.xattr_2_1_2 = ["style=width:80px","evalBlank=true"];
|
|
97
|
+
xeData.xe_g_2_1_3 = "L7_VLAN_TYPE_t";
|
|
98
|
+
xeData.doRef_g_2_1_3 = 0;
|
|
99
|
+
xeData.xc_g_2_1_3 = "plain-label";
|
|
100
|
+
xeData.xp_g_2_1_3 = "read-only";
|
|
101
|
+
xeData.xd_g_2_1_3 = "enum";
|
|
102
|
+
xeData.xdt_g_2_1_3 = "L7_VLAN_TYPE_t";
|
|
103
|
+
xeData.xeleName_g_2_1_3 = "VLAN Type";
|
|
104
|
+
allWebEnums[xeData["xe_g_2_1_3"] + "_g_2_1_3"] = [ "Default","Static","Dynamic (GVRP)","Dynamic (MVRP)","Dynamic (L2 Tunnel)","Dynamic (IP VLAN)","Dynamic (DOT1X)","Dynamic (OPENFLOW)","Auto-Video" ];
|
|
105
|
+
xeData.xe_2_1_3 = "L7_VLAN_TYPE_t";
|
|
106
|
+
xeData.doRef_2_1_3 = 0;
|
|
107
|
+
xeData.xc_2_1_3 = "plain-label";
|
|
108
|
+
xeData.xp_2_1_3 = "read-only";
|
|
109
|
+
xeData.xd_2_1_3 = "enum";
|
|
110
|
+
xeData.xdt_2_1_3 = "L7_VLAN_TYPE_t";
|
|
111
|
+
xeData.xeleName_2_1_3 = "VLAN Type";
|
|
112
|
+
allWebEnums[xeData["xe_2_1_3"] + "_2_1_3"] = [ "Default","Static","Dynamic (GVRP)","Dynamic (MVRP)","Dynamic (L2 Tunnel)","Dynamic (IP VLAN)","Dynamic (DOT1X)","Dynamic (OPENFLOW)","Auto-Video" ];
|
|
113
|
+
xeData.xe_g_2_1_6 = "enable_t";
|
|
114
|
+
xeData.doRef_g_2_1_6 = 0;
|
|
115
|
+
xeData.xc_g_2_1_6 = "combo";
|
|
116
|
+
xeData.xp_g_2_1_6 = "write-only";
|
|
117
|
+
xeData.xd_g_2_1_6 = "string";
|
|
118
|
+
xeData.xdt_g_2_1_6 = "string";
|
|
119
|
+
xeData.xeleName_g_2_1_6 = "Make Static";
|
|
120
|
+
allWebEnums[xeData["xe_g_2_1_6"] + "_g_2_1_6"] = [ "Enable","Disable" ];
|
|
121
|
+
xeData.xe_2_1_6 = "enable_t";
|
|
122
|
+
xeData.doRef_2_1_6 = 0;
|
|
123
|
+
xeData.xc_2_1_6 = "plain-label";
|
|
124
|
+
xeData.xp_2_1_6 = "write-only";
|
|
125
|
+
xeData.xd_2_1_6 = "string";
|
|
126
|
+
xeData.xdt_2_1_6 = "string";
|
|
127
|
+
xeData.xeleName_2_1_6 = "Make Static";
|
|
128
|
+
allWebEnums[xeData["xe_2_1_6"] + "_2_1_6"] = [ "Enable","Disable" ];
|
|
129
|
+
xeData.xe_g_2_1_5 = "L7_VLAN_TYPE_t";
|
|
130
|
+
xeData.doRef_g_2_1_5 = 0;
|
|
131
|
+
xeData.xc_g_2_1_5 = "hidden";
|
|
132
|
+
xeData.xp_g_2_1_5 = "read-write";
|
|
133
|
+
xeData.xd_g_2_1_5 = "enum";
|
|
134
|
+
xeData.xdt_g_2_1_5 = "L7_VLAN_TYPE_t";
|
|
135
|
+
xeData.xeleName_g_2_1_5 = "VLAN Type";
|
|
136
|
+
allWebEnums[xeData["xe_g_2_1_5"] + "_g_2_1_5"] = [ "Default","Static","Dynamic (GVRP)","Dynamic (MVRP)","Dynamic (L2 Tunnel)","Dynamic (IP VLAN)","Dynamic (DOT1X)","Dynamic (OPENFLOW)","Auto-Video" ];
|
|
137
|
+
xeData.xe_2_1_5 = "L7_VLAN_TYPE_t";
|
|
138
|
+
xeData.doRef_2_1_5 = 0;
|
|
139
|
+
xeData.xc_2_1_5 = "hidden";
|
|
140
|
+
xeData.xp_2_1_5 = "read-write";
|
|
141
|
+
xeData.xd_2_1_5 = "enum";
|
|
142
|
+
xeData.xdt_2_1_5 = "L7_VLAN_TYPE_t";
|
|
143
|
+
xeData.xeleName_2_1_5 = "VLAN Type";
|
|
144
|
+
allWebEnums[xeData["xe_2_1_5"] + "_2_1_5"] = [ "Default","Static","Dynamic (GVRP)","Dynamic (MVRP)","Dynamic (L2 Tunnel)","Dynamic (IP VLAN)","Dynamic (DOT1X)","Dynamic (OPENFLOW)","Auto-Video" ];
|
|
145
|
+
xeData.xe_g_2_1_4 = "L7_ROW_STATUS_t";
|
|
146
|
+
xeData.doRef_g_2_1_4 = 0;
|
|
147
|
+
xeData.xc_g_2_1_4 = "hidden";
|
|
148
|
+
xeData.xp_g_2_1_4 = "write-only";
|
|
149
|
+
xeData.xd_g_2_1_4 = "row-status";
|
|
150
|
+
xeData.xdt_g_2_1_4 = "L7_ROW_STATUS_t";
|
|
151
|
+
xeData.xeleName_g_2_1_4 = "Vlan";
|
|
152
|
+
allWebEnums[xeData["xe_g_2_1_4"] + "_g_2_1_4"] = [ "Invalid","Active","Not In Service","Not Ready","Add","Reserve","Delete","Modify" ];
|
|
153
|
+
xeData.xe_2_1_4 = "L7_ROW_STATUS_t";
|
|
154
|
+
xeData.doRef_2_1_4 = 0;
|
|
155
|
+
xeData.xc_2_1_4 = "hidden";
|
|
156
|
+
xeData.xp_2_1_4 = "write-only";
|
|
157
|
+
xeData.xd_2_1_4 = "row-status";
|
|
158
|
+
xeData.xdt_2_1_4 = "L7_ROW_STATUS_t";
|
|
159
|
+
xeData.xeleName_2_1_4 = "Vlan";
|
|
160
|
+
allWebEnums[xeData["xe_2_1_4"] + "_2_1_4"] = [ "Invalid","Active","Not In Service","Not Ready","Add","Reserve","Delete","Modify" ];
|
|
161
|
+
xeData.xk_3_1_1 = 1;
|
|
162
|
+
xeData.xe_3_1_1 = "e_v_3_1_1";
|
|
163
|
+
xeData.doRef_3_1_1 = 0;
|
|
164
|
+
xeData.xc_3_1_1 = "plain-label";
|
|
165
|
+
xeData.xp_3_1_1 = "read-write";
|
|
166
|
+
xeData.xd_3_1_1 = "user";
|
|
167
|
+
xeData.xdt_3_1_1 = "vlanRange_t";
|
|
168
|
+
xeData.xeleName_3_1_1 = "VLAN ID";
|
|
169
|
+
xeData.doRef_3_1_2 = 0;
|
|
170
|
+
xeData.xc_3_1_2 = "plain-label";
|
|
171
|
+
xeData.xp_3_1_2 = "read-write";
|
|
172
|
+
xeData.xd_3_1_2 = "user";
|
|
173
|
+
xeData.xdt_3_1_2 = "string_t";
|
|
174
|
+
xeData.xeleName_3_1_2 = "VLAN Name";
|
|
175
|
+
xeData.xe_3_1_3 = "L7_VLAN_TYPE_t";
|
|
176
|
+
xeData.doRef_3_1_3 = 0;
|
|
177
|
+
xeData.xc_3_1_3 = "plain-label";
|
|
178
|
+
xeData.xp_3_1_3 = "read-write";
|
|
179
|
+
xeData.xd_3_1_3 = "enum";
|
|
180
|
+
xeData.xdt_3_1_3 = "L7_VLAN_TYPE_t";
|
|
181
|
+
xeData.xeleName_3_1_3 = "VLAN Type";
|
|
182
|
+
allWebEnums[xeData["xe_3_1_3"] + "_3_1_3"] = [ "Default","Static","Dynamic (GVRP)","Dynamic (MVRP)","Dynamic (L2 Tunnel)","Dynamic (IP VLAN)","Dynamic (DOT1X)","Dynamic (OPENFLOW)","Auto-Video" ];
|
|
183
|
+
xeData.xc_6_1_1 = "button";
|
|
184
|
+
xeData.xt_6_1_1 = "8";
|
|
185
|
+
xeData.xbt_6_1_1 = "buttonSubmit" ;
|
|
186
|
+
xeData.xbImage_6_1_1 = "/base/images/Add_on.gif";
|
|
187
|
+
xeData.xdImage_6_1_1 = "/base/images/Add_off.gif";
|
|
188
|
+
xeData.xc_6_1_2 = "button";
|
|
189
|
+
xeData.xt_6_1_2 = "8";
|
|
190
|
+
xeData.xbt_6_1_2 = "buttonSubmit" ;
|
|
191
|
+
xeData["js_6_1_2_button"]=["vlan_validate_name_and_type","2_1_2|2_1_3|2_1_5|2_1_6"]
|
|
192
|
+
xeData.xbImage_6_1_2 = "/base/images/Delete_on.gif";
|
|
193
|
+
xeData.xdImage_6_1_2 = "/base/images/Delete_off.gif";
|
|
194
|
+
xeData.xc_6_1_6 = "button";
|
|
195
|
+
xeData.xt_6_1_6 = "1";
|
|
196
|
+
xeData.xbt_6_1_6 = "buttonClear" ;
|
|
197
|
+
xeData.xbImage_6_1_6 = "/base/images/Refresh_on.gif";
|
|
198
|
+
xeData.xdImage_6_1_6 = "/base/images/Refresh_off.gif";
|
|
199
|
+
xeData.xc_6_1_3 = "button";
|
|
200
|
+
xeData.xt_6_1_3 = "8";
|
|
201
|
+
xeData.xbt_6_1_3 = "buttonRestore" ;
|
|
202
|
+
xeData.xbImage_6_1_3 = "/base/images/Cancel_on.gif";
|
|
203
|
+
xeData.xdImage_6_1_3 = "/base/images/Cancel_off.gif";
|
|
204
|
+
xeData.xc_6_1_5 = "button";
|
|
205
|
+
xeData.xt_6_1_5 = "8";
|
|
206
|
+
xeData.xbt_6_1_5 = "buttonSubmit" ;
|
|
207
|
+
xeData.xbImage_6_1_5 = "/base/images/Apply_on.gif";
|
|
208
|
+
xeData.xdImage_6_1_5 = "/base/images/Apply_off.gif";
|
|
209
|
+
xeData.xc_6_1_4 = "button";
|
|
210
|
+
xeData.xt_6_1_4 = "8";
|
|
211
|
+
xeData.xbt_6_1_4 = "buttonSubmit" ;
|
|
212
|
+
xeData["js_6_1_4_button"]=["vlan_validate_name_and_type_apply","2_1_2|2_1_3|2_1_5|2_1_6"]
|
|
213
|
+
xeData.xbImage_6_1_4 = "/base/images/Apply_on.gif";
|
|
214
|
+
xeData.xdImage_6_1_4 = "/base/images/Apply_off.gif";
|
|
215
|
+
xeData.elemWithExtnActions = [];
|
|
216
|
+
xuiIncludeJSFile("/scripts/NetGearGlobalJS.js");
|
|
217
|
+
|
|
218
|
+
function jScriptValidateUiAndElementLevel(xid,value)
|
|
219
|
+
{
|
|
220
|
+
var newVal = null;
|
|
221
|
+
switch(xid)
|
|
222
|
+
{
|
|
223
|
+
case "g_2_1_2":
|
|
224
|
+
newVal = jScriptValidateMapIdToVal(0,value);
|
|
225
|
+
if(newVal != null) return newVal;
|
|
226
|
+
newVal = jScriptValidateMapIdToVal(0,value);
|
|
227
|
+
if(newVal != null) return newVal;
|
|
228
|
+
newVal = jScriptValidateMapIdToVal(32,value);
|
|
229
|
+
if(newVal != null) return newVal;
|
|
230
|
+
break;
|
|
231
|
+
default:
|
|
232
|
+
break;
|
|
233
|
+
}
|
|
234
|
+
return null;
|
|
235
|
+
}
|
|
236
|
+
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/.gitignore
RENAMED
|
File without changes
|
|
File without changes
|
{python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/CLAUDE.md
RENAMED
|
File without changes
|
{python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/LICENSE
RENAMED
|
File without changes
|
{python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/README.md
RENAMED
|
File without changes
|
{python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/RELEASING.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/debian/rules
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/docs/cli.rst
RENAMED
|
File without changes
|
{python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/docs/conf.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{python_netgear_switch_library-0.0.post357 → python_netgear_switch_library-0.0.post359}/docs/mcp.rst
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|