velopack 1.0.1__tar.gz → 1.0.9.dev49442__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.
- {velopack-1.0.1 → velopack-1.0.9.dev49442}/Cargo.lock +6 -6
- {velopack-1.0.1 → velopack-1.0.9.dev49442}/Cargo.toml +1 -1
- {velopack-1.0.1 → velopack-1.0.9.dev49442}/PKG-INFO +1 -1
- {velopack-1.0.1 → velopack-1.0.9.dev49442}/pyproject.toml +1 -1
- {velopack-1.0.1 → velopack-1.0.9.dev49442}/src/lib-python/src/manager.rs +26 -37
- {velopack-1.0.1 → velopack-1.0.9.dev49442}/src/lib-rust/src/misc.rs +1 -1
- {velopack-1.0.1 → velopack-1.0.9.dev49442}/src/lib-python/.gitignore +0 -0
- {velopack-1.0.1 → velopack-1.0.9.dev49442}/src/lib-python/Cargo.toml +0 -0
- {velopack-1.0.1 → velopack-1.0.9.dev49442}/src/lib-python/README.md +0 -0
- {velopack-1.0.1 → velopack-1.0.9.dev49442}/src/lib-python/build.rs +0 -0
- {velopack-1.0.1 → velopack-1.0.9.dev49442}/src/lib-python/src/app.rs +0 -0
- {velopack-1.0.1 → velopack-1.0.9.dev49442}/src/lib-python/src/lib.rs +0 -0
- {velopack-1.0.1 → velopack-1.0.9.dev49442}/src/lib-python/src/sources.rs +0 -0
- {velopack-1.0.1 → velopack-1.0.9.dev49442}/src/lib-python/src/types.rs +0 -0
- {velopack-1.0.1 → velopack-1.0.9.dev49442}/src/lib-python/test/app.py +0 -0
- {velopack-1.0.1 → velopack-1.0.9.dev49442}/src/lib-python/test/run_test.py +0 -0
- {velopack-1.0.1 → velopack-1.0.9.dev49442}/src/lib-python/uv.lock +0 -0
- {velopack-1.0.1 → velopack-1.0.9.dev49442}/src/lib-rust/Cargo.toml +0 -0
- {velopack-1.0.1 → velopack-1.0.9.dev49442}/src/lib-rust/README.md +0 -0
- {velopack-1.0.1 → velopack-1.0.9.dev49442}/src/lib-rust/src/app.rs +0 -0
- {velopack-1.0.1 → velopack-1.0.9.dev49442}/src/lib-rust/src/bundle.rs +0 -0
- {velopack-1.0.1 → velopack-1.0.9.dev49442}/src/lib-rust/src/constants.rs +0 -0
- {velopack-1.0.1 → velopack-1.0.9.dev49442}/src/lib-rust/src/download.rs +0 -0
- {velopack-1.0.1 → velopack-1.0.9.dev49442}/src/lib-rust/src/file_rotate.rs +0 -0
- {velopack-1.0.1 → velopack-1.0.9.dev49442}/src/lib-rust/src/known_path.rs +0 -0
- {velopack-1.0.1 → velopack-1.0.9.dev49442}/src/lib-rust/src/lib.rs +0 -0
- {velopack-1.0.1 → velopack-1.0.9.dev49442}/src/lib-rust/src/locator.rs +0 -0
- {velopack-1.0.1 → velopack-1.0.9.dev49442}/src/lib-rust/src/lockfile.rs +0 -0
- {velopack-1.0.1 → velopack-1.0.9.dev49442}/src/lib-rust/src/logging.rs +0 -0
- {velopack-1.0.1 → velopack-1.0.9.dev49442}/src/lib-rust/src/macros.rs +0 -0
- {velopack-1.0.1 → velopack-1.0.9.dev49442}/src/lib-rust/src/manager.rs +0 -0
- {velopack-1.0.1 → velopack-1.0.9.dev49442}/src/lib-rust/src/process_unix.rs +0 -0
- {velopack-1.0.1 → velopack-1.0.9.dev49442}/src/lib-rust/src/process_win.rs +0 -0
- {velopack-1.0.1 → velopack-1.0.9.dev49442}/src/lib-rust/src/sources/file.rs +0 -0
- {velopack-1.0.1 → velopack-1.0.9.dev49442}/src/lib-rust/src/sources/flow.rs +0 -0
- {velopack-1.0.1 → velopack-1.0.9.dev49442}/src/lib-rust/src/sources/gitea.rs +0 -0
- {velopack-1.0.1 → velopack-1.0.9.dev49442}/src/lib-rust/src/sources/github.rs +0 -0
- {velopack-1.0.1 → velopack-1.0.9.dev49442}/src/lib-rust/src/sources/gitlab.rs +0 -0
- {velopack-1.0.1 → velopack-1.0.9.dev49442}/src/lib-rust/src/sources/http.rs +0 -0
- {velopack-1.0.1 → velopack-1.0.9.dev49442}/src/lib-rust/src/sources/mod.rs +0 -0
- {velopack-1.0.1 → velopack-1.0.9.dev49442}/src/lib-rust/src/wide_strings.rs +0 -0
- {velopack-1.0.1 → velopack-1.0.9.dev49442}/src/lib-rust/tests/common/mock_server.rs +0 -0
- {velopack-1.0.1 → velopack-1.0.9.dev49442}/src/lib-rust/tests/common/mod.rs +0 -0
- {velopack-1.0.1 → velopack-1.0.9.dev49442}/src/lib-rust/tests/noteshtml_deserialization.rs +0 -0
- {velopack-1.0.1 → velopack-1.0.9.dev49442}/src/lib-rust/tests/source_auto.rs +0 -0
- {velopack-1.0.1 → velopack-1.0.9.dev49442}/src/lib-rust/tests/source_file.rs +0 -0
- {velopack-1.0.1 → velopack-1.0.9.dev49442}/src/lib-rust/tests/source_flow.rs +0 -0
- {velopack-1.0.1 → velopack-1.0.9.dev49442}/src/lib-rust/tests/source_gitea.rs +0 -0
- {velopack-1.0.1 → velopack-1.0.9.dev49442}/src/lib-rust/tests/source_github.rs +0 -0
- {velopack-1.0.1 → velopack-1.0.9.dev49442}/src/lib-rust/tests/source_gitlab.rs +0 -0
- {velopack-1.0.1 → velopack-1.0.9.dev49442}/src/lib-rust/tests/source_http.rs +0 -0
- {velopack-1.0.1 → velopack-1.0.9.dev49442}/src/lib-rust/tests/source_none.rs +0 -0
|
@@ -4057,7 +4057,7 @@ dependencies = [
|
|
|
4057
4057
|
|
|
4058
4058
|
[[package]]
|
|
4059
4059
|
name = "velopack"
|
|
4060
|
-
version = "1.0.
|
|
4060
|
+
version = "1.0.9-gc12205f"
|
|
4061
4061
|
dependencies = [
|
|
4062
4062
|
"anyhow",
|
|
4063
4063
|
"bitflags 2.11.1",
|
|
@@ -4091,7 +4091,7 @@ dependencies = [
|
|
|
4091
4091
|
|
|
4092
4092
|
[[package]]
|
|
4093
4093
|
name = "velopack_bins"
|
|
4094
|
-
version = "1.0.
|
|
4094
|
+
version = "1.0.9-gc12205f"
|
|
4095
4095
|
dependencies = [
|
|
4096
4096
|
"anyhow",
|
|
4097
4097
|
"bitflags 2.11.1",
|
|
@@ -4143,7 +4143,7 @@ dependencies = [
|
|
|
4143
4143
|
|
|
4144
4144
|
[[package]]
|
|
4145
4145
|
name = "velopack_l18n"
|
|
4146
|
-
version = "1.0.
|
|
4146
|
+
version = "1.0.9-gc12205f"
|
|
4147
4147
|
dependencies = [
|
|
4148
4148
|
"anyhow",
|
|
4149
4149
|
"fluent",
|
|
@@ -4159,7 +4159,7 @@ dependencies = [
|
|
|
4159
4159
|
|
|
4160
4160
|
[[package]]
|
|
4161
4161
|
name = "velopack_libc"
|
|
4162
|
-
version = "1.0.
|
|
4162
|
+
version = "1.0.9-gc12205f"
|
|
4163
4163
|
dependencies = [
|
|
4164
4164
|
"anyhow",
|
|
4165
4165
|
"cbindgen",
|
|
@@ -4176,7 +4176,7 @@ dependencies = [
|
|
|
4176
4176
|
|
|
4177
4177
|
[[package]]
|
|
4178
4178
|
name = "velopack_nodeffi"
|
|
4179
|
-
version = "1.0.
|
|
4179
|
+
version = "1.0.9-gc12205f"
|
|
4180
4180
|
dependencies = [
|
|
4181
4181
|
"lazy_static",
|
|
4182
4182
|
"log",
|
|
@@ -4200,7 +4200,7 @@ dependencies = [
|
|
|
4200
4200
|
|
|
4201
4201
|
[[package]]
|
|
4202
4202
|
name = "velopack_wix"
|
|
4203
|
-
version = "1.0.
|
|
4203
|
+
version = "1.0.9-gc12205f"
|
|
4204
4204
|
dependencies = [
|
|
4205
4205
|
"anyhow",
|
|
4206
4206
|
"remove_dir_all",
|
|
@@ -54,46 +54,35 @@ impl UpdateManagerWrapper {
|
|
|
54
54
|
|
|
55
55
|
#[pyo3(signature = (update_info, progress_callback = None))]
|
|
56
56
|
pub fn download_updates(&mut self, py: Python, update_info: PyUpdateInfo, progress_callback: Option<Py<PyAny>>) -> Result<()> {
|
|
57
|
-
// Convert PyUpdateInfo back to rust UpdateInfo
|
|
58
57
|
let rust_update_info: UpdateInfo = update_info.into();
|
|
58
|
+
let inner = self.inner.clone();
|
|
59
59
|
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
// Clone the callback for the thread
|
|
65
|
-
let callback_clone = callback.clone_ref(py);
|
|
66
|
-
|
|
67
|
-
// Release the GIL before starting the download
|
|
68
|
-
py.detach(|| {
|
|
69
|
-
// Spawn a thread to handle progress updates
|
|
70
|
-
let progress_thread = thread::spawn(move || {
|
|
71
|
-
while let Ok(progress) = receiver.recv() {
|
|
72
|
-
// Acquire GIL only when needed to call the callback
|
|
73
|
-
Python::try_attach(|py| {
|
|
74
|
-
if let Err(e) = callback_clone.call1(py, (progress,)) {
|
|
75
|
-
// Log error but continue - don't break the download
|
|
76
|
-
eprintln!("Progress callback error: {}", e);
|
|
77
|
-
}
|
|
78
|
-
});
|
|
79
|
-
}
|
|
80
|
-
});
|
|
81
|
-
|
|
82
|
-
// Call download with the sender
|
|
83
|
-
let result = self.inner.download_updates(&rust_update_info, Some(sender));
|
|
84
|
-
|
|
85
|
-
// Wait for the progress thread to finish
|
|
86
|
-
let _ = progress_thread.join();
|
|
87
|
-
|
|
88
|
-
result
|
|
89
|
-
})?;
|
|
90
|
-
|
|
91
|
-
Ok(())
|
|
60
|
+
let (sender, receiver) = if progress_callback.is_some() {
|
|
61
|
+
let (s, r) = mpsc::channel::<i16>();
|
|
62
|
+
(Some(s), Some(r))
|
|
92
63
|
} else {
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
64
|
+
(None, None)
|
|
65
|
+
};
|
|
66
|
+
|
|
67
|
+
py.detach(|| {
|
|
68
|
+
let handle = thread::spawn(move || inner.download_updates(&rust_update_info, sender));
|
|
69
|
+
|
|
70
|
+
if let (Some(callback), Some(receiver)) = (progress_callback, receiver) {
|
|
71
|
+
while let Ok(progress) = receiver.recv() {
|
|
72
|
+
Python::try_attach(|py| {
|
|
73
|
+
if let Err(e) = callback.call1(py, (progress,)) {
|
|
74
|
+
eprintln!("Progress callback error: {}", e);
|
|
75
|
+
}
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
handle
|
|
81
|
+
.join()
|
|
82
|
+
.unwrap_or_else(|_| Err(std::io::Error::other("Download thread panicked").into()))
|
|
83
|
+
})?;
|
|
84
|
+
|
|
85
|
+
Ok(())
|
|
97
86
|
}
|
|
98
87
|
|
|
99
88
|
pub fn apply_updates_and_restart(&mut self, update: PyUpdateInfoOrAsset) -> Result<()> {
|
|
@@ -52,7 +52,7 @@ pub fn calculate_sha1_sha256<P: AsRef<Path>>(file: P) -> Result<(String, String)
|
|
|
52
52
|
let mut sha256 = sha2::Sha256::new();
|
|
53
53
|
let mut sha1 = sha1::Sha1::new();
|
|
54
54
|
|
|
55
|
-
let mut buffer = [0u8;
|
|
55
|
+
let mut buffer = [0u8; 64 * 1024];
|
|
56
56
|
loop {
|
|
57
57
|
let bytes_read = reader.read(&mut buffer)?;
|
|
58
58
|
if bytes_read == 0 {
|
|
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
|