From e84c693464d0c675fec88b487aec598b87e391a5 Mon Sep 17 00:00:00 2001 From: profiteroles Date: Wed, 22 May 2019 04:02:22 -0700 Subject: [PATCH] 0.7.12 --- MainMenu.nib/designable.nib | 7 +- MainMenu.nib/keyedobjects.nib | Bin 42690 -> 42702 bytes README.md | 2 +- Yuba.php | 53 ++++++++-- YubaPrefs.php | 53 ++++++++++ filetypes.php | 8 +- functions.pashua.php | 191 ++++++++++++++++++++++++++++++++++ functions.php | 12 ++- prefs.php | 2 +- utils/generate_default_prefs | 9 +- version.txt | 2 +- 11 files changed, 313 insertions(+), 26 deletions(-) create mode 100755 functions.pashua.php diff --git a/MainMenu.nib/designable.nib b/MainMenu.nib/designable.nib index 2f1894d..1f8472c 100644 --- a/MainMenu.nib/designable.nib +++ b/MainMenu.nib/designable.nib @@ -120,7 +120,7 @@ Gw - + @@ -158,13 +158,12 @@ Gw - - + - + diff --git a/MainMenu.nib/keyedobjects.nib b/MainMenu.nib/keyedobjects.nib index de94f155c34fe295b3e816b30953f7cdc0a46283..65b70bb38d676e20a403b2f9ecd9f86f9d97b103 100644 GIT binary patch delta 17218 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 T?K_IL{uXX&{oVF+{P6z;AqMBU delta 17089 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"); + die; + } + +// Version check + +if (@$argv[1] == "Check for Updates...") { + + $curr_version = file_get_contents("http://git.profiteroles.org/profiteroles/Yuba/raw/branch/master/version.txt"); + if ($curr_version > $version) { + if(askMulti("Yuba ".$curr_version." is available (you have ".$version.")", array("Cancel","Download")) == 1) { + exec("open http://git.profiteroles.org/profiteroles/Yuba"); + die; + } + } else { + alert($version." is the latest version","Up-to-date"); + die; + } + + } + // Path & application variables ////////////////////////////////////////// @@ -28,8 +57,8 @@ $stamp = date("Y-m-d_H-i-s", time()); if (!isset($argv[1])) { echo "No input"; die; } $zpath = realpath(@$argv[1]); -if (@$argv[2]) { $bdest = realpath($argv[2]); } else { $bdest = realpath($p['bdest']); } -if (!is_dir($zpath) | !is_dir($bdest)) { echo "Filepath error"; die; } +if ($p['bdest']) { $bdest = realpath($p['bdest']); } else { $bdest = "/Users/".get_current_user()."/Documents/Yuba/"; } +if (!is_dir($bdest)) { if (!mkdir($bdest)) { echo "Error creating directory: ".$bdest; die; } } // Check for bundle if ($zpath == "/") { $blabel = "root"; } else { $blabel = preg_replace("/[^A-Za-z0-9\.]/", "_", basename($zpath)); } @@ -48,7 +77,6 @@ $bin_ffmpeg = __DIR__."/bin/ffmpeg"; $bin_qlthumb = __DIR__."/bin/ql-thumbnail"; // Logfile - $messages_log_file = $bpath."/".$stamp."_messages.log"; $error_log_file = $bpath."/".$stamp."_error.log"; error_reporting(E_ALL); @@ -59,6 +87,8 @@ ini_set("error_log", $error_log_file); // Banner ////////////////////////////////////////// +if (!is_dir($zpath) | !is_dir($bdest)) { echo "Filepath error"; die; } + $banner = "Yuba: ".$zpath." -> ".$bpath; echo msg($banner."\n".str_repeat("-", strlen($banner))); @@ -509,9 +539,7 @@ if ($p['thumbs']) { if (!is_dir($tpath)) { mkdir($tpath); } $tfile = $tpath."/".$fid.".jpg"; - // HACK for ql-thumbnail bug - $t_skip = array("emlx","flac"); - if (count($t_skip) && in_array($ext, $t_skip)) { + if (count($p['t_skip']) && in_array($ext, $p['t_skip'])) { echo ProgressBar::next("Skipping ".shortlabel($pathname)); continue; } @@ -589,7 +617,8 @@ if ($p['contents']) { $cfile = $cpath."/".$fid.".zip"; if (in_array($ext, $p['c_files'])) { if (!is_dir($cpath)) { mkdir($cpath); } - if (!file_exists($cfile) && filesize($pathname) < 25000) { + $max_size = $p['contents_limit'] * 1000; + if (!file_exists($cfile) && filesize($pathname) < $max_size) { msg("Zipping ".$pathname); @@ -972,7 +1001,7 @@ foreach ($files as $splFileInfo) { $yes_contents = $dbp->query("SELECT relative_path FROM contents WHERE fid='".$fid."'")->fetch()[0]; $stmt->BindValue(":contents_filename",$yes_contents); - if (!in_array($extension, $t_skip)) { + if (!in_array($extension, $p['t_skip'])) { $fetch_thumb = $dbp->query("SELECT * FROM thumbs WHERE fid='".$fid."'")->fetch(); } if (@$fetch_thumb['relative_path']) { @@ -1188,7 +1217,7 @@ $dbo->exec("UPDATE _skim SET status='completed_in_".$seconds."'"); // rsync -if ($p['rsync_dest']) { +if ($p['postflight'] == 2 && $p['rsync_dest']) { echo msg("rsync..."); $command = "rsync -avv -e ssh ".$bpath." ".$p['rsync_dest']; $count = trim(shell_exec("find ".escapeshellarg($bpath)." | wc -l")); @@ -1197,6 +1226,8 @@ if ($p['rsync_dest']) { while(fgets($pipe, 2048)) { echo ProgressBar::next(true); } pclose($pipe); echo ProgressBar::finish(); + } elseif ($p['postflight'] == 1) { + exec("open -R ".escapeshellarg($bpath)); } $done = "Finished ".$zpath." in ".$seconds." seconds"; diff --git a/YubaPrefs.php b/YubaPrefs.php index e69de29..fd0161c 100644 --- a/YubaPrefs.php +++ b/YubaPrefs.php @@ -0,0 +1,53 @@ + \ No newline at end of file diff --git a/filetypes.php b/filetypes.php index 2c7e5ea..aaba245 100755 --- a/filetypes.php +++ b/filetypes.php @@ -1,7 +1,7 @@ \ No newline at end of file diff --git a/functions.pashua.php b/functions.pashua.php new file mode 100755 index 0000000..89d0e50 --- /dev/null +++ b/functions.pashua.php @@ -0,0 +1,191 @@ + \ No newline at end of file diff --git a/functions.php b/functions.php index a6276dd..0fdeb60 100755 --- a/functions.php +++ b/functions.php @@ -1,7 +1,7 @@ \ No newline at end of file diff --git a/version.txt b/version.txt index 66fc364..6f30e95 100755 --- a/version.txt +++ b/version.txt @@ -1 +1 @@ -0.7.11.5 \ No newline at end of file +0.7.12 \ No newline at end of file