diff options
Diffstat (limited to 'rhimport.pl')
-rwxr-xr-x | rhimport.pl | 56 |
1 files changed, 42 insertions, 14 deletions
diff --git a/rhimport.pl b/rhimport.pl index a8b1c0a..8f8a4ed 100755 --- a/rhimport.pl +++ b/rhimport.pl @@ -6,6 +6,8 @@ use strict; use Getopt::Long; use DBI; +use Gtk2 -init; +use Gtk2::GladeXML; my $DBHOST = "airplay"; my $DBUSER = "rivendellro"; @@ -14,46 +16,72 @@ my $DB = "rivendell"; my $HELP = 0; my $M3U = ""; my $DONTCONCAT = 0; +my $LISTALLOWED = 0; GetOptions ("help!" => \$HELP, "m3u=s" => \$M3U, "dont-concat!" => \$DONTCONCAT, + "list-allowed!" => \$LISTALLOWED, ); -if($HELP || !$M3U) { +if($HELP) { print << "EOF"; usage: $0 --m3u <playlist file> --dont-concat options: - --m3u the playlist file to import - --dont-concat dont concat the audio files, import as seperate files + --m3u the playlist file to import + --dont-concat dont concat the audio files, import as seperate files + --list-allowed list allowed dropboxes and exit EOF exit; } -(-e "$M3U") or die "file '$M3U' not found"; - -my $user = $ENV{'USER'}; - +my $user = 'martinland';#$ENV{'USER'}; $user or die "Username not found in environment"; -print "Will import $M3U, with user $user\n"; - - my $dbh = DBI->connect( "DBI:mysql:$DB:$DBHOST","$DBUSER","$DBPW") or die "Database Error: $DBI::errstr"; my $sql = qq{select USER_PERMS.GROUP_NAME,DROPBOXES.PATH from USER_PERMS, DROPBOXES where USER_PERMS.USER_NAME='$user' and DROPBOXES.GROUP_NAME=USER_PERMS.GROUP_NAME;}; my $sth = $dbh->prepare($sql); $sth->execute(); -my $cur_start_time = "out of order"; -my $cart_cnt = 0; +my @allowed_dbs; while(my ($group, $path) = $sth->fetchrow_array()) { $path =~ s/\/\*$//; + my $perm = {}; + $perm->{'GROUP'} = $group; + $perm->{'PATH'} = $path; + push @allowed_dbs, $perm; +} +$sth->finish(); - print "GROUP: $group, PATH: $path\n" + +if($LISTALLOWED) { + for my $href ( @allowed_dbs ) { + print "$href->{'PATH'}\n"; + } + $dbh->disconnect(); + exit 0; +} + +## GUI mode + +if(!$M3U) { + my $gui = Gtk2::GladeXML->new('rhimport.glade'); + + Gtk2->main; + exit 0; +} + +## command line mode + +(-e "$M3U") or die "file '$M3U' not found"; +if($DONTCONCAT) { + print "Will import $M3U (seperate files), with user $user\n\n"; +} else { + print "Will import $M3U (concatenated), with user $user\n\n"; } -$sth->finish(); $dbh->disconnect(); +exit 0; |