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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: blackvuesync
3
- Version: 2.0
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 :: 5 - Production/Stable
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
- [![CI](https://github.com/acolomba/blackvuesync/actions/workflows/ci.yml/badge.svg?branch=main)](https://github.com/acolomba/blackvuesync/actions/workflows/ci.yml)
41
- [![Build Docker image](https://github.com/acolomba/blackvuesync/actions/workflows/docker-build.yml/badge.svg?branch=main)](https://github.com/acolomba/blackvuesync/actions/workflows/docker-build.yml)
42
- [![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=acolomba_blackvuesync&metric=alert_status)](https://sonarcloud.io/summary/overall?id=acolomba_blackvuesync)
43
- [![Coverage](https://sonarcloud.io/api/project_badges/measure?project=acolomba_blackvuesync&metric=coverage)](https://sonarcloud.io/summary/overall?id=acolomba_blackvuesync)
44
- [![Bugs](https://sonarcloud.io/api/project_badges/measure?project=acolomba_blackvuesync&metric=bugs)](https://sonarcloud.io/summary/overall?id=acolomba_blackvuesync)
45
- [![Code Smells](https://sonarcloud.io/api/project_badges/measure?project=acolomba_blackvuesync&metric=code_smells)](https://sonarcloud.io/summary/overall?id=acolomba_blackvuesync)
46
- [![Maintainability Rating](https://sonarcloud.io/api/project_badges/measure?project=acolomba_blackvuesync&metric=sqale_rating)](https://sonarcloud.io/summary/overall?id=acolomba_blackvuesync)
47
- [![Reliability Rating](https://sonarcloud.io/api/project_badges/measure?project=acolomba_blackvuesync&metric=reliability_rating)](https://sonarcloud.io/summary/overall?id=acolomba_blackvuesync)
48
- [![Security Rating](https://sonarcloud.io/api/project_badges/measure?project=acolomba_blackvuesync&metric=security_rating)](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
- * **Portable runtimes:**
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
- * **Smart**: Only downloads recordings that haven't already been downloaded.
62
- * **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.
63
- * **Hands-off**: Optionally retains recordings for a set amount of time. Outdated recordings are automatically removed.
64
- * **Cron-friendly**: Only one process is allowed to run at any given time for a specific download destination.
65
- * **Safe**: Stops executing if the destination disk is almost full.
66
- * **Friendly error reporting**: Communicates a range of known error conditions with sensible verbosity.
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 sufficiently long 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.
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 `--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.
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
- [![CI](https://github.com/acolomba/blackvuesync/actions/workflows/ci.yml/badge.svg?branch=main)](https://github.com/acolomba/blackvuesync/actions/workflows/ci.yml)
4
- [![Build Docker image](https://github.com/acolomba/blackvuesync/actions/workflows/docker-build.yml/badge.svg?branch=main)](https://github.com/acolomba/blackvuesync/actions/workflows/docker-build.yml)
5
- [![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=acolomba_blackvuesync&metric=alert_status)](https://sonarcloud.io/summary/overall?id=acolomba_blackvuesync)
6
- [![Coverage](https://sonarcloud.io/api/project_badges/measure?project=acolomba_blackvuesync&metric=coverage)](https://sonarcloud.io/summary/overall?id=acolomba_blackvuesync)
7
- [![Bugs](https://sonarcloud.io/api/project_badges/measure?project=acolomba_blackvuesync&metric=bugs)](https://sonarcloud.io/summary/overall?id=acolomba_blackvuesync)
8
- [![Code Smells](https://sonarcloud.io/api/project_badges/measure?project=acolomba_blackvuesync&metric=code_smells)](https://sonarcloud.io/summary/overall?id=acolomba_blackvuesync)
9
- [![Maintainability Rating](https://sonarcloud.io/api/project_badges/measure?project=acolomba_blackvuesync&metric=sqale_rating)](https://sonarcloud.io/summary/overall?id=acolomba_blackvuesync)
10
- [![Reliability Rating](https://sonarcloud.io/api/project_badges/measure?project=acolomba_blackvuesync&metric=reliability_rating)](https://sonarcloud.io/summary/overall?id=acolomba_blackvuesync)
11
- [![Security Rating](https://sonarcloud.io/api/project_badges/measure?project=acolomba_blackvuesync&metric=security_rating)](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
- * **Portable runtimes:**
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
- * **Smart**: Only downloads recordings that haven't already been downloaded.
25
- * **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.
26
- * **Hands-off**: Optionally retains recordings for a set amount of time. Outdated recordings are automatically removed.
27
- * **Cron-friendly**: Only one process is allowed to run at any given time for a specific download destination.
28
- * **Safe**: Stops executing if the destination disk is almost full.
29
- * **Friendly error reporting**: Communicates a range of known error conditions with sensible verbosity.
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 sufficiently long 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.
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 `--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.
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.0
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 :: 5 - Production/Stable
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
- [![CI](https://github.com/acolomba/blackvuesync/actions/workflows/ci.yml/badge.svg?branch=main)](https://github.com/acolomba/blackvuesync/actions/workflows/ci.yml)
41
- [![Build Docker image](https://github.com/acolomba/blackvuesync/actions/workflows/docker-build.yml/badge.svg?branch=main)](https://github.com/acolomba/blackvuesync/actions/workflows/docker-build.yml)
42
- [![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=acolomba_blackvuesync&metric=alert_status)](https://sonarcloud.io/summary/overall?id=acolomba_blackvuesync)
43
- [![Coverage](https://sonarcloud.io/api/project_badges/measure?project=acolomba_blackvuesync&metric=coverage)](https://sonarcloud.io/summary/overall?id=acolomba_blackvuesync)
44
- [![Bugs](https://sonarcloud.io/api/project_badges/measure?project=acolomba_blackvuesync&metric=bugs)](https://sonarcloud.io/summary/overall?id=acolomba_blackvuesync)
45
- [![Code Smells](https://sonarcloud.io/api/project_badges/measure?project=acolomba_blackvuesync&metric=code_smells)](https://sonarcloud.io/summary/overall?id=acolomba_blackvuesync)
46
- [![Maintainability Rating](https://sonarcloud.io/api/project_badges/measure?project=acolomba_blackvuesync&metric=sqale_rating)](https://sonarcloud.io/summary/overall?id=acolomba_blackvuesync)
47
- [![Reliability Rating](https://sonarcloud.io/api/project_badges/measure?project=acolomba_blackvuesync&metric=reliability_rating)](https://sonarcloud.io/summary/overall?id=acolomba_blackvuesync)
48
- [![Security Rating](https://sonarcloud.io/api/project_badges/measure?project=acolomba_blackvuesync&metric=security_rating)](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
- * **Portable runtimes:**
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
- * **Smart**: Only downloads recordings that haven't already been downloaded.
62
- * **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.
63
- * **Hands-off**: Optionally retains recordings for a set amount of time. Outdated recordings are automatically removed.
64
- * **Cron-friendly**: Only one process is allowed to run at any given time for a specific download destination.
65
- * **Safe**: Stops executing if the destination disk is almost full.
66
- * **Friendly error reporting**: Communicates a range of known error conditions with sensible verbosity.
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 sufficiently long 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.
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 `--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.
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.0"
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.0"
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 :: 5 - Production/Stable",
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