WIP new file scan util
This commit is contained in:
parent
f05781e875
commit
ed1b062420
58
utils/newfilescan/newfilescan.pl
Executable file
58
utils/newfilescan/newfilescan.pl
Executable file
@ -0,0 +1,58 @@
|
||||
#!/usr/bin/env perl
|
||||
|
||||
use Time::Local;
|
||||
use DBI;
|
||||
use strict;
|
||||
|
||||
if ($#ARGV) {
|
||||
print "Usage ./newfilescan.pl filedb\n";
|
||||
exit(0);
|
||||
}
|
||||
|
||||
my $database = $ARGV[0];
|
||||
|
||||
my $driver = "SQLite";
|
||||
my $dsn = "DBI:$driver:dbname=$database";
|
||||
my $userid = "";
|
||||
my $password = "";
|
||||
my $dbh = DBI->connect($dsn, $userid, $password, { RaiseError => 1 })
|
||||
or die $DBI::errstr;
|
||||
|
||||
my $timestamp = timelocal(0, 0, 0, (localtime)[3,4,5]);
|
||||
my $sth = $dbh->prepare('SELECT filename, description, size FROM files WHERE uploaddate > $1');
|
||||
my $rv = $sth->execute($timestamp) or die $DBI::errstr;
|
||||
|
||||
my $result;
|
||||
|
||||
while ($result = $sth->fetchrow_hashref()){
|
||||
my $fname = $result->{filename};
|
||||
my $desc = $result->{description};
|
||||
my $size = $result->{size};
|
||||
|
||||
my @lines = split(/\n/, $desc);
|
||||
my $sizech;
|
||||
|
||||
if ($size > 1024) {
|
||||
$size = $size / 1024;
|
||||
$sizech = 'k';
|
||||
}
|
||||
|
||||
if ($size > 1024) {
|
||||
$size = $size / 1024;
|
||||
$sizech = 'M';
|
||||
}
|
||||
|
||||
if ($size > 1024) {
|
||||
$size = $size / 1024;
|
||||
$sizech = 'G';
|
||||
}
|
||||
my @fnameparts = split(/\//, $fname);
|
||||
|
||||
printf "%-25.25s %6d%s %-45.45s\n", $fnameparts[$#fnameparts], $size, $sizech, $lines[0];
|
||||
my $i;
|
||||
for ($i = 1; $i <= $#lines; $i++) {
|
||||
printf " %-45.45s\n", $lines[$i];
|
||||
}
|
||||
|
||||
printf "\n";
|
||||
}
|
Reference in New Issue
Block a user