From c0c342394365f332d446642db4df89ff02874e2b Mon Sep 17 00:00:00 2001 From: Varun Patil Date: Sat, 20 Aug 2022 02:25:39 +0000 Subject: [PATCH] Test for exiftool before running (fix #6) --- exiftest.jpg | Bin 0 -> 3662 bytes lib/Command/Index.php | 23 +++++++++++++++++++++++ 2 files changed, 23 insertions(+) create mode 100644 exiftest.jpg diff --git a/exiftest.jpg b/exiftest.jpg new file mode 100644 index 0000000000000000000000000000000000000000..7c0411b95ae4155719bab8ce33ed10d4dcb5329c GIT binary patch literal 3662 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 r0meADtKORKhsVs0p4_pRn0?globalService = null; } + + // Refuse to run without exiftool + if (!$this->testExif()) { + error_log('FATAL: exiftool could not be found or test failed'); + exit(1); + } + } + + /** Make sure exiftool is available */ + private function testExif() { + $testfile = dirname(__FILE__). '/../../exiftest.jpg'; + $stream = fopen($testfile, 'rb'); + if (!$stream) { + return false; + } + + $exif = \OCA\Memories\Db\Util::getExifFromStream($stream); + fclose($stream); + + if (!$exif || $exif["DateTimeOriginal"] !== "2004:08:31 19:52:58") { + return false; + } + return true; } protected function configure(): void {