Image-Synchronize

 view release on metacpan or  search on metacpan

META.json  view on Meta::CPAN

      "configure" : {
         "requires" : {
            "ExtUtils::MakeMaker" : "0"
         }
      },
      "runtime" : {
         "requires" : {
            "Clone" : "0",
            "IO::Interactive" : "0",
            "Image::ExifTool" : "10.14",
            "Modern::Perl" : "0",
            "Path::Class" : "0",
            "Path::Iterator::Rule" : "0",
            "Term::ProgressBar" : "0",
            "Text::Glob" : "0",
            "Time::Local" : "1.30",
            "XML::Twig" : "0",
            "YAML::Any" : "0"
         }
      }
   },

META.yml  view on Meta::CPAN

  version: '1.4'
name: Image-Synchronize
no_index:
  directory:
    - t
    - inc
requires:
  Clone: '0'
  IO::Interactive: '0'
  Image::ExifTool: '10.14'
  Modern::Perl: '0'
  Path::Class: '0'
  Path::Iterator::Rule: '0'
  Term::ProgressBar: '0'
  Text::Glob: '0'
  Time::Local: '1.30'
  XML::Twig: '0'
  YAML::Any: '0'
resources:
  bugtracker: https://github.com/LouisStrous/p5-Image-Synchronize/issues
  repository: https://github.com/LouisStrous/p5-Image-Synchronize.git

Makefile.PL  view on Meta::CPAN

# See lib/ExtUtils/MakeMaker.pm for details of how to influence
# the contents of the Makefile that is written.
WriteMakefile(
    NAME              => 'Image::Synchronize',
    VERSION_FROM      => 'lib/Image/Synchronize.pm', # finds $VERSION, requires EU::MM from perl >= 5.5
    EXE_FILES => [ 'bin/imsync' ],
    PREREQ_PM         => {
                          'Clone' => 0,
                          'IO::Interactive' => 0,
                          'Image::ExifTool' => '10.14',
                          'Modern::Perl' => 0,
                          'Path::Class' => 0,
                          'Path::Iterator::Rule' => 0,
                          'Term::ProgressBar' => 0,
                          'Text::Glob' => 0,
                          'Time::Local' => '1.30',
                          'XML::Twig' => 0,
                          'YAML::Any' => 0,
                         },
    CONFIGURE_REQUIRES => {
        'ExtUtils::MakeMaker' => '0',

bin/imsync  view on Meta::CPAN

=head1 DEPENDENCIES

This application uses the following non-core Perl modules:

=over

=item L<IO::Interactive>

=item L<Image::ExifTool> version 10.14 or up

=item L<Modern::Perl>

=item L<Path::Class>

=item L<Path::Iterator::Rule>

=item L<Term::ProgressBar>

=item L<XML::Twig>

=item L<YAML::Any>

lib/Image/Synchronize.pm  view on Meta::CPAN

package Image::Synchronize;

use Modern::Perl;

=head1 NAME

Image::Synchronize - a module for synchronizing filesystem
modification timestamps of images, movies, and related files.

=head1 SYNOPSIS

  use Image::Synchronize;

lib/Image/Synchronize/CameraOffsets.pm  view on Meta::CPAN


Image::Synchronize::CameraOffsets - Manage time offsets for a range of
times

=head1 METHODS

The module provides the following methods:

=cut

use Modern::Perl;

use Carp;
use Clone;
use Image::Synchronize::Timestamp;
use Scalar::Util qw(
  looks_like_number
);
use Time::Local qw(
  timegm
);

lib/Image/Synchronize/GpsPositionCollection.pm  view on Meta::CPAN

package Image::Synchronize::GpsPositionCollection;

use Modern::Perl;

#use parent 'Exporter';

use Carp;
use Image::Synchronize::Timerange;
use Scalar::Util qw(
  looks_like_number
);
use YAML::Any qw(
  Dump

lib/Image/Synchronize/GroupedInfo.pm  view on Meta::CPAN

package Image::Synchronize::GroupedInfo;

use Modern::Perl;

use overload '""' => \&stringify;

use Carp;

=head1 NAME

Image::Synchronize::GroupedInfo - a data collection in support of
Image::Synchronize

lib/Image/Synchronize/Timerange.pm  view on Meta::CPAN


=head2 Modify

  $r->set_from_text($text);     # replace old value
  $r->adjust_timezone_offset($offset);

=head1 METHODS

=cut

use Modern::Perl;

use Carp;
use Clone qw(clone);
use Image::Synchronize::Timestamp;
use Scalar::Util qw(blessed looks_like_number);

use parent qw(Clone);

use overload
  '='   => \&clone,

lib/Image/Synchronize/Timestamp.pm  view on Meta::CPAN

  $t->adjust_to_utc;
  $t->set_timezone_offset($offset); # keep clock time, replace timezone
  $t->remove_timezone;
  $t->adjust_nodate;            # reinterpret without date
  $t->adjust_todate;            # reinterpret with date

=head1 SUBROUTINES/METHODS

=cut

use Modern::Perl;

use Carp;
use Clone qw(clone);
use Scalar::Util qw(blessed looks_like_number);
use Time::Local v1.30 qw(timegm_modern timelocal_modern);

use parent qw(Clone);
# Clone provides a 'clone' member

use overload

t/Image-Synchronize-CameraOffsets.t  view on Meta::CPAN

#!/usr/bin/perl -w
use Modern::Perl;

use Image::Synchronize::CameraOffsets;
use Image::Synchronize::Logger qw(log_message set_printer);
use Image::Synchronize::Timestamp;
use Test::More;
use YAML::Any qw(Dump Load);

sub t {
  Image::Synchronize::Timestamp->new($_[0]);
}

t/Image-Synchronize-GpsPositionCollection.t  view on Meta::CPAN

#!/usr/bin/perl -w
use Modern::Perl;
use Image::Synchronize::GpsPositionCollection;
use Test::More;
use YAML::Any qw(Dump);

my @data = ( 3, 7, 9, 14, 33, 51, 78, 79, 85 );

sub get {
  return $data[ $_[0] ];
}

t/Image-Synchronize-Timerange.t  view on Meta::CPAN

use Modern::Perl;

use Image::Synchronize::Timerange;
use Image::Synchronize::Timestamp;
use Test::More;
use Time::Local qw(timegm);

ok( not(defined Image::Synchronize::Timerange->new('20170614T00/11:56')),
    'bad format' );
is(
  Image::Synchronize::Timerange->new('2017-06-14T00/11:56')->stringify,

t/Image-Synchronize-Timestamp.t  view on Meta::CPAN

#!/usr/bin/perl
use Modern::Perl;

use Scalar::Util qw(refaddr looks_like_number);
use Test::More;
use Time::Local qw(timegm_modern timelocal_modern);
use Image::Synchronize::Timestamp;

sub parse_components_ {
  Image::Synchronize::Timestamp::parse_components_(@_);
}

t/Image-Synchronize.t  view on Meta::CPAN

# -*- perl -*-
use Modern::Perl;

use Carp;
use Image::Synchronize qw(normalize_options);
use Image::Synchronize::GroupedInfo;
use Image::Synchronize::Logger;
use Image::Synchronize::Timestamp;
use Test::More;
use YAML::Any qw(Dump Load);

# We need to mock the timezone offset of the local system, because it



( run in 0.577 second using v1.01-cache-2.11-cpan-a5abf4f5562 )