Skip to content

Commit abb9428

Browse files
committed
Bump version 0.1.4 → 0.1.5
1 parent 951c43b commit abb9428

File tree

5 files changed

+67
-16
lines changed

5 files changed

+67
-16
lines changed

README.md

Lines changed: 30 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
# ONVIF Python
22

3-
[![License](https://img.shields.io/badge/License-MIT-blue)](https://github.com/nirsimetri/onvif-python?tab=MIT-1-ov-file)
3+
[![Codacy grade](https://img.shields.io/codacy/grade/bff08a94e4d447b690cea49c6594826d?label=Project%20Quality&logo=codacy)](https://app.codacy.com/gh/nirsimetri/onvif-python/dashboard?utm_source=gh&utm_medium=referral&utm_content=&utm_campaign=Badge_grade)
44
[![Ask DeepWiki](https://deepwiki.com/badge.svg)](https://deepwiki.com/nirsimetri/onvif-python)
5-
[![PyPI](https://img.shields.io/badge/PyPI-0.1.4-orange?logo=archive)](https://pypi.org/project/onvif-python/)
5+
[![PyPI](https://img.shields.io/badge/PyPI-0.1.5-orange?logo=archive)](https://pypi.org/project/onvif-python/)
66
[![Downloads](https://img.shields.io/pypi/dm/onvif-python?label=Downloads&color=red)](https://clickpy.clickhouse.com/dashboard/onvif-python)
77
<br>
88
[![Build](https://github.com/nirsimetri/onvif-python/actions/workflows/python-app.yml/badge.svg?branch=main)](https://github.com/nirsimetri/onvif-python/actions/workflows/python-app.yml)
@@ -174,10 +174,10 @@ This library includes a powerful command-line interface (CLI) for interacting wi
174174

175175
```bash
176176
usage: onvif [-h] [--host HOST] [--port PORT] [--username USERNAME] [--password PASSWORD] [--discover] [--timeout TIMEOUT] [--https] [--no-verify]
177-
[--no-patch] [--interactive] [--debug] [--wsdl WSDL] [--cache {all,db,mem,none}] [--version]
177+
[--no-patch] [--interactive] [--debug] [--wsdl WSDL] [--cache {all,db,mem,none}] [--health-check-interval HEALTH_CHECK_INTERVAL] [--version]
178178
[service] [method] [params ...]
179179

180-
ONVIF Terminal Client — v0.1.4
180+
ONVIF Terminal Client — v0.1.5
181181
https://github.com/nirsimetri/onvif-python
182182

183183
positional arguments:
@@ -203,6 +203,8 @@ options:
203203
--wsdl WSDL Custom WSDL directory path
204204
--cache {all,db,mem,none}
205205
Caching mode for ONVIFClient (default: all). 'all': memory+disk, 'db': disk-only, 'mem': memory-only, 'none': disabled.
206+
--health-check-interval HEALTH_CHECK_INTERVAL, -hci HEALTH_CHECK_INTERVAL
207+
Health check interval in seconds for interactive mode (default: 10)
206208
--version, -v Show ONVIF CLI version and exit
207209

208210
Examples:
@@ -232,7 +234,7 @@ Examples:
232234
<summary><b>2. Interactive Shell</b></summary>
233235

234236
```bash
235-
ONVIF Interactive Shell Commands - v0.1.4
237+
ONVIF Interactive Shell Commands - v0.1.5
236238
https://github.com/nirsimetri/onvif-python
237239

238240
Basic Commands:
@@ -244,6 +246,7 @@ Basic Commands:
244246

245247
Navigation Commands:
246248
<service> - Enter service mode (e.g., devicemgmt, media)
249+
<service> <argument> - Enter service mode with argument (e.g. pullpoint SubscriptionRef=<value>)
247250
cd <service> - Enter service mode (alias)
248251
ls - List commands/services/methods in grid format
249252
up - Exit current service mode (go up one level)
@@ -263,6 +266,7 @@ Method Execution:
263266
Data Management:
264267
store <name> - Store last result with a name
265268
show <name> - Show stored data
269+
show <name>[0] - Show element at index (for lists)
266270
show <name>.attribute - Show specific attribute
267271
show - List all stored data
268272
rm <name> - Remove stored data by name
@@ -330,6 +334,27 @@ If you omit the username or password, you will be prompted to enter them securel
330334
> [!IMPORTANT]
331335
> You can see all the other commands available in the interactive shell by trying it out directly. The interactive shell runs periodic background health checks to detect connection loss. It uses silent TCP pings to avoid interrupting your work and will automatically exit if the device is unreachable, similar to an SSH session.
332336
337+
**Command Chaining with `&&`:**
338+
339+
The CLI supports chaining multiple commands in a single line using the `&&` operator, allowing you to execute sequential operations efficiently:
340+
341+
```bash
342+
# Enter service and execute method in one line
343+
192.168.1.17:8000 > media && GetProfiles && store profiles
344+
345+
# Chain multiple method calls
346+
192.168.1.17:8000 > devicemgmt && GetDeviceInformation && store device_info
347+
348+
# Complex workflow
349+
192.168.1.17:8000 > media && GetProfiles && store profiles && up && imaging && GetImagingSettings VideoSourceToken=$profiles[0].VideoSourceConfiguration.SourceToken
350+
```
351+
352+
This feature is particularly useful for:
353+
- Quick operations without entering service mode
354+
- Scripting repetitive tasks
355+
- Testing workflows
356+
- Automating multi-step procedures
357+
333358
**2. Device Discovery (WS-Discovery)**
334359

335360
The CLI includes automatic ONVIF device discovery using the WS-Discovery protocol. This feature allows you to find all ONVIF-compliant devices on your local network without knowing their IP addresses beforehand.

README_ID.md

Lines changed: 31 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
# ONVIF Python
22

3-
[![License](https://img.shields.io/badge/License-MIT-blue)](https://github.com/nirsimetri/onvif-python?tab=MIT-1-ov-file)
3+
[![Codacy grade](https://img.shields.io/codacy/grade/bff08a94e4d447b690cea49c6594826d?label=Project%20Quality&logo=codacy)](https://app.codacy.com/gh/nirsimetri/onvif-python/dashboard?utm_source=gh&utm_medium=referral&utm_content=&utm_campaign=Badge_grade)
44
[![Ask DeepWiki](https://deepwiki.com/badge.svg)](https://deepwiki.com/nirsimetri/onvif-python)
5-
[![PyPI](https://img.shields.io/badge/PyPI-0.1.4-orange?logo=archive)](https://pypi.org/project/onvif-python/)
6-
[![Downloads](https://img.shields.io/pypi/dm/onvif-python?label=PyPI%20Downloads&color=red)](https://clickpy.clickhouse.com/dashboard/onvif-python)
5+
[![PyPI](https://img.shields.io/badge/PyPI-0.1.5-orange?logo=archive)](https://pypi.org/project/onvif-python/)
6+
[![Downloads](https://img.shields.io/pypi/dm/onvif-python?label=Downloads&color=red)](https://clickpy.clickhouse.com/dashboard/onvif-python)
77
<br>
88
[![Build](https://github.com/nirsimetri/onvif-python/actions/workflows/python-app.yml/badge.svg?branch=main)](https://github.com/nirsimetri/onvif-python/actions/workflows/python-app.yml)
99
[![Upload Python Package](https://github.com/nirsimetri/onvif-python/actions/workflows/python-publish.yml/badge.svg)](https://github.com/nirsimetri/onvif-python/actions/workflows/python-publish.yml)
@@ -174,10 +174,10 @@ Pustaka ini menyertakan antarmuka baris perintah (CLI) yang kuat untuk berintera
174174

175175
```bash
176176
usage: onvif [-h] [--host HOST] [--port PORT] [--username USERNAME] [--password PASSWORD] [--discover] [--timeout TIMEOUT] [--https] [--no-verify]
177-
[--no-patch] [--interactive] [--debug] [--wsdl WSDL] [--cache {all,db,mem,none}] [--version]
177+
[--no-patch] [--interactive] [--debug] [--wsdl WSDL] [--cache {all,db,mem,none}] [--health-check-interval HEALTH_CHECK_INTERVAL] [--version]
178178
[service] [method] [params ...]
179179

180-
ONVIF Terminal Client — v0.1.4
180+
ONVIF Terminal Client — v0.1.5
181181
https://github.com/nirsimetri/onvif-python
182182

183183
positional arguments:
@@ -203,6 +203,8 @@ options:
203203
--wsdl WSDL Custom WSDL directory path
204204
--cache {all,db,mem,none}
205205
Caching mode for ONVIFClient (default: all). 'all': memory+disk, 'db': disk-only, 'mem': memory-only, 'none': disabled.
206+
--health-check-interval HEALTH_CHECK_INTERVAL, -hci HEALTH_CHECK_INTERVAL
207+
Health check interval in seconds for interactive mode (default: 10)
206208
--version, -v Show ONVIF CLI version and exit
207209

208210
Examples:
@@ -233,7 +235,7 @@ Examples:
233235

234236

235237
```bash
236-
ONVIF Interactive Shell Commands - v0.1.4
238+
ONVIF Interactive Shell Commands - v0.1.5
237239
https://github.com/nirsimetri/onvif-python
238240

239241
Basic Commands:
@@ -245,6 +247,7 @@ Basic Commands:
245247

246248
Navigation Commands:
247249
<service> - Enter service mode (e.g., devicemgmt, media)
250+
<service> <argument> - Enter service mode with argument (e.g. pullpoint SubscriptionRef=<value>)
248251
cd <service> - Enter service mode (alias)
249252
ls - List commands/services/methods in grid format
250253
up - Exit current service mode (go up one level)
@@ -264,6 +267,7 @@ Method Execution:
264267
Data Management:
265268
store <name> - Store last result with a name
266269
show <name> - Show stored data
270+
show <name>[0] - Show element at index (for lists)
267271
show <name>.attribute - Show specific attribute
268272
show - List all stored data
269273
rm <name> - Remove stored data by name
@@ -331,6 +335,27 @@ Jika Anda tidak menyertakan nama pengguna atau kata sandi, Anda akan diminta unt
331335
> [!IMPORTANT]
332336
> Anda dapat melihat semua perintah lainnya yang tersedia di shell interaktif dengan mencobanya langsung. Shell interaktif menjalankan pemeriksaan kesehatan latar belakang secara berkala untuk mendeteksi kehilangan koneksi. Shell ini menggunakan ping TCP diam-diam agar tidak mengganggu pekerjaan Anda dan akan otomatis keluar jika perangkat tidak dapat dijangkau, mirip dengan sesi SSH.
333337
338+
**Perangkaian Perintah dengan `&&`:**
339+
340+
CLI mendukung perangkaian beberapa perintah dalam satu baris menggunakan operator `&&`, memungkinkan Anda mengeksekusi operasi berurutan secara efisien:
341+
342+
```bash
343+
# Masuk ke layanan dan eksekusi metode dalam satu baris
344+
192.168.1.17:8000 > media && GetProfiles && store profiles
345+
346+
# Perangkaian beberapa pemanggilan metode
347+
192.168.1.17:8000 > devicemgmt && GetDeviceInformation && store device_info
348+
349+
# Alur kerja kompleks
350+
192.168.1.17:8000 > media && GetProfiles && store profiles && up && imaging && GetImagingSettings VideoSourceToken=$profiles[0].VideoSourceConfiguration.SourceToken
351+
```
352+
353+
Fitur ini sangat berguna untuk:
354+
- Operasi cepat tanpa memasuki mode layanan
355+
- Skrip tugas berulang
356+
- Menguji alur kerja
357+
- Mengotomasi prosedur multi-langkah
358+
334359
**2. Penemuan Perangkat (WS-Discovery)**
335360

336361
CLI menyertakan fitur penemuan perangkat ONVIF otomatis menggunakan protokol WS-Discovery. Fitur ini memungkinkan Anda menemukan semua perangkat yang sesuai dengan ONVIF di jaringan lokal Anda tanpa perlu mengetahui alamat IP mereka terlebih dahulu.

onvif/cli/interactive.py

Lines changed: 3 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

onvif/cli/main.py

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
44

55
[project]
66
name = "onvif-python"
7-
version = "0.1.4"
7+
version = "0.1.5"
88
description = "A comprehensive and developer-friendly Python library for working with ONVIF-compliant devices"
99
readme = "README.md"
1010
requires-python = ">=3.9"

0 commit comments

Comments
 (0)