aboutsummaryrefslogtreecommitdiffstats
path: root/extras/name_cdrom.pl
blob: 5e696f33ae31bff2591c257d4f3d4940d5f9c6c8 (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
#!/usr/bin/perl

# a horribly funny script that shows how flexible udev can really be
# This is to be executed by udev with the following rules:
#
# KERNEL="hd*[!0-9]|sr*", PROGRAM="name_cdrom.pl $tempnode", SYMLINK+="%c"

use strict;
use warnings;

use CDDB_get qw(get_cddb);

# following variables just need to be declared if different from defaults
my %config;
$config{'CDDB_HOST'} = "freedb.freedb.org";	# set cddb host
$config{'CDDB_PORT'} = 8880;			# set cddb port
$config{'CDDB_MODE'} = "cddb";			# set cddb mode: cddb or http
$config{'CD_DEVICE'} = $ARGV[0];		# set cd device
$config{'input'} = 0; 				# no user interaction

my %cd = get_cddb(\%config);

if (!defined $cd{title}) {
	exit 1;
}

# print out our cd name
$cd{artist} =~ s/ /_/g;
$cd{title} =~ s/ /_/g;
print "$cd{artist}-$cd{title}\n";

exit 0;