From 787c137b8ac949dd07655e2d86ec053f7a1a4aba Mon Sep 17 00:00:00 2001 From: Ole Tange Date: Sat, 6 May 2023 09:16:04 +0200 Subject: [PATCH] Loffice: Much simpler solution: Simply touch the file. --- Loffice/Loffice | 76 +++---------------------------------------------- 1 file changed, 4 insertions(+), 72 deletions(-) diff --git a/Loffice/Loffice b/Loffice/Loffice index ee66549..c06d0c8 100755 --- a/Loffice/Loffice +++ b/Loffice/Loffice @@ -1,76 +1,8 @@ #!/usr/bin/perl -# If argument does not exist: Create a new file of the given type - -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); -} +# If argument does not exist: Create a new file +my @files = grep { not /^-/ } @ARGV; +my @newfiles = grep { not -e $_ } @files; +@newfiles and system("touch",@newfiles); 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{ - - - - - - - - }; - 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{ - - - - }; - close $tmphandle; - system(qw(unoconv -d graphics -f), $extension, '-o', $file, $tmpname); - unlink $tmpname; -}