diff --git a/phosta.pl b/phosta.pl
index c70f420a07d2e654c815e1fa5a1c1a336af1861e..e39c7555459b6bfe7e20dfc88f96a601beebe114 100755
--- a/phosta.pl
+++ b/phosta.pl
@@ -19,7 +19,7 @@ use File::HomeDir;
$Getopt::Std::STANDARD_HELP_VERSION = 'true';
-my $VERSION = '0.5';
+my $VERSION = '0.6';
my $PROGRAM = 'Photo Stats';
my $configfile = catfile(File::HomeDir->my_home, '.phosta.conf');
@@ -57,7 +57,7 @@ {
my @group_params = ('year', 'month', 'week', 'hour', '');
if ( ! ($opt_g ~~ @group_params) ) { return 0; }
foreach (split (/,/, $opt_s))
{
if ( ! ($_ ~~ @select_params) ) { return 0; }
@@ -87,7 +87,7 @@ {
my ($dbfile) = @_;
my $dbh = DBI->connect($dsn, '', '', { RaiseError => 1 }) or die $DBI::errstr;
my $rv = $dbh->do($stmt);
}
@@ -97,7 +97,7 @@ my ($destination_dir) = @_;
say "Scanning $destination_dir for images...";
my @lines = qx($cmd);
my $dbh = DBI->connect($dsn, '', '', { RaiseError => 1 }) or die $DBI::errstr;
@@ -106,16 +106,21 @@ my $emptycount = 0;
foreach (@lines)
{
chomp $_;
my ($file, $maker, $model, $lens, $lensmodel, $fl, $fl35, $apert, $exposuretime, $iso, $flash, $datetimeoriginal) = split(/#/, $_);
my ($file, $maker, $model, $lensmake, $lens, $lensmodel, $fl, $fl35, $apert, $exposuretime, $ss, $iso, $flash, $datetimeoriginal) = split(/#/, $_);
my @forbidden_content = ('Unknown', 'N/A', '-', '');
#if ($model eq '-') { $emptycount++; next; }
if ($model eq '-') { $emptycount++; next; }
$lens = ($lens ne '-') ? $lens : $lensmodel;
if ( $maker ~~ @forbidden_content) { $maker = '-'; }
if ( $model ~~ @forbidden_content) { $model = '-'; }
$lens = ($lens ~~ @forbidden_content) ? $lensmodel : $lens;
if ( $lens ~~ @forbidden_content) { $lens = '-'; }
$apert = ($apert ne '-') ? sprintf("%.1f", $apert) : $apert;
$exposuretime = (looks_like_number($exposuretime) && $exposuretime < 1) ? "1/". POSIX::lround(1/$exposuretime) : $exposuretime;
if ($datetimeoriginal eq '0000:00:00 00:00:00') { $datetimeoriginal = '-'; }
my $stmt = "INSERT OR REPLACE INTO photos (file, maker, model, lens, focallength, focallength35mm, aperture, exposuretime, iso, flash, datetimeoriginal)
VALUES ('$file', '$maker', '$model', '$lens', '$fl', '$fl35', '$apert', '$exposuretime', '$iso', '$flash', '$datetimeoriginal')";
my $stmt = "INSERT OR REPLACE INTO photos (file, maker, model, lensmake, lens, focallength, focallength35mm, aperture, exposuretime, iso, flash, datetimeoriginal)
VALUES ('$file', '$maker', '$model', '$lensmake', '$lens', '$fl', '$fl35', '$apert', '$exposuretime', '$iso', '$flash', '$datetimeoriginal')";
my $rv = $dbh->do($stmt) or $errorcount++;
}
$dbh->disconnect();
@@ -253,7 +258,7 @@ say 'stats querying:';
say ' -g : group by time range, defaults to total (which means no grouping by time range)';
say ' allowed values: year, month, week, hour';
say ' -s : specify the information you want to select, defaults to none (just show number of images)';
say ' multiple fields should be listed comma-separated';
say ' -t <range> : only take images into account which have been taken in the given timerange';
say ' <range> must be specified as \'YYYYMMDD-YYYYMMDD\', you can omit one value';
text/gemini
This content has been proxied by September (3851b).