From 0ef6c7615188f84e7373b9719e9c42df77ae423d Mon Sep 17 00:00:00 2001 From: Christian Pointner Date: Wed, 17 Feb 2010 17:26:55 +0000 Subject: rhimport with initial gui design git-svn-id: https://svn.helsinki.at/rhimport/trunk@3 7c65635b-ec39-4f67-a626-873dbafdd612 diff --git a/rhimport.glade b/rhimport.glade new file mode 100644 index 0000000..5743022 --- /dev/null +++ b/rhimport.glade @@ -0,0 +1,150 @@ + + + + + + rhimport + + + True + 0 + none + + + True + 5 + 5 + 5 + 5 + + + True + vertical + 4 + + + True + <b>Dropbox</b> + True + + + False + 0 + + + + + True + + + False + 1 + + + + + True + <b>Playlist</b> + True + + + False + 2 + + + + + True + vertical + + + 3 + + + + + Musikdateien zusammenfügen + True + True + False + 0.46000000834465027 + True + True + + + False + 4 + + + + + True + + + False + 5 + + + + + True + + + True + + + 0 + + + + + gtk-cancel + 120 + True + True + True + True + + + False + 1 + + + + + gtk-ok + 120 + True + True + True + True + + + False + 2 + + + + + False + 6 + + + + + + + + + True + <b>rhimport - Radio Helsinki Importtool</b> + True + + + label_item + + + + + + 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 --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; -- cgit v0.10.2