Loffice: Much simpler solution: Simply touch the file.
This commit is contained in:
parent
cca4f04bd1
commit
787c137b8a
|
@ -1,76 +1,8 @@
|
||||||
#!/usr/bin/perl
|
#!/usr/bin/perl
|
||||||
|
|
||||||
# If argument does not exist: Create a new file of the given type
|
# If argument does not exist: Create a new file
|
||||||
|
|
||||||
use File::Temp qw(tempfile);
|
|
||||||
|
|
||||||
my @files = grep { not /^-/ and not -e $_ } @ARGV;
|
|
||||||
|
|
||||||
my $gen = {
|
|
||||||
"fodt" => odt,
|
|
||||||
"odt" => odt,
|
|
||||||
"fods" => ods,
|
|
||||||
"ods" => ods,
|
|
||||||
"fodp" => odp,
|
|
||||||
"odp" => odp,
|
|
||||||
"fodd" => odd,
|
|
||||||
"odd" => odd,
|
|
||||||
};
|
|
||||||
|
|
||||||
for(@files) {
|
|
||||||
my $extension = (/\.([^.]+)/)[0] || die;
|
|
||||||
$gen->{$extension}($_,$extension);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
my @files = grep { not /^-/ } @ARGV;
|
||||||
|
my @newfiles = grep { not -e $_ } @files;
|
||||||
|
@newfiles and system("touch",@newfiles);
|
||||||
exec 'loffice', @ARGV;
|
exec 'loffice', @ARGV;
|
||||||
|
|
||||||
sub ods {
|
|
||||||
my $file = shift;
|
|
||||||
my $extension = shift;
|
|
||||||
my($tmphandle,$tmpname) = tempfile(TEMPLATE => 'loffXXXX', SUFFIX => ".csv");
|
|
||||||
system(qw(unoconv -d spreadsheet -f), $extension, '-o', $file, $tmpname);
|
|
||||||
unlink $tmpname;
|
|
||||||
}
|
|
||||||
|
|
||||||
sub odt {
|
|
||||||
my $file = shift;
|
|
||||||
my $extension = shift;
|
|
||||||
my($tmphandle,$tmpname) = tempfile(TEMPLATE => 'loffXXXX', SUFFIX => ".txt");
|
|
||||||
system(qw(unoconv -d document -f), $extension, '-o', $file, $tmpname);
|
|
||||||
unlink $tmpname;
|
|
||||||
}
|
|
||||||
|
|
||||||
sub odp {
|
|
||||||
my $file = shift;
|
|
||||||
my $extension = shift;
|
|
||||||
my($tmphandle,$tmpname) = tempfile(TEMPLATE => 'loffXXXX', SUFFIX => ".svg");
|
|
||||||
print $tmphandle q{<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
|
|
||||||
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
|
||||||
<svg viewBox="0 0 28000 15750"
|
|
||||||
xmlns:ooo="http://xml.openoffice.org/svg/export">
|
|
||||||
<defs>
|
|
||||||
<g id="ooo:meta_slides" ooo:number-of-slides="1" ooo:start-slide-number="0">
|
|
||||||
</g>
|
|
||||||
</defs>
|
|
||||||
</svg>
|
|
||||||
};
|
|
||||||
close $tmphandle;
|
|
||||||
system(qw(unoconv -d presentation -f), $extension, '-o', $file, $tmpname);
|
|
||||||
unlink $tmpname;
|
|
||||||
}
|
|
||||||
|
|
||||||
sub odd {
|
|
||||||
my $file = shift;
|
|
||||||
my $extension = shift;
|
|
||||||
my($tmphandle,$tmpname) = tempfile(TEMPLATE => 'loffXXXX', SUFFIX => ".svg");
|
|
||||||
print $tmphandle q{<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
|
|
||||||
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
|
||||||
<svg viewBox="0 0 21000 29700">
|
|
||||||
</svg>
|
|
||||||
};
|
|
||||||
close $tmphandle;
|
|
||||||
system(qw(unoconv -d graphics -f), $extension, '-o', $file, $tmpname);
|
|
||||||
unlink $tmpname;
|
|
||||||
}
|
|
||||||
|
|
Loading…
Reference in a new issue