From ed6157d260c535a0e76efbda3ce94fba304245f1 Mon Sep 17 00:00:00 2001 From: Kilian Saffran Date: Sun, 3 Mar 2019 19:35:05 +0100 Subject: [PATCH] fm sql export changes --- bin/fmtosqlite.pl | 25 ++++++++++++++++--------- bin/syncfolder.pl | 1 + 2 files changed, 17 insertions(+), 9 deletions(-) diff --git a/bin/fmtosqlite.pl b/bin/fmtosqlite.pl index fb96c28..cf8f000 100644 --- a/bin/fmtosqlite.pl +++ b/bin/fmtosqlite.pl @@ -1,13 +1,15 @@ #!/usr/bin/env perl -use strict; +use strict; use Getopt::Long; use File::Basename; use Data::Dumper; use Encode; -my $file = "/Users/kilian/Documents/passcodes.htm"; -my $dbfile = ""; -#GetOptions("file|f=s" => \$file, "database|db=s" => \$dbfile); +use Getopt::Long; +my $file = ""; +my $outfile = ""; +#my $dbfile = ""; +GetOptions("infile|i=s" => \$file, "outfile|o=s" => \$outfile); my $fdata = ""; open (FF,$file); @@ -19,7 +21,7 @@ while (my $l = ){ $fdata .= $l; } close(FF); -print $fdata; +#print $fdata; $fdata =~ s/
<\/TD>/<\/TD>/g; my ($tbl) = $fdata =~ m/.*(.*)<\/TABLE>.*/; $tbl =~ s/^//; @@ -38,16 +40,20 @@ foreach my $d (@strdata){ my @rdata = &getdataarray($d); push (@rows,\@rdata); } -#print Dumper(@rows); +print Dumper(@rows); #print Dumper(@cols); -print &tableddl($tablename,\@cols); +open (FOUT,">".$outfile); +print FOUT &tableddl($tablename,\@cols); + foreach my $r (@rows){ my @nr = (); foreach my $d (@{$r}){ if ($d eq ""){$d = 'null';} - elsif ($d =~ /\d\d\/\d\d\/\d\d\d\d\s+\d\d:\d\d:\d\d$/){ + elsif ($d =~ /^\d\d\/\d\d\/\d\d\d\d\s+\d\d:\d\d:\d\d$/){ my ($c,$m,$y,$h,$n,$s) = $d =~ m/(\d\d)\/(\d\d)\/(\d\d\d\d)\s+(\d\d):(\d\d):(\d\d)/; $d = "datetime('".$y.'-'.$m.'-'.$c.' '.$h.':'.$n.':'.$s."')"; + }elsif ($d =~ /^\d+,\d+$/){ + $d =~ s/,/./; }else { $d =~ s/\r$//; $d =~ s/\n$//; @@ -57,8 +63,9 @@ foreach my $r (@rows){ } my $sql = "INSERT INTO ".$tablename." (".join(',',@cols).") VALUES (".join(",",@nr).");"; print $sql."\n"; + print FOUT $sql."\n"; } - +close(FOUT); sub getheaderarray(){ diff --git a/bin/syncfolder.pl b/bin/syncfolder.pl index 03ee2b9..1bde6bf 100644 --- a/bin/syncfolder.pl +++ b/bin/syncfolder.pl @@ -23,4 +23,5 @@ if ($path ne ""){ system($terminalcmd); } + -- 2.39.5