file-digests 0.0.42 → 0.0.44
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.
- checksums.yaml +4 -4
- data/bin/file-digests +4 -0
- data/lib/file-digests.rb +17 -14
- metadata +7 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9acf90b4f4988d5f012f39b94171323a57019595017f0a61d1148c670327c423
|
4
|
+
data.tar.gz: b81c9284ec5217582a5f92737a34629149395c36dc47ba189b4264e4d21f3116
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0230a40a940cacf4f3b8f096ac837c063013e0f0a9a3e451701f06429771a2fd7dee50cd61f4c8899cb0a0418c6e3fbbb2e701b581e9cb55eb390e2275251f58
|
7
|
+
data.tar.gz: e1d74ab1e23d9232179a2e72845fd57b8f904c4b0a758e508c6eb7e1fc5ae484859c2e1f4155bd0598d8da335612d53d44d62b8a2af9ac94d338aae1d17a4ee1
|
data/bin/file-digests
CHANGED
data/lib/file-digests.rb
CHANGED
@@ -184,9 +184,11 @@ class FileDigests
|
|
184
184
|
STDERR.puts "A list of errors is also saved in a file: #{@error_log_path}"
|
185
185
|
end
|
186
186
|
|
187
|
-
set_metadata(@options[:test_only] ? "latest_test_only_check_time" : "latest_complete_check_time", time_to_database(Time.now))
|
188
|
-
|
189
187
|
print_counters
|
188
|
+
|
189
|
+
if any_missing_files? || any_likely_damaged? || any_exceptions?
|
190
|
+
$FILE_DIGESTS_EXIT_STATUS=1
|
191
|
+
end
|
190
192
|
end
|
191
193
|
|
192
194
|
puts "Performing database maintenance..." if @options[:verbose]
|
@@ -291,22 +293,20 @@ class FileDigests
|
|
291
293
|
id INTEGER NOT NULL PRIMARY KEY,
|
292
294
|
filename TEXT NOT NULL,
|
293
295
|
mtime TEXT,
|
294
|
-
digest TEXT NOT NULL
|
295
|
-
digest_check_time TEXT NOT NULL)"
|
296
|
+
digest TEXT NOT NULL)"
|
296
297
|
execute "CREATE UNIQUE INDEX digests_filename ON digests(filename)"
|
297
298
|
execute "CREATE INDEX digests_digest ON digests(digest)"
|
298
299
|
set_metadata("digests_table_created_by_gem_version", FileDigests::VERSION) if FileDigests::VERSION
|
299
300
|
end
|
300
301
|
|
301
|
-
prepare_method :digests_insert, "INSERT INTO digests (filename, mtime, digest
|
302
|
+
prepare_method :digests_insert, "INSERT INTO digests (filename, mtime, digest) VALUES (?, ?, ?)"
|
302
303
|
prepare_method :digests_find_by_filename_query, "SELECT id, mtime, digest FROM digests WHERE filename = ?"
|
303
|
-
prepare_method :
|
304
|
-
prepare_method :
|
305
|
-
prepare_method :digests_update_mtime, "UPDATE digests SET mtime = ?, digest_check_time = datetime('now') WHERE id = ?"
|
304
|
+
prepare_method :digests_update_mtime_and_digest, "UPDATE digests SET mtime = ?, digest = ? WHERE id = ?"
|
305
|
+
prepare_method :digests_update_mtime, "UPDATE digests SET mtime = ? WHERE id = ?"
|
306
306
|
prepare_method :digests_select_duplicates, "SELECT digest, filename FROM digests WHERE digest IN (SELECT digest FROM digests GROUP BY digest HAVING count(*) > 1) ORDER BY digest, filename;"
|
307
307
|
|
308
308
|
unless get_metadata("database_version")
|
309
|
-
set_metadata "database_version", "
|
309
|
+
set_metadata "database_version", "4"
|
310
310
|
end
|
311
311
|
|
312
312
|
# Convert database from 1st to 2nd version
|
@@ -326,7 +326,12 @@ class FileDigests
|
|
326
326
|
set_metadata "database_version", "3"
|
327
327
|
end
|
328
328
|
|
329
|
-
|
329
|
+
if get_metadata("database_version") == "3"
|
330
|
+
execute "ALTER TABLE digests DROP COLUMN digest_check_time"
|
331
|
+
set_metadata "database_version", "4"
|
332
|
+
end
|
333
|
+
|
334
|
+
check_if_database_is_at_certain_version "4"
|
330
335
|
|
331
336
|
create_temporary_tables
|
332
337
|
end
|
@@ -362,7 +367,7 @@ class FileDigests
|
|
362
367
|
digest TEXT NOT NULL)"
|
363
368
|
|
364
369
|
prepare_method :new_digests_insert, "INSERT INTO new_digests (filename, digest) VALUES (?, ?)"
|
365
|
-
prepare_method :digests_update_digests_to_new_digests, "INSERT INTO digests (filename, digest
|
370
|
+
prepare_method :digests_update_digests_to_new_digests, "INSERT INTO digests (filename, digest) SELECT filename, digest FROM new_digests WHERE true ON CONFLICT (filename) DO UPDATE SET digest=excluded.digest"
|
366
371
|
end
|
367
372
|
|
368
373
|
# Files
|
@@ -480,9 +485,7 @@ class FileDigests
|
|
480
485
|
@counters[:good] += 1
|
481
486
|
puts "GOOD: #{filename}" if @options[:verbose]
|
482
487
|
unless @options[:test_only]
|
483
|
-
if found["mtime"]
|
484
|
-
digests_touch_check_time found["id"]
|
485
|
-
else
|
488
|
+
if found["mtime"] != mtime
|
486
489
|
digests_update_mtime mtime, found["id"]
|
487
490
|
end
|
488
491
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: file-digests
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.44
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Stanislav Senotrusov
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2022-12-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: openssl
|
@@ -16,28 +16,28 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '
|
19
|
+
version: '3.0'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: '
|
26
|
+
version: '3.0'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: sqlite3
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: '1.
|
33
|
+
version: '1.4'
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: '1.
|
40
|
+
version: '1.4'
|
41
41
|
description: Calculate file digests and check for the possible file corruption
|
42
42
|
email: stan@senotrusov.com
|
43
43
|
executables:
|
@@ -66,7 +66,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
66
66
|
- !ruby/object:Gem::Version
|
67
67
|
version: '0'
|
68
68
|
requirements: []
|
69
|
-
rubygems_version: 3.
|
69
|
+
rubygems_version: 3.3.26
|
70
70
|
signing_key:
|
71
71
|
specification_version: 4
|
72
72
|
summary: file-digests
|