Code Coverage |
||||||||||
Lines |
Functions and Methods |
Classes and Traits |
||||||||
Total | |
0.00% |
0 / 26 |
|
0.00% |
0 / 3 |
CRAP | |
0.00% |
0 / 1 |
DumpMetadata | |
0.00% |
0 / 19 |
|
0.00% |
0 / 3 |
30 | |
0.00% |
0 / 1 |
__construct | |
0.00% |
0 / 3 |
|
0.00% |
0 / 1 |
2 | |||
execute | |
0.00% |
0 / 2 |
|
0.00% |
0 / 1 |
2 | |||
processFile | |
0.00% |
0 / 14 |
|
0.00% |
0 / 1 |
12 |
1 | <?php |
2 | /** |
3 | * Re-queue selected, or all, transcodes |
4 | */ |
5 | $IP = getenv( 'MW_INSTALL_PATH' ); |
6 | if ( $IP === false ) { |
7 | $IP = __DIR__ . '/../../..'; |
8 | } |
9 | require_once "$IP/maintenance/Maintenance.php"; |
10 | require_once __DIR__ . "/TimedMediaMaintenance.php"; |
11 | |
12 | class DumpMetadata extends TimedMediaMaintenance { |
13 | |
14 | public function __construct() { |
15 | parent::__construct(); |
16 | $this->addOption( "pretty", "pretty-print JSON (adds line breaks)" ); |
17 | $this->addDescription( "dump media file metadata as JSON per line" ); |
18 | } |
19 | |
20 | public function execute() { |
21 | $this->output( "Dumping media metadata:\n" ); |
22 | parent::execute(); |
23 | } |
24 | |
25 | /** |
26 | * @param File $file |
27 | */ |
28 | public function processFile( File $file ) { |
29 | $name = $file->getName(); |
30 | $handler = $file->getHandler(); |
31 | $meta = $file->getMetadataArray(); |
32 | $data = [ |
33 | 'filename' => $name, |
34 | 'metadata' => $meta, |
35 | ]; |
36 | |
37 | $flags = JSON_INVALID_UTF8_SUBSTITUTE; |
38 | if ( $this->hasOption( 'pretty' ) ) { |
39 | $flags |= JSON_PRETTY_PRINT; |
40 | } |
41 | $json = json_encode( $data, $flags ); |
42 | if ( !$json ) { |
43 | die( "$name: invalid JSON output\n" ); |
44 | } |
45 | echo "$json\n"; |
46 | } |
47 | } |
48 | |
49 | // Tells it to run the class |
50 | $maintClass = DumpMetadata::class; |
51 | require_once RUN_MAINTENANCE_IF_MAIN; |