aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog7
-rw-r--r--META.yml2
-rw-r--r--README6
-rw-r--r--TODO33
-rwxr-xr-xrenrot55
-rw-r--r--renrot.spec2
6 files changed, 58 insertions, 47 deletions
diff --git a/ChangeLog b/ChangeLog
index 984d555..5f92f14 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,4 +1,10 @@
$Log$
+Revision 1.59 2006/05/06 07:32:14 andy
+Minor changes of documentation. Removing trailing spaces.
+Restructure TODO.
+Add -q option for suppressing process messages.
+Release 0.16.2.
+
Revision 1.58 2006/05/05 21:31:38 zeus
TODO item added
@@ -213,4 +219,3 @@ Id keyword is added to renrot file.
Revision 1.1 2005/10/17 13:39:38 zeus
ChangeLog file is added. Its the very begining.
-
diff --git a/META.yml b/META.yml
index 025f886..e201ad1 100644
--- a/META.yml
+++ b/META.yml
@@ -1,7 +1,7 @@
# http://module-build.sourceforge.net/META-spec.html
#XXXXXXX This is a prototype!!! It will change in the future!!! XXXXX#
name: renrot
-version: 0.16.1
+version: 0.16.2
version_from: renrot
installdirs: site
requires:
diff --git a/README b/README
index 16a317a..31c234f 100644
--- a/README
+++ b/README
@@ -7,7 +7,7 @@ For prevent incorrect associations some explanations are needed here. The name
of project is short form of 'REName and ROTate' and no other interpretation
will be used.
-Renrot is intended to work only in current directory with all files of the
+RenRot is intended to work only in current directory with all files of the
extension, specified after --ext. You can change the behaviour by specifying
--work-directory option.
@@ -18,7 +18,7 @@ direct name to EXIF data (the date, id or shooting details such as
WhiteBalance, ISO e.t.c.). For further information, please, see applied
manual.
-Renrot rotates file and its thumbnail, according to EXIF tag Orientation. If
+RenRot rotates file and its thumbnail, according to EXIF tag Orientation. If
the tag is absent or miss set, than the script allows to rotate the file as
well as it's thumbnail "by hands".
@@ -28,7 +28,7 @@ Furthermore, the script can put a comment to:
Personal data could be specified via XMP tags defined in configuration file.
-In addition renrot can aggregate all files in directories according the given
+In addition RenRot can aggregate all files in directories according the given
date/time pattern template, set with --aggr-template.
WHY RenRot?
diff --git a/TODO b/TODO
index 45eac8d..9891b14 100644
--- a/TODO
+++ b/TODO
@@ -6,23 +6,27 @@ TODO SEMANTICS
? needs to be checked
-TODO LIST
+EXIF tags
-- to write to some EXIF tag sometning like "Processed with renrot"
+- to write to some tag sometning like "Processed with RenRot"
-- to implement work with separate files rather than with whole directory
+? to write to some tag the options passed to renrot
-+ to implement possibility to add patterns for file naming ( to make it
- possible to name files in a different ways, YYYYMMDDHHmmSS, YYMMDDHHmmSS
- e.t.c.)
++- to review XMP tags related code
-+- to complete verbose output option implementation
-? UTF8fy (comments, tags, ...)
+Disk I/O
+
+- to implement work with separate files rather than with whole directory
- decrease disk IO operations as possible
-+- to review XMP tags related code
+
+File naming
+
++ to implement possibility to add patterns for file naming ( to make it
+ possible to name files in a different ways, YYYYMMDDHHmmSS, YYMMDDHHmmSS
+ e.t.c.)
- to implement aggregation option ( to aggregate large bundle of files
according the different time intervals, perhapse with some kind of
@@ -32,6 +36,15 @@ TODO LIST
the files number in the directory to process, i mean 0xx for the number
less than 100, e.t.c.
+
+Verbosity
+
++- to complete verbose output option implementation
+
? to implement progress indicator or spinning indicator
-? to write to some EXIF tag the options passed to renrot
+
+Other
+
+? UTF8fy (comments, tags, ...)
+
diff --git a/renrot b/renrot
index 3fa6e61..f705596 100755
--- a/renrot
+++ b/renrot
@@ -11,7 +11,7 @@ use Time::Local;
use Image::ExifTool;
use Getopt::Long;
-our $VERSION = "0.16.1"; # the version of this script
+our $VERSION = "0.16.2"; # the version of this script
my $noRotation; # no rotation needed, default is to rotate
my $rotate; # define the angle, to rotate on, 90 or 270
@@ -26,10 +26,16 @@ my $usageOutput = 0; # flag to show the usage
my $configFile; # config file
my $comfile; # file with commentary
my $verbose = 0; # verbosity of output
+my $quiet = 0; # suppressing messages
my $dir = "."; # we'll work ONLY in current directory
my $mtime; # to set mtime
our $mTime; # mtime to use to set
+# processing message
+sub procmsg {
+ print @_ if ($quiet == 0);
+}
+
# information message
sub infomsg {
print STDERR @_;
@@ -76,6 +82,7 @@ sub getopt {
"mtime" => \$mtime,
"config-file|c=s" => \$configFile,
"v+" => \$verbose,
+ "q" => \$quiet,
"version" => \$ver,
"help|?" => \$help);
@@ -201,7 +208,7 @@ while ( defined ( $file = readdir DIR )) {
our $anglesuffix; # the suffix to add to the end of the rotated files 90cw or 270cw
foreach $file ( @files ) {
- print "Processing file: $file ...\n";
+ procmsg ("Processing file: $file ...\n");
# Setup defaults
$info = $exifTool->ImageInfo($file);
@@ -259,7 +266,7 @@ foreach $file ( @files ) {
$newfilename = sprintf("%s.%.4d",$newfilename,$filecounter);
}
$filenameshash{$newfilename} = 1;
-
+
$newfilename = sprintf("%s.%s", $newfilename, $extentionToProcessLowCase);
if ( $file ne $newfilename ) {
@@ -268,7 +275,7 @@ foreach $file ( @files ) {
}
rename ( $file, $newfilename )
|| ( fatalmsg ("Unable to rename $file -> $newfilename.\n"), die );
- print "Renamed: $file -> $newfilename\n";
+ procmsg ("Renamed: $file -> $newfilename\n");
}
else { warnmsg ("No renaming needed for $newfilename, it looks as needed!\n"); }
}
@@ -346,7 +353,7 @@ foreach $file ( @files ) {
dbgmsg (2, "main(): Changing mtime for $newfilename ok.\n");
}
- print "\n";
+ procmsg ("\n");
$filecounter++;
}
@@ -357,7 +364,7 @@ closedir(DIR);
# file aggregation if requested
#
if ( defined $aggrTemplate ) {
- infomsg ("NOW IS FILE AGGREGATION\n=======================\n\n");
+ procmsg ("NOW IS FILE AGGREGATION\n=======================\n");
$filecounter=1;
foreach $file ( sort ( keys %filenameshash ) ) {
$file .= ".jpg";
@@ -366,9 +373,10 @@ if ( defined $aggrTemplate ) {
if ( not -d $newfilename ) {
unless ( mkdir $newfilename ) { errmsg ("$newfilename wasn't created!\n"); }
}
- infomsg ( "$file has been aggregated to the directory $newfilename\n" );
+ procmsg ( "$file has been aggregated to the directory $newfilename\n" );
$newfilename .= "/" . $file;
rename ( $file, $newfilename ) || ( fatalmsg ("$file -> $newfilename\n"), die );
+ procmsg ("\n");
$filecounter++;
}
}
@@ -435,7 +443,7 @@ sub getTimestamp {
$timestamp = timeNow();
warnmsg ("EXIF timestamp isn't correct, using timeNow()!\n");
}
-
+
return $timestamp;
}
@@ -687,7 +695,7 @@ renrot [OPTIONS]
B<RenRot> is intended to work ONLY in current directory. You can change the
behaviour by specifying B<--work-directory> option.
-Renrot renames files according the DateTimeOriginal and FileModifyDate EXIF
+RenRot renames files according the DateTimeOriginal and FileModifyDate EXIF
tags, if they exist. Otherwise, the name will be set according to the current
time stamp and will look as YYYYmmddHHMMSS.XXXX.jpg, where XXXX is whether file
ID, if exists in EXIF (as for Canon) or incremental suffix to the name
@@ -710,7 +718,7 @@ The script can also put commentary into:
Personal details can be specified via XMP tags defined in a configuration
file, look L<CONFIG> section.
-In addition renrot can aggregate all files in directories according the given
+In addition RenRot can aggregate all files in directories according the given
date/time pattern template, set with B<--aggr-template>.
=head1 OPTIONS
@@ -727,8 +735,8 @@ location of the configuration file
=item B<-v>
-one or more I<-v> sets debug level. from 1 to 4 - internal levels,
-5 till 9 - equal to 1-5 levels for ExifTool plus maximum verbosity for renrot
+one or more I<-v> sets debug level. from 1 to 4 - internal levels,
+5 till 9 - equal to 1-5 levels for ExifTool plus maximum verbosity for renrot.
=item B<--work-directory> I<DIR>
@@ -811,25 +819,10 @@ B<%y> last two digits of year (00..99)
=item B<--aggr-template> I<Aggregation TEMPLATE>
-template, which is used for file aggregation. Aggragation fulfils according date/time patterns.
-
-=over
-
-B<%d> day of the month (01-31)
-
-B<%H> hour (00-23)
-
-B<%M> minute (00-59)
-
-B<%m> month (01-12)
-
-B<%S> second (00-59)
-
-B<%Y> year (1900, 1901, and so on)
-
-B<%y> last two digits of year (00..99)
-
-=back
+template, which is used for file aggregation. Aggregation fulfils according
+date/time patterns. You may use combination of B<%d>, B<%H>, B<%M>, B<%m>,
+B<%S>, B<%Y>, and/or B<%y> keys. For detailed description, please, turn to
+B<--name-template> option.
=back
diff --git a/renrot.spec b/renrot.spec
index 44fb2a7..97c1a50 100644
--- a/renrot.spec
+++ b/renrot.spec
@@ -1,5 +1,5 @@
Name: renrot
-Version: 0.16.1
+Version: 0.16.2
Release: 1%{?dist}
License: GPL or Artistic
Group: Applications/Multimedia

Return to:

Send suggestions and report system problems to the System administrator.