file-digests 0.0.43 → 0.0.45
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 +19 -18
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 724ceeb18b2bd197f9ea5b01b19ffee3b710c8aa044b169290240522d877fb98
|
4
|
+
data.tar.gz: 53b693c580c5426a8925bc3dfef43b8b2ff5ca92635f8e132020d3615fb7fdd2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: bfbe437ff9443012f236a58f4ea1a5af6782452437e764d8848a86422dce763c01b18c463788003b62c2249117aef02cd2759bb20be58eacd93bc0ab06e619d7
|
7
|
+
data.tar.gz: b98e15d44a163fc2732ef581006655ea3dc1339668bf908c409dd9d5ca3c60a8558b1ddd9e5032c813781ac55e49bf4073b4a5301c5376d2d70c1ddc3ca874e6
|
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]
|
@@ -245,10 +247,8 @@ class FileDigests
|
|
245
247
|
@missing_files_path
|
246
248
|
]
|
247
249
|
|
248
|
-
|
249
|
-
|
250
|
-
puts "Database location: #{@digest_database_path}"
|
251
|
-
end
|
250
|
+
puts "Checking file digests in: #{@files_path}" unless @options[:quiet]
|
251
|
+
puts "Database location: #{@digest_database_path}" if @options[:verbose]
|
252
252
|
end
|
253
253
|
|
254
254
|
def initialize_database
|
@@ -291,22 +291,20 @@ class FileDigests
|
|
291
291
|
id INTEGER NOT NULL PRIMARY KEY,
|
292
292
|
filename TEXT NOT NULL,
|
293
293
|
mtime TEXT,
|
294
|
-
digest TEXT NOT NULL
|
295
|
-
digest_check_time TEXT NOT NULL)"
|
294
|
+
digest TEXT NOT NULL)"
|
296
295
|
execute "CREATE UNIQUE INDEX digests_filename ON digests(filename)"
|
297
296
|
execute "CREATE INDEX digests_digest ON digests(digest)"
|
298
297
|
set_metadata("digests_table_created_by_gem_version", FileDigests::VERSION) if FileDigests::VERSION
|
299
298
|
end
|
300
299
|
|
301
|
-
prepare_method :digests_insert, "INSERT INTO digests (filename, mtime, digest
|
300
|
+
prepare_method :digests_insert, "INSERT INTO digests (filename, mtime, digest) VALUES (?, ?, ?)"
|
302
301
|
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 = ?"
|
302
|
+
prepare_method :digests_update_mtime_and_digest, "UPDATE digests SET mtime = ?, digest = ? WHERE id = ?"
|
303
|
+
prepare_method :digests_update_mtime, "UPDATE digests SET mtime = ? WHERE id = ?"
|
306
304
|
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
305
|
|
308
306
|
unless get_metadata("database_version")
|
309
|
-
set_metadata "database_version", "
|
307
|
+
set_metadata "database_version", "4"
|
310
308
|
end
|
311
309
|
|
312
310
|
# Convert database from 1st to 2nd version
|
@@ -326,7 +324,12 @@ class FileDigests
|
|
326
324
|
set_metadata "database_version", "3"
|
327
325
|
end
|
328
326
|
|
329
|
-
|
327
|
+
if get_metadata("database_version") == "3"
|
328
|
+
execute "ALTER TABLE digests DROP COLUMN digest_check_time"
|
329
|
+
set_metadata "database_version", "4"
|
330
|
+
end
|
331
|
+
|
332
|
+
check_if_database_is_at_certain_version "4"
|
330
333
|
|
331
334
|
create_temporary_tables
|
332
335
|
end
|
@@ -362,7 +365,7 @@ class FileDigests
|
|
362
365
|
digest TEXT NOT NULL)"
|
363
366
|
|
364
367
|
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
|
368
|
+
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
369
|
end
|
367
370
|
|
368
371
|
# Files
|
@@ -480,9 +483,7 @@ class FileDigests
|
|
480
483
|
@counters[:good] += 1
|
481
484
|
puts "GOOD: #{filename}" if @options[:verbose]
|
482
485
|
unless @options[:test_only]
|
483
|
-
if found["mtime"]
|
484
|
-
digests_touch_check_time found["id"]
|
485
|
-
else
|
486
|
+
if found["mtime"] != mtime
|
486
487
|
digests_update_mtime mtime, found["id"]
|
487
488
|
end
|
488
489
|
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.45
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Stanislav Senotrusov
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-
|
11
|
+
date: 2022-12-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: openssl
|
@@ -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.3.
|
69
|
+
rubygems_version: 3.3.26
|
70
70
|
signing_key:
|
71
71
|
specification_version: 4
|
72
72
|
summary: file-digests
|