mod-AutoShuttersControl/hooks/pre-commit

54 lines
1.9 KiB
Perl
Executable File

#!/usr/bin/perl -w
use File::Basename;
use POSIX qw(strftime);
use strict;
my @filenames = ( 'FHEM/73_AutoShuttersControl.pm',
'lib/FHEM/Automation/ShuttersControl.pm',
'lib/FHEM/Automation/ShuttersControl/Dev.pm',
'lib/FHEM/Automation/ShuttersControl/Roommate.pm',
'lib/FHEM/Automation/ShuttersControl/Shutters.pm',
'lib/FHEM/Automation/ShuttersControl/Shading.pm',
'lib/FHEM/Automation/ShuttersControl/EventProcessingFunctions.pm',
'lib/FHEM/Automation/ShuttersControl/Helper.pm',
'lib/FHEM/Automation/ShuttersControl/Window.pm',
'lib/FHEM/Automation/ShuttersControl/Dev/Attr.pm',
'lib/FHEM/Automation/ShuttersControl/Dev/Readings.pm',
'lib/FHEM/Automation/ShuttersControl/Shutters/Attr.pm',
'lib/FHEM/Automation/ShuttersControl/Shutters/Readings.pm',
'lib/FHEM/Automation/ShuttersControl/Window/Attr.pm',
'lib/FHEM/Automation/ShuttersControl/Window/Readings.pm',
'lib/FHEM/Automation/ShuttersControl/Rainprotection.pm'
);
my $controlsfile = 'controls_AutoShuttersControl.txt';
open(FH, ">$controlsfile") || return("Can't open $controlsfile: $!");
for my $filename (@filenames) {
my @statOutput = stat($filename);
if (scalar @statOutput != 13) {
printf 'error: stat has unexpected return value for ' . $filename . "\n";
next;
}
my $mtime = $statOutput[9];
my $date = POSIX::strftime("%Y-%m-%d", localtime($mtime));
my $time = POSIX::strftime("%H:%M:%S", localtime($mtime));
my $filetime = $date."_".$time;
my $filesize = $statOutput[7];
printf FH 'UPD ' . $filetime . ' ' . $filesize . ' ' .$filename . "\n";
}
close(FH);
system("git add $controlsfile");
print 'Create controls File succesfully' . "\n";
exit 0;