Skip to content

trapd00r/File-PatternMatch

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Donate - Every tiny cent helps a lot!

NAME

File::PatternMatch - parse media information from filenames

rel

SYNOPSIS

use File::PatternMatch;

my @files = glob("$ENV{HOME}/music/*");

my $plain = patternmatch(@files);

my $extended_colors = patternmatch(256, @files);

DESCRIPTION

File::PatternMatch takes a list of filenames and tries to parse relevant information from them. If a filename contains the string 'S01E01' we can safely assume it's a new TV show, the first episode from the first season, and thus we label it 'New Show'.

There are filters for various music genres, tv shows and music videos.

The labels can be formatted in three ways (output formats):

plaintext

Raw, plain text.

colored

Colored using extended escape sequences (see Term::ExtendedColor).

dzen2

Formatted using the dzen2(1) notation.

EXPORTS

patternmatch()

Parameters: $output_format, @files

Returns: \%results

patternmatch() takes a list of filenames and tries to match them aginst specific patterns. The result might look like:

# Plain text
2 => {
  'Prison.Break.S01E01-FOOBAR'  => 'New Show',
},
42 => {
  'Laleh-Prinsessor-FOOBAZ'     => 'Pop/Rock',
},

# Using extended color escape sequences
2 => {
  'Prison.Break.S01E01-FOOBAR'  => "\e[38;5;160mNew Show\e[0m",
},

# Using dzen2 format
2 => {
  'Prison.Break.S01E01-FOOBAR'  => '^fg(#ff0000)New Show^fg()',
},

SEE ALSO

https://github.com/trapd00r/rel

AUTHOR

Magnus Woldrich
CPAN ID: WOLDRICH
[email protected]
http://japh.se

REPORTING BUGS

Report bugs and/or feature requests:

https://rt.cpan.org

https://github.com/trapd00r/Foo-Bar/issues

[email protected]

COPYRIGHT

Copyright 2011, 2018- Magnus Woldrich [email protected]. This program is free software; you may redistribute it and/or modify it under the same terms as Perl itself.

Releases

No releases published

Packages

No packages published

Languages