]> Sergey Matveev's repositories - torn.git/blobdiff - torn
Raise copyright years
[torn.git] / torn
diff --git a/torn b/torn
index 2fe88def679854e774c3a5b9f1d3e1fdd4f19af2..b85b2697e33a5904abfe3d1cf5c52163c5b84a14 100755 (executable)
--- a/torn
+++ b/torn
@@ -1,6 +1,6 @@
 #!/usr/bin/env perl
 # torn - Musical files renaming with russian language transliteration
-# Copyright (C) 2007-2020 Sergey Matveev (stargrave@stargrave.org)
+# Copyright (C) 2007-2021 Sergey Matveev (stargrave@stargrave.org)
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -59,7 +59,7 @@ use Encode;
 
 binmode STDOUT, ":utf8";
 
-my $VERSION = "0.9";
+my $VERSION = "0.10";
 
 my $src;
 my $dst;
@@ -76,6 +76,7 @@ opendir DIR, "." or die "Can not open directory\n";
 foreach (sort readdir DIR) {
     # Skip directory itself
     next if /^\.{1,2}$/;
+    next if -d;
 
     $src_filename = $_;
     $src = decode "utf-8", $src_filename;
@@ -111,18 +112,18 @@ foreach (sort readdir DIR) {
     $dst =~ s/Ю/Ju/g;
 
     # Lowercase file extensions
-    if($dst =~ /^(.*)\.([^\.]+)$/){
+    if ($dst =~ /^(.*)\.([^\.]+)$/) {
         $dst = $1 . "." . lc $2;
     };
 
     # Change looking of track numbers
-    # And renaming itself
-    if($dst =~ /^(\d+)\-(.+)$/){
-        print "$src -> $1.$2\n";
-        rename $src_filename, "$1.$2";
-    } else {
-        print "$src -> $dst\n";
-        rename $src_filename, $dst;
+    if ($dst =~ /^(\d+)[-.]_*(.+)$/) {
+        $dst = "$1.$2";
     };
+
+    next if ($src_filename eq $dst);
+    print "$src -> $dst\n";
+    die "\"$dst\" exists" if -e $dst;
+    rename $src_filename, $dst;
 };
 closedir DIR;