Prty

 view release on metacpan or  search on metacpan

lib/Prty/ApplicationPaths.pm  view on Meta::CPAN

        # Denn getcwd liefert den realen Pfad und beinhaltet keine Symlinks.
        # Wenn <version> ein Symlink ist, erscheint der reale Name im Pfad.

        $path =~ s|^./||;
        $path = sprintf '%s/%s',Cwd::getcwd,$path;
    }

    # HomeDir bestimmen, indem wir das Programm und $depth
    # Verzeichnisse darüber vom Pfad entfernen
 
    my @path = split m|/|,$path;
    splice @path,-($depth+1);
    my $homeDir = join '/',@path;

    # <application> ist die letzte Pfadkomponente

    my ($application,$etcPath,$varPath);
    $application = pop @path;

    # <prefix> erhalten wir nach dem Entfernen des
    # Verzeichnisses oberhalb von <application>

lib/Prty/File/Video.pm  view on Meta::CPAN

        my ($bitrate) = $xml =~ /\bbit_rate="(\d+)"/;
        $self->set(bitrate=>int $bitrate/1000); # ffmpeg rechnet offenbar so

        # Framerate
    
        # MEMO: manchmal gibt es das Feld frame_rate nicht, sondern
        # nur die r_frame_rate und avg_frame_rate.

        my ($framerate) = $xml =~ /\b(?:avg_)?frame_rate="(.+?)"/;
        if ($framerate =~ m|/|) {
            my ($x,$y) = split m|/|,$framerate;
            $framerate = Prty::Formatter->normalizeNumber(
                sprintf '%.2f',$x/$y);
        }
        $self->set(framerate=>$framerate);

        # Dauer (millisekundengenau)

        my ($duration) = $xml =~ /\bduration="([\d.]+)"/;
        $duration = Prty::Formatter->normalizeNumber(
            sprintf '%.3f',$duration);

lib/Prty/ImagePool.pm  view on Meta::CPAN


# -----------------------------------------------------------------------------

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;

lib/Prty/ImagePool/Directory.pm  view on Meta::CPAN

            # Wenn eine nicht-leere Default-Sequenz existiert,
            # liefern wir deren Bilder
            return $seq->images;
        }
        # andernfalls liefern wir alle Bilder des Verzeichnisses
        return $self->imageList->images;
    }

    # Liefere die Bilder der Sequenz oder des Range

    my ($sequence,$range) = split m|/|,$key;
    return $self->sequence($sequence)->images($range);
}

# -----------------------------------------------------------------------------

=head3 image() - Lookup Bild-Objekt nach Bild-Nummer

=head4 Synopsis

    $img = $dir->image($n);

lib/Prty/Program.pm  view on Meta::CPAN

        # Einen relativen Pfad machen wir zu einem absoluten
        # Pfad, indem wir ihn um das aktuelle Verzeichnis ergänzen.

        $path =~ s|^./||;
        $path = sprintf '%s/%s',$self->cwd,$path;
    }

    # InstallDir bestimmen, indem wir das Programm und $depth
    # Verzeichnisse darüber vom Pfad entfernen

    my @path = split m|/|,$path;
    splice @path,-($depth+1);
    my $dir = join '/',@path;

    return $dir;
}

# -----------------------------------------------------------------------------

=head2 Hilfe

lib/Prty/String.pm  view on Meta::CPAN

    else {
        # einzeilger Kommentar
        $regex = qr/(?:^|(?<=[\t ]))\Q$start\E .*/m;
    }
    
    # Spaces u. Tabs an Zeilenenden entfernen
    $code =~ s|[\t ]+$||mg;

    # Entferne alle Kommentare aus dem Quelltext und speichere die
    # übrigbleibenden Fragmente in einem Array
    my @frag = split m|$regex|s,$code;
    
    if (@frag) {
        if ($frag[-1] =~ /^$/) {
            # End-Kommentar, da das letzte Element "leer" ist. Ein
            # End-Kommentar zeichnet sich dadurch aus, dass wir
            # Leerzeilen ggf. *davor* entfernen müssen. Vorgehen:
            # 1) Wir entfernen das letzte Element
            # 2) Wir entfernen Whitspace am Ende des vorhergehenden
            #    Elements, bis auf ein Newline, falls vorhanden
            pop @frag;

lib/Prty/Terminal.pm  view on Meta::CPAN

        $color = $class->ansiEsc($color);
        $reset = $class->ansiEsc('reset');
    }    

    # Prompt generieren: "$prompt [$val1,$val2,...] ($def)"

    $prompt = sprintf '%s%s%s',$color,$prompt,$reset;

    my (@values,$valuesText);
    if ($values) {
        for my $val (split m|[/,]|,$values) {
            my $text = $val;
            if ($val =~ /\((.+)\)/) {
                $val = $1;
                $text = sprintf '%s(%s%s%s)%s',$`,$color,$val,$reset,$';
            }
            push @values,$val;

            $valuesText .= ',' if $valuesText;
            $valuesText .= $text;
        }



( run in 0.852 second using v1.01-cache-2.11-cpan-71847e10f99 )