summaryrefslogtreecommitdiff
path: root/rhimport.pl
diff options
context:
space:
mode:
Diffstat (limited to 'rhimport.pl')
-rwxr-xr-xrhimport.pl56
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;