aboutsummaryrefslogtreecommitdiffstats
path: root/agi/numeralize
blob: 5ca51913da429354fee01db11ac54a921289ada9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#!/usr/bin/perl
#
# Build a database linking filenames to their numerical representations
# using a keypad for the DialAnMp3 application
#

$mp3dir="/usr/media/mpeg3";

dbmopen(%DIGITS, "/var/lib/asterisk/mp3list", 0644) || die("Unable to open mp3list");;
sub process_dir {
	my ($dir) = @_;
	my $file;
	my $digits;
	my @entries;
	opendir(DIR, $dir);
	@entries = readdir(DIR);
	closedir(DIR);
	foreach $_ (@entries) {
		if (!/^\./) {
			$file = "$dir/$_";
			if (-d "$file") {
				process_dir("$file");
			} else {
				$digits = $_;
				$digits =~ s/[^ \w]+//g;
				$digits =~ s/\_/ /g;
				$digits =~ tr/[a-z]/[A-Z]/;
				$digits =~ tr/[A-C]/2/;
				$digits =~ tr/[D-F]/3/;
				$digits =~ tr/[G-I]/4/;
				$digits =~ tr/[J-L]/5/;
				$digits =~ tr/[M-O]/6/;
				$digits =~ tr/[P-S]/7/;
				$digits =~ tr/[T-V]/8/;
				$digits =~ tr/[W-Z]/9/;
				$digits =~ s/\s+/ /;
				print "File: $file, digits: $digits\n";
				$DIGITS{$file} = $digits;
			}
		}
	}
}

process_dir($mp3dir);