-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathvisualizer.php
51 lines (48 loc) · 1.25 KB
/
visualizer.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
<?Php
require 'vendor/autoload.php';
use datagutten\mobitec\decoder;
use datagutten\mobitec\visualizer;
if(!isset($argv[1]))
die('Usage: visualizer.php [file] [sign]');
$options=getopt('',array('file:','list','key:','print'));
if(!isset($options['file']))
{
$argvr=array_reverse($argv);
$file=$argvr[0];
}
else
$file=$options['file'];
$lines= decoder::parse(file_get_contents($file), true);
$pathinfo=pathinfo($file);
chdir(__DIR__);
if(isset($options['list']))
{
foreach($lines as $key=>$line)
{
echo "-----$key-----\n";
echo trim(implode("\n",array_column($lines[$key],'Text')))."\n";
}
}
else
{
if(isset($options['key']))
{
if(!isset($lines[$options['key']]))
die(sprintf("Invalid key %s, valid keys are:\n%s\n",$options[$key],implode("\n",array_keys($lines))));
$lines=array($options['key']=>$lines[$options['key']]);
}
if(isset($options['print']))
print_r($lines);
if(count($lines)>1)
$outdir=sprintf('visualized/%s',$pathinfo['basename']);
else
$outdir='visualized';
if(!file_exists($outdir))
mkdir($outdir,0777,true);
foreach($lines as $key=>$line)
{
$im=visualizer::visualize($line);
imagepng($im,$outfile=sprintf('%s/%s-%s.png',$outdir,$pathinfo['basename'],$key));
echo sprintf(_('Wrote message %s to %s'),$key,$outfile)."\n";
}
}