commit vendor
This commit is contained in:
97
vendor/wapmorgan/unified-archive/bin/cam
vendored
Normal file
97
vendor/wapmorgan/unified-archive/bin/cam
vendored
Normal file
@ -0,0 +1,97 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
use wapmorgan\UnifiedArchive\CamApplication;
|
||||
use wapmorgan\UnifiedArchive\UnifiedArchive;
|
||||
|
||||
$paths = [
|
||||
// as a root package or phar
|
||||
__DIR__.'/../vendor/autoload.php',
|
||||
// as a dependency from bin
|
||||
__DIR__.'/../autoload.php',
|
||||
// as a dependency from package folder
|
||||
__DIR__.'/../../../autoload.php',
|
||||
];
|
||||
function init_composer(array $paths) {
|
||||
foreach ($paths as $path) {
|
||||
if (file_exists($path)) {
|
||||
require_once $path;
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
if (!init_composer($paths)) die('Run `composer install` firstly.'.PHP_EOL);
|
||||
if (!class_exists('\Docopt')) die('Install docopt firsly. Run `composer require docopt/docopt ~1.0`.'.PHP_EOL);
|
||||
|
||||
$version = UnifiedArchive::VERSION;
|
||||
$doc = <<<DOC
|
||||
Universal console archive manager for Windows/Linux (part of UnifiedArchive $version).
|
||||
|
||||
USAGE: cam (-l|--list) ARCHIVE
|
||||
cam (-t|--table) ARCHIVE
|
||||
cam (-i|--info) ARCHIVE
|
||||
cam (-e|--extract) [--output=DIR] [--replace=(all|ask|none|time|size)] [--flat=(file|path)] [--exclude=PATTERN] ARCHIVE [FILES_IN_ARCHIVE...]
|
||||
cam (-p|--print) ARCHIVE FILES_IN_ARCHIVE...
|
||||
cam (-d|--details) ARCHIVE FILES_IN_ARCHIVE...
|
||||
cam (-x|--delete) ARCHIVE FILES_IN_ARCHIVE...
|
||||
cam (-a|--add) ARCHIVE FILES_ON_DISK...
|
||||
cam (-c|--create) ARCHIVE FILES_ON_DISK...
|
||||
cam (-f|--formats)
|
||||
|
||||
ACTIONS:
|
||||
-l(--list) List files in archive
|
||||
-t(--table) List files as table in archive
|
||||
-i(--info) Summary about archive
|
||||
|
||||
-e(--extract) Extract from archive
|
||||
|
||||
-p(--print) Extract archive file content on terminal
|
||||
-d(--details) Details about file in archive
|
||||
-x(--delete) Delete files from archive
|
||||
|
||||
-a(--add) Pack files to archive
|
||||
-c(--create) Create new archive
|
||||
|
||||
OPTIONS:
|
||||
for --extract (-e):
|
||||
--replace=all|ask|none|time|size
|
||||
Set how should be resolved cases in that extracting files already exist.
|
||||
all - replaces all files
|
||||
ask - ask for manual resolution on every case
|
||||
none - preserve all existing on disk files
|
||||
time - selects file with later timestamp
|
||||
size - selects file with bigger size
|
||||
|
||||
--flat=[file,path]
|
||||
Removes all hierarchy and stores all files in one directory. With path option file name will be prepended with in-archive path (all "/" replaced by "-").
|
||||
|
||||
--exclude FILES... or
|
||||
--exclude /PATTERN/
|
||||
Excludes one or few files, directories by exact in-archive path or by regular expression pattern.
|
||||
|
||||
--output=DIRECTORY
|
||||
Set output directory in that all files will be extracted.
|
||||
DOC;
|
||||
|
||||
$args = Docopt::handle($doc, ['version' => UnifiedArchive::VERSION]);
|
||||
|
||||
$actions = array(
|
||||
'l:list' => 'listArray',
|
||||
't:table' => 'table',
|
||||
'i:info' => 'info',
|
||||
'e:extract' => 'extract',
|
||||
'p:print' => 'printFile',
|
||||
'd:details' => 'details',
|
||||
'x:delete' => 'delete',
|
||||
'a:add' => 'add',
|
||||
'c:create' => 'create',
|
||||
'f:formats' => 'checkFormats',
|
||||
);
|
||||
|
||||
foreach ($actions as $arg => $v) {
|
||||
$arg = explode(':', $arg);
|
||||
if ($args['-'.$arg[0]] === true || $args['--'.$arg[1]] === true) {
|
||||
$application = new CamApplication();
|
||||
call_user_func(array($application, $v), $args);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user