[ale] "motion" and snapshots?

Geoffrey esoteric at 3times25.net
Wed Apr 7 22:06:26 EDT 2004


Robert L. Harris wrote:
> 
> I know Geoff and a couple others are playing with "motion".  I just
> got a new webcam and it's actually supported.  Getting motion up and
> online was quick and I love the built in web server.  So far the only
> problem I've got is the snapshots are saved in 
> <prefix>/2004/04/08/21/22/snapshot.jpg  format instead of somethign
> like /prefix/200404082122.jpg which makes poking through a history
> much simpler.  Anyone found a way to manage something like this?

I've got a perl script around here that does a conversion like this, let 
me look around...... Ah, here it is!  It's ugly, it's old, it uses 
static directory values, feel free to hack away at it.  Hope it helps!

-- 
Until later, Geoffrey                     Registered Linux User #108567
Building secure systems in spite of Microsoft
-------------- next part --------------
#!/usr/bin/perl

# use diagnostics;
use strict;

my ($nfn, $fn, @parts, %newdir, %newfn, $i, $key, $value, %file, @df, @data);

chdir "/home/esoteric/watch" || die "died attempting to chdir";

my @files = `find . -name '*.jpg' -print`;

printf "files to move: %s\n", $#files + 1;

my @pre_df=`df /home/esoteric/store`;

foreach $fn (@files) {

	# parse through each file name, and build the new filename
	# and directory name the file will reside

	chomp $fn;
	@parts = split ("/", $fn);
	$file{$fn} = $parts[0];
	$newdir{$fn} = "/home/esoteric/store/archive/" .
		substr($parts[1], 2, 2) .  $parts[2] . $parts[3];
	$newfn{$fn} = $parts[4] . $parts[5] . substr($parts[6], 0, 2);

	for ($i = 1; $i < $#parts; $i++) {
		$file{$fn} = $file{$fn} . "/" . $parts[$i];
	}
}

my $count=0;

while (($key, $value) = each %file) { $count++; }

printf "files to move: %s\n", $count;

$count=0;
while (($key, $value) = each %file) {

	# create the directory if it does not exist

	if ( ! -d $newdir{$key} ) { mkdir $newdir{$key}; }

	# insure unique file names

	$nfn=$newdir{$key} . "/" . $newfn{$key} . ".jpg";

	while ( -e $nfn ) {
		printf "Found a duplicate <%s> and <%s>\n", $nfn, $newfn{$key};
		print "Changing file name";
		$nfn=$newdir{$key} . "/" . $newfn{$key} . "a.jpg";
	}

	# printf "moving %s to %s\n", $key, $nfn;
	`/bin/mv $key $nfn`;
	if ( ! -e $nfn ) { die "file doesn't exist, mv failed\n" }
	# if ( $? != 0 ) {die "mv $key $nfn failed ($?)";}
	$count++;
}
print "files moved: $count\n";

# $list=`find * -type d -depth -print`;
# print "list of directories located: $list\n";
`find * -type d -depth -print |xargs rmdir`;

@df=`df /home/esoteric/store`;
@data = split " ", $df[1];
$data[4] =~ s/%//;
print $pre_df[1];
print $df[1];
 if ( $data[4] > 98 ) {
 	`/home/esoteric/shl/dosound /home/esoteric/sounds/intercom.au`;
}
exit;



More information about the Ale mailing list