blackvuesync 2.0__tar.gz → 2.0a0__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.
- {blackvuesync-2.0 → blackvuesync-2.0a0}/PKG-INFO +15 -35
- {blackvuesync-2.0 → blackvuesync-2.0a0}/README.md +13 -33
- {blackvuesync-2.0 → blackvuesync-2.0a0}/blackvuesync.egg-info/PKG-INFO +15 -35
- {blackvuesync-2.0 → blackvuesync-2.0a0}/blackvuesync.py +1 -4
- {blackvuesync-2.0 → blackvuesync-2.0a0}/pyproject.toml +2 -2
- {blackvuesync-2.0 → blackvuesync-2.0a0}/COPYING +0 -0
- {blackvuesync-2.0 → blackvuesync-2.0a0}/blackvuesync.egg-info/SOURCES.txt +0 -0
- {blackvuesync-2.0 → blackvuesync-2.0a0}/blackvuesync.egg-info/dependency_links.txt +0 -0
- {blackvuesync-2.0 → blackvuesync-2.0a0}/blackvuesync.egg-info/entry_points.txt +0 -0
- {blackvuesync-2.0 → blackvuesync-2.0a0}/blackvuesync.egg-info/requires.txt +0 -0
- {blackvuesync-2.0 → blackvuesync-2.0a0}/blackvuesync.egg-info/top_level.txt +0 -0
- {blackvuesync-2.0 → blackvuesync-2.0a0}/setup.cfg +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: blackvuesync
|
|
3
|
-
Version: 2.
|
|
3
|
+
Version: 2.0a0
|
|
4
4
|
Summary: Synchronize recordings from BlackVue dashcams to a local directory
|
|
5
5
|
Author-email: Alessandro Colomba <angelo@colomba.org>
|
|
6
6
|
License-Expression: MIT
|
|
@@ -8,7 +8,7 @@ Project-URL: Homepage, https://github.com/acolomba/blackvuesync
|
|
|
8
8
|
Project-URL: Repository, https://github.com/acolomba/blackvuesync
|
|
9
9
|
Project-URL: Issues, https://github.com/acolomba/blackvuesync/issues
|
|
10
10
|
Keywords: blackvue,dashcam,sync,backup
|
|
11
|
-
Classifier: Development Status ::
|
|
11
|
+
Classifier: Development Status :: 4 - Beta
|
|
12
12
|
Classifier: Environment :: Console
|
|
13
13
|
Classifier: Intended Audience :: End Users/Desktop
|
|
14
14
|
Classifier: Operating System :: OS Independent
|
|
@@ -37,16 +37,6 @@ Dynamic: license-file
|
|
|
37
37
|
|
|
38
38
|
# BlackVue Sync
|
|
39
39
|
|
|
40
|
-
[](https://github.com/acolomba/blackvuesync/actions/workflows/ci.yml)
|
|
41
|
-
[](https://github.com/acolomba/blackvuesync/actions/workflows/docker-build.yml)
|
|
42
|
-
[](https://sonarcloud.io/summary/overall?id=acolomba_blackvuesync)
|
|
43
|
-
[](https://sonarcloud.io/summary/overall?id=acolomba_blackvuesync)
|
|
44
|
-
[](https://sonarcloud.io/summary/overall?id=acolomba_blackvuesync)
|
|
45
|
-
[](https://sonarcloud.io/summary/overall?id=acolomba_blackvuesync)
|
|
46
|
-
[](https://sonarcloud.io/summary/overall?id=acolomba_blackvuesync)
|
|
47
|
-
[](https://sonarcloud.io/summary/overall?id=acolomba_blackvuesync)
|
|
48
|
-
[](https://sonarcloud.io/summary/overall?id=acolomba_blackvuesync)
|
|
49
|
-
|
|
50
40
|
Synchronizes recordings from a BlackVue dashcam with a local directory over a LAN.
|
|
51
41
|
|
|
52
42
|
BlackVue dashcams expose an HTTP server that can be used to download all recordings. This project downloads only recordings that are not already downloaded, optionally limiting downloads in a local directory to a date range.
|
|
@@ -55,15 +45,15 @@ A typical setup would be a periodic cron job or a Docker container running on a
|
|
|
55
45
|
|
|
56
46
|
## Features
|
|
57
47
|
|
|
58
|
-
*
|
|
48
|
+
* *Portable runtimes:*
|
|
59
49
|
* A [single, self-contained Python script](https://github.com/acolomba/blackvuesync/blob/master/blackvuesync.py) with no third-party dependencies. It can be copied and run anywhere, either [manually](#manual-usage) or [periodically](#unattended-usage).
|
|
60
50
|
* A [docker image](#docker) that runs periodically via an internal cron job. Supports amd64 (Intel), arm64 (Apple Silicon, Raspberry Pi 4+) and armv7 (Raspberry Pi 2/3).
|
|
61
|
-
*
|
|
62
|
-
*
|
|
63
|
-
*
|
|
64
|
-
*
|
|
65
|
-
*
|
|
66
|
-
*
|
|
51
|
+
* *Smart*: Only downloads recordings that haven't already been downloaded.
|
|
52
|
+
* *Resilient*: If a download interrupts for whatever reason, the script resumes where it left off the next time it runs. This is especially useful for possibly unreliable Wi-Fi connections from a garage.
|
|
53
|
+
* *Hands-off*: Optionally retains recordings for a set amount of time. Outdated recordings are automatically removed.
|
|
54
|
+
* *Cron-friendly*: Only one process is allowed to run at any given time for a specific download destination.
|
|
55
|
+
* *Safe*: Stops executing if the destination disk is almost full.
|
|
56
|
+
* *Friendly error reporting*: Communicates a range of known error conditions with sensible verbosity.
|
|
67
57
|
|
|
68
58
|
## Prerequisites
|
|
69
59
|
|
|
@@ -79,7 +69,7 @@ A cloud-enabled [BlackVue](https://www.blackvue.com/) dashcam must be connected
|
|
|
79
69
|
|
|
80
70
|
The dashcam must be kept powered for some time after the vehicle is turned off. BlackVue offers [hardwiring kits](https://blackvue.com/product-tag/battery/) and [batteries](https://blackvue.com/product-tag/battery/).
|
|
81
71
|
|
|
82
|
-
The camera should stay active for a period
|
|
72
|
+
The camera should stay active for a period long enough sufficient for recordings to be downloaded. Consult the dashcam manual for the bit rate for your chosen image quality, and compare it with the download speed reported by BlackVue Sync.
|
|
83
73
|
|
|
84
74
|
Example with a DR750S-2CH recording with two cameras at the highest quality setting and a good but conservative download speed:
|
|
85
75
|
|
|
@@ -115,40 +105,30 @@ Another way is by browsing to: `http://dashcam.example.net/blackvue_vod.cgi`.
|
|
|
115
105
|
|
|
116
106
|
## Usage
|
|
117
107
|
|
|
118
|
-
### Installation
|
|
119
|
-
|
|
120
|
-
BlackVue Sync is a single script, and can be obtained in a number of ways:
|
|
121
|
-
|
|
122
|
-
* **[uv](https://docs.astral.sh/uv/)**: Run with `uvx blackvuesync <args>`, or install with `uv tool install blackvuesync` and run with `blackvuesync <args>`.
|
|
123
|
-
* **[Pip](https://pypi.org/project/pip/):** Install with `pip install blackvuesync` and run with `blackvuesync <args>`.
|
|
124
|
-
* **Direct:** [Download from GitHub](https://raw.githubusercontent.com/acolomba/blackvuesync/refs/heads/main/blackvuesync.py), save to the desired location, and either run it with `python3 blackvuesync.py <args>`, or mark it executable and run it with `blackvuesync.py <args>`.
|
|
125
|
-
|
|
126
|
-
The interactive instructions assume a uv or Pip installation.
|
|
127
|
-
|
|
128
108
|
### Manual Usage
|
|
129
109
|
|
|
130
110
|
The dashcam address is the only required parameter. The `--dry-run` option makes it so that the script communicates what it would do without actually doing anything. Example:
|
|
131
111
|
|
|
132
112
|
```sh
|
|
133
|
-
blackvuesync dashcam.example.net --dry-run
|
|
113
|
+
blackvuesync.py dashcam.example.net --dry-run
|
|
134
114
|
```
|
|
135
115
|
|
|
136
116
|
It's also possible to specify a destination directory other than the current directory with `--destination`:
|
|
137
117
|
|
|
138
118
|
```sh
|
|
139
|
-
blackvuesync dashcam.example.net --destination /data/dashcam --dry-run
|
|
119
|
+
blackvuesync.py dashcam.example.net --destination /data/dashcam --dry-run
|
|
140
120
|
```
|
|
141
121
|
|
|
142
|
-
A retention period can be indicated with the
|
|
122
|
+
A retention period can be indicated with the `-keep` option. Recordings prior to the retention period will be removed from the destination directory. Accepted units are `d` for days and `w` for weeks. If no unit is indicated, days are assumed.
|
|
143
123
|
|
|
144
124
|
```sh
|
|
145
|
-
blackvuesync dashcam.example.net --destination /data/dashcam --keep 2w --dry-run
|
|
125
|
+
blackvuesync.py dashcam.example.net --destination /data/dashcam --keep 2w --dry-run
|
|
146
126
|
```
|
|
147
127
|
|
|
148
128
|
A typical invocation would be:
|
|
149
129
|
|
|
150
130
|
```sh
|
|
151
|
-
blackvuesync dashcam.example.net --destination /data/dashcam --keep 2w
|
|
131
|
+
blackvuesync.py dashcam.example.net --destination /data/dashcam --keep 2w
|
|
152
132
|
```
|
|
153
133
|
|
|
154
134
|
Other options:
|
|
@@ -1,15 +1,5 @@
|
|
|
1
1
|
# BlackVue Sync
|
|
2
2
|
|
|
3
|
-
[](https://github.com/acolomba/blackvuesync/actions/workflows/ci.yml)
|
|
4
|
-
[](https://github.com/acolomba/blackvuesync/actions/workflows/docker-build.yml)
|
|
5
|
-
[](https://sonarcloud.io/summary/overall?id=acolomba_blackvuesync)
|
|
6
|
-
[](https://sonarcloud.io/summary/overall?id=acolomba_blackvuesync)
|
|
7
|
-
[](https://sonarcloud.io/summary/overall?id=acolomba_blackvuesync)
|
|
8
|
-
[](https://sonarcloud.io/summary/overall?id=acolomba_blackvuesync)
|
|
9
|
-
[](https://sonarcloud.io/summary/overall?id=acolomba_blackvuesync)
|
|
10
|
-
[](https://sonarcloud.io/summary/overall?id=acolomba_blackvuesync)
|
|
11
|
-
[](https://sonarcloud.io/summary/overall?id=acolomba_blackvuesync)
|
|
12
|
-
|
|
13
3
|
Synchronizes recordings from a BlackVue dashcam with a local directory over a LAN.
|
|
14
4
|
|
|
15
5
|
BlackVue dashcams expose an HTTP server that can be used to download all recordings. This project downloads only recordings that are not already downloaded, optionally limiting downloads in a local directory to a date range.
|
|
@@ -18,15 +8,15 @@ A typical setup would be a periodic cron job or a Docker container running on a
|
|
|
18
8
|
|
|
19
9
|
## Features
|
|
20
10
|
|
|
21
|
-
*
|
|
11
|
+
* *Portable runtimes:*
|
|
22
12
|
* A [single, self-contained Python script](https://github.com/acolomba/blackvuesync/blob/master/blackvuesync.py) with no third-party dependencies. It can be copied and run anywhere, either [manually](#manual-usage) or [periodically](#unattended-usage).
|
|
23
13
|
* A [docker image](#docker) that runs periodically via an internal cron job. Supports amd64 (Intel), arm64 (Apple Silicon, Raspberry Pi 4+) and armv7 (Raspberry Pi 2/3).
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
*
|
|
27
|
-
*
|
|
28
|
-
*
|
|
29
|
-
*
|
|
14
|
+
* *Smart*: Only downloads recordings that haven't already been downloaded.
|
|
15
|
+
* *Resilient*: If a download interrupts for whatever reason, the script resumes where it left off the next time it runs. This is especially useful for possibly unreliable Wi-Fi connections from a garage.
|
|
16
|
+
* *Hands-off*: Optionally retains recordings for a set amount of time. Outdated recordings are automatically removed.
|
|
17
|
+
* *Cron-friendly*: Only one process is allowed to run at any given time for a specific download destination.
|
|
18
|
+
* *Safe*: Stops executing if the destination disk is almost full.
|
|
19
|
+
* *Friendly error reporting*: Communicates a range of known error conditions with sensible verbosity.
|
|
30
20
|
|
|
31
21
|
## Prerequisites
|
|
32
22
|
|
|
@@ -42,7 +32,7 @@ A cloud-enabled [BlackVue](https://www.blackvue.com/) dashcam must be connected
|
|
|
42
32
|
|
|
43
33
|
The dashcam must be kept powered for some time after the vehicle is turned off. BlackVue offers [hardwiring kits](https://blackvue.com/product-tag/battery/) and [batteries](https://blackvue.com/product-tag/battery/).
|
|
44
34
|
|
|
45
|
-
The camera should stay active for a period
|
|
35
|
+
The camera should stay active for a period long enough sufficient for recordings to be downloaded. Consult the dashcam manual for the bit rate for your chosen image quality, and compare it with the download speed reported by BlackVue Sync.
|
|
46
36
|
|
|
47
37
|
Example with a DR750S-2CH recording with two cameras at the highest quality setting and a good but conservative download speed:
|
|
48
38
|
|
|
@@ -78,40 +68,30 @@ Another way is by browsing to: `http://dashcam.example.net/blackvue_vod.cgi`.
|
|
|
78
68
|
|
|
79
69
|
## Usage
|
|
80
70
|
|
|
81
|
-
### Installation
|
|
82
|
-
|
|
83
|
-
BlackVue Sync is a single script, and can be obtained in a number of ways:
|
|
84
|
-
|
|
85
|
-
* **[uv](https://docs.astral.sh/uv/)**: Run with `uvx blackvuesync <args>`, or install with `uv tool install blackvuesync` and run with `blackvuesync <args>`.
|
|
86
|
-
* **[Pip](https://pypi.org/project/pip/):** Install with `pip install blackvuesync` and run with `blackvuesync <args>`.
|
|
87
|
-
* **Direct:** [Download from GitHub](https://raw.githubusercontent.com/acolomba/blackvuesync/refs/heads/main/blackvuesync.py), save to the desired location, and either run it with `python3 blackvuesync.py <args>`, or mark it executable and run it with `blackvuesync.py <args>`.
|
|
88
|
-
|
|
89
|
-
The interactive instructions assume a uv or Pip installation.
|
|
90
|
-
|
|
91
71
|
### Manual Usage
|
|
92
72
|
|
|
93
73
|
The dashcam address is the only required parameter. The `--dry-run` option makes it so that the script communicates what it would do without actually doing anything. Example:
|
|
94
74
|
|
|
95
75
|
```sh
|
|
96
|
-
blackvuesync dashcam.example.net --dry-run
|
|
76
|
+
blackvuesync.py dashcam.example.net --dry-run
|
|
97
77
|
```
|
|
98
78
|
|
|
99
79
|
It's also possible to specify a destination directory other than the current directory with `--destination`:
|
|
100
80
|
|
|
101
81
|
```sh
|
|
102
|
-
blackvuesync dashcam.example.net --destination /data/dashcam --dry-run
|
|
82
|
+
blackvuesync.py dashcam.example.net --destination /data/dashcam --dry-run
|
|
103
83
|
```
|
|
104
84
|
|
|
105
|
-
A retention period can be indicated with the
|
|
85
|
+
A retention period can be indicated with the `-keep` option. Recordings prior to the retention period will be removed from the destination directory. Accepted units are `d` for days and `w` for weeks. If no unit is indicated, days are assumed.
|
|
106
86
|
|
|
107
87
|
```sh
|
|
108
|
-
blackvuesync dashcam.example.net --destination /data/dashcam --keep 2w --dry-run
|
|
88
|
+
blackvuesync.py dashcam.example.net --destination /data/dashcam --keep 2w --dry-run
|
|
109
89
|
```
|
|
110
90
|
|
|
111
91
|
A typical invocation would be:
|
|
112
92
|
|
|
113
93
|
```sh
|
|
114
|
-
blackvuesync dashcam.example.net --destination /data/dashcam --keep 2w
|
|
94
|
+
blackvuesync.py dashcam.example.net --destination /data/dashcam --keep 2w
|
|
115
95
|
```
|
|
116
96
|
|
|
117
97
|
Other options:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: blackvuesync
|
|
3
|
-
Version: 2.
|
|
3
|
+
Version: 2.0a0
|
|
4
4
|
Summary: Synchronize recordings from BlackVue dashcams to a local directory
|
|
5
5
|
Author-email: Alessandro Colomba <angelo@colomba.org>
|
|
6
6
|
License-Expression: MIT
|
|
@@ -8,7 +8,7 @@ Project-URL: Homepage, https://github.com/acolomba/blackvuesync
|
|
|
8
8
|
Project-URL: Repository, https://github.com/acolomba/blackvuesync
|
|
9
9
|
Project-URL: Issues, https://github.com/acolomba/blackvuesync/issues
|
|
10
10
|
Keywords: blackvue,dashcam,sync,backup
|
|
11
|
-
Classifier: Development Status ::
|
|
11
|
+
Classifier: Development Status :: 4 - Beta
|
|
12
12
|
Classifier: Environment :: Console
|
|
13
13
|
Classifier: Intended Audience :: End Users/Desktop
|
|
14
14
|
Classifier: Operating System :: OS Independent
|
|
@@ -37,16 +37,6 @@ Dynamic: license-file
|
|
|
37
37
|
|
|
38
38
|
# BlackVue Sync
|
|
39
39
|
|
|
40
|
-
[](https://github.com/acolomba/blackvuesync/actions/workflows/ci.yml)
|
|
41
|
-
[](https://github.com/acolomba/blackvuesync/actions/workflows/docker-build.yml)
|
|
42
|
-
[](https://sonarcloud.io/summary/overall?id=acolomba_blackvuesync)
|
|
43
|
-
[](https://sonarcloud.io/summary/overall?id=acolomba_blackvuesync)
|
|
44
|
-
[](https://sonarcloud.io/summary/overall?id=acolomba_blackvuesync)
|
|
45
|
-
[](https://sonarcloud.io/summary/overall?id=acolomba_blackvuesync)
|
|
46
|
-
[](https://sonarcloud.io/summary/overall?id=acolomba_blackvuesync)
|
|
47
|
-
[](https://sonarcloud.io/summary/overall?id=acolomba_blackvuesync)
|
|
48
|
-
[](https://sonarcloud.io/summary/overall?id=acolomba_blackvuesync)
|
|
49
|
-
|
|
50
40
|
Synchronizes recordings from a BlackVue dashcam with a local directory over a LAN.
|
|
51
41
|
|
|
52
42
|
BlackVue dashcams expose an HTTP server that can be used to download all recordings. This project downloads only recordings that are not already downloaded, optionally limiting downloads in a local directory to a date range.
|
|
@@ -55,15 +45,15 @@ A typical setup would be a periodic cron job or a Docker container running on a
|
|
|
55
45
|
|
|
56
46
|
## Features
|
|
57
47
|
|
|
58
|
-
*
|
|
48
|
+
* *Portable runtimes:*
|
|
59
49
|
* A [single, self-contained Python script](https://github.com/acolomba/blackvuesync/blob/master/blackvuesync.py) with no third-party dependencies. It can be copied and run anywhere, either [manually](#manual-usage) or [periodically](#unattended-usage).
|
|
60
50
|
* A [docker image](#docker) that runs periodically via an internal cron job. Supports amd64 (Intel), arm64 (Apple Silicon, Raspberry Pi 4+) and armv7 (Raspberry Pi 2/3).
|
|
61
|
-
*
|
|
62
|
-
*
|
|
63
|
-
*
|
|
64
|
-
*
|
|
65
|
-
*
|
|
66
|
-
*
|
|
51
|
+
* *Smart*: Only downloads recordings that haven't already been downloaded.
|
|
52
|
+
* *Resilient*: If a download interrupts for whatever reason, the script resumes where it left off the next time it runs. This is especially useful for possibly unreliable Wi-Fi connections from a garage.
|
|
53
|
+
* *Hands-off*: Optionally retains recordings for a set amount of time. Outdated recordings are automatically removed.
|
|
54
|
+
* *Cron-friendly*: Only one process is allowed to run at any given time for a specific download destination.
|
|
55
|
+
* *Safe*: Stops executing if the destination disk is almost full.
|
|
56
|
+
* *Friendly error reporting*: Communicates a range of known error conditions with sensible verbosity.
|
|
67
57
|
|
|
68
58
|
## Prerequisites
|
|
69
59
|
|
|
@@ -79,7 +69,7 @@ A cloud-enabled [BlackVue](https://www.blackvue.com/) dashcam must be connected
|
|
|
79
69
|
|
|
80
70
|
The dashcam must be kept powered for some time after the vehicle is turned off. BlackVue offers [hardwiring kits](https://blackvue.com/product-tag/battery/) and [batteries](https://blackvue.com/product-tag/battery/).
|
|
81
71
|
|
|
82
|
-
The camera should stay active for a period
|
|
72
|
+
The camera should stay active for a period long enough sufficient for recordings to be downloaded. Consult the dashcam manual for the bit rate for your chosen image quality, and compare it with the download speed reported by BlackVue Sync.
|
|
83
73
|
|
|
84
74
|
Example with a DR750S-2CH recording with two cameras at the highest quality setting and a good but conservative download speed:
|
|
85
75
|
|
|
@@ -115,40 +105,30 @@ Another way is by browsing to: `http://dashcam.example.net/blackvue_vod.cgi`.
|
|
|
115
105
|
|
|
116
106
|
## Usage
|
|
117
107
|
|
|
118
|
-
### Installation
|
|
119
|
-
|
|
120
|
-
BlackVue Sync is a single script, and can be obtained in a number of ways:
|
|
121
|
-
|
|
122
|
-
* **[uv](https://docs.astral.sh/uv/)**: Run with `uvx blackvuesync <args>`, or install with `uv tool install blackvuesync` and run with `blackvuesync <args>`.
|
|
123
|
-
* **[Pip](https://pypi.org/project/pip/):** Install with `pip install blackvuesync` and run with `blackvuesync <args>`.
|
|
124
|
-
* **Direct:** [Download from GitHub](https://raw.githubusercontent.com/acolomba/blackvuesync/refs/heads/main/blackvuesync.py), save to the desired location, and either run it with `python3 blackvuesync.py <args>`, or mark it executable and run it with `blackvuesync.py <args>`.
|
|
125
|
-
|
|
126
|
-
The interactive instructions assume a uv or Pip installation.
|
|
127
|
-
|
|
128
108
|
### Manual Usage
|
|
129
109
|
|
|
130
110
|
The dashcam address is the only required parameter. The `--dry-run` option makes it so that the script communicates what it would do without actually doing anything. Example:
|
|
131
111
|
|
|
132
112
|
```sh
|
|
133
|
-
blackvuesync dashcam.example.net --dry-run
|
|
113
|
+
blackvuesync.py dashcam.example.net --dry-run
|
|
134
114
|
```
|
|
135
115
|
|
|
136
116
|
It's also possible to specify a destination directory other than the current directory with `--destination`:
|
|
137
117
|
|
|
138
118
|
```sh
|
|
139
|
-
blackvuesync dashcam.example.net --destination /data/dashcam --dry-run
|
|
119
|
+
blackvuesync.py dashcam.example.net --destination /data/dashcam --dry-run
|
|
140
120
|
```
|
|
141
121
|
|
|
142
|
-
A retention period can be indicated with the
|
|
122
|
+
A retention period can be indicated with the `-keep` option. Recordings prior to the retention period will be removed from the destination directory. Accepted units are `d` for days and `w` for weeks. If no unit is indicated, days are assumed.
|
|
143
123
|
|
|
144
124
|
```sh
|
|
145
|
-
blackvuesync dashcam.example.net --destination /data/dashcam --keep 2w --dry-run
|
|
125
|
+
blackvuesync.py dashcam.example.net --destination /data/dashcam --keep 2w --dry-run
|
|
146
126
|
```
|
|
147
127
|
|
|
148
128
|
A typical invocation would be:
|
|
149
129
|
|
|
150
130
|
```sh
|
|
151
|
-
blackvuesync dashcam.example.net --destination /data/dashcam --keep 2w
|
|
131
|
+
blackvuesync.py dashcam.example.net --destination /data/dashcam --keep 2w
|
|
152
132
|
```
|
|
153
133
|
|
|
154
134
|
Other options:
|
|
@@ -21,7 +21,7 @@ from __future__ import annotations
|
|
|
21
21
|
# COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
|
|
22
22
|
# OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
23
23
|
|
|
24
|
-
__version__ = "2.
|
|
24
|
+
__version__ = "2.0a"
|
|
25
25
|
|
|
26
26
|
import argparse
|
|
27
27
|
import datetime
|
|
@@ -227,7 +227,6 @@ def get_dashcam_filenames(base_url: str) -> list[str]:
|
|
|
227
227
|
request = urllib.request.Request(url)
|
|
228
228
|
if session_key:
|
|
229
229
|
request.add_header("X-Session-Key", session_key)
|
|
230
|
-
|
|
231
230
|
response = urllib.request.urlopen(request)
|
|
232
231
|
|
|
233
232
|
response_status_code = response.getcode()
|
|
@@ -246,7 +245,6 @@ def get_dashcam_filenames(base_url: str) -> list[str]:
|
|
|
246
245
|
or e.reason.errno in dashcam_unavailable_errno_codes
|
|
247
246
|
):
|
|
248
247
|
raise UserWarning(f"Dashcam unavailable : {e}") from e
|
|
249
|
-
|
|
250
248
|
raise RuntimeError(
|
|
251
249
|
f"Cannot obtain list of recordings from dashcam at address : {base_url}; error : {e}"
|
|
252
250
|
) from e
|
|
@@ -902,7 +900,6 @@ def main() -> int:
|
|
|
902
900
|
finally:
|
|
903
901
|
if lf_fd:
|
|
904
902
|
unlock(lf_fd)
|
|
905
|
-
|
|
906
903
|
flush_logs()
|
|
907
904
|
|
|
908
905
|
return 0
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "blackvuesync"
|
|
3
|
-
version = "2.
|
|
3
|
+
version = "2.0a"
|
|
4
4
|
description = "Synchronize recordings from BlackVue dashcams to a local directory"
|
|
5
5
|
readme = "README.md"
|
|
6
6
|
requires-python = ">=3.9"
|
|
@@ -10,7 +10,7 @@ authors = [
|
|
|
10
10
|
{name = "Alessandro Colomba", email = "angelo@colomba.org"}
|
|
11
11
|
]
|
|
12
12
|
classifiers = [
|
|
13
|
-
"Development Status ::
|
|
13
|
+
"Development Status :: 4 - Beta",
|
|
14
14
|
"Environment :: Console",
|
|
15
15
|
"Intended Audience :: End Users/Desktop",
|
|
16
16
|
"Operating System :: OS Independent",
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|