Prty
view release on metacpan or search on metacpan
lib/Prty/ImagePool.pm view on Meta::CPAN
# -----------------------------------------------------------------------------
sub directory {
my ($self,$name) = @_;
# Directory-Namen auf den Anfang 'YYYY-MM-DD-X' reduzieren
($name) = $name =~ /^(\d{4}-\d{2}-\d{2}-[A-Z])/;
if (!$name) {
$self->throw;
}
return $self->{'directoryH'}->{$name} //= do {
my $pattern = sprintf '%s/dir/%s*',$self->root,$name;
my $path = Prty::Path->glob($pattern);
Prty::ImagePool::Directory->new($path);
};
}
# -----------------------------------------------------------------------------
=head2 Cache
=head3 cacheFile() - Generiere Pfad einer Cache-Datei
=head4 Synopsis
$path = $ipl->cacheFile($img,$op,@args);
=head4 Arguments
=over 4
=item $op
Bezeichner für die angewendete Bild-Operation.
=item @args
Argumente für die Bild-Operation.
=back
=head4 Description
Generiere einen Cache-Pfad für Bild $img und Bild-Operation $op
mit den Argumenten @args und liefere diesen zurück.
=cut
# -----------------------------------------------------------------------------
sub cacheFile {
my $self = shift;
my $img = shift;
# @_: @args
my $cacheId;
my $basename = $img->basename;
my @path = split m|/|,$self->path;
if ($path[-2] eq 'img') {
$cacheId = "$path[-3]/$basename"; # Subdirectoy-Path
}
else {
$cacheId = "$path[-2]/$basename"; # Cache-Path
}
my $file = $self->root('cache/img');
$file .= sprintf '/%s,%s.%s',$cacheId,join('-',@_),$img->type;
return $file;
}
# -----------------------------------------------------------------------------
=head2 Bilder
=head3 images() - Bilder gemäà Suchkriterium
=head4 Synopsis
@images|$imageA = $ipl->images($key,@opt);
=head4 Arguments
=over 4
=item $key
Bezeichner Bild-Sequenz.
=back
=head4 Options
=over 4
=item -count => $n (Default: 0 = keine Beschränkung)
Liefere maximal $n Bilder.
=back
=cut
# -----------------------------------------------------------------------------
sub images {
my ($self,$key) = @_;
# Optionen
my $count = 0;
Prty::Option->extract(\@_,
-count=>\$count,
);
my @images;
( run in 1.073 second using v1.01-cache-2.11-cpan-71847e10f99 )