From 071dff71446b6a0004f77d33a026098bbc8a8176 Mon Sep 17 00:00:00 2001
From: Christian Pointner <equinox@helsinki.at>
Date: Tue, 19 Jul 2011 14:41:15 +0000
Subject: added rhimport for autoimporting democracy now!

git-svn-id: https://svn.helsinki.at/rhimport/trunk@70 7c65635b-ec39-4f67-a626-873dbafdd612

diff --git a/debian/control b/debian/control
index 3033170..1ad22d3 100644
--- a/debian/control
+++ b/debian/control
@@ -8,7 +8,7 @@ Homepage: http://www.helsinki.at/
 
 Package: rhimport
 Architecture: all
-Depends: ${shlibs:Depends}, ${misc:Depends}, adduser, perl, libdbd-mysql-perl, libgtk2-gladexml-perl
+Depends: ${shlibs:Depends}, ${misc:Depends}, adduser, perl, libdbd-mysql-perl, libgtk2-gladexml-perl, libdate-calc-perl
 Description: Radio Helsinki Import Tool
  rhimport is a small tool which can be used to import media files
  into the playout system namley Rivendell.
diff --git a/rhimport-dn b/rhimport-dn
new file mode 100755
index 0000000..abcda30
--- /dev/null
+++ b/rhimport-dn
@@ -0,0 +1,104 @@
+#!/usr/bin/perl -w
+#
+#
+#  rhimport
+#
+#  Copyright (C) 2009 Christian Pointner <equinox@helsinki.at>
+#
+#  This file is part of rhimport.
+#
+#  rhimport is free software: you can redistribute it and/or modify
+#  it under the terms of the GNU General Public License as published by
+#  the Free Software Foundation, either version 3 of the License, or
+#  any later version.
+#
+#  rhimport is distributed in the hope that it will be useful,
+#  but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+#  GNU General Public License for more details.
+#
+#  You should have received a copy of the GNU General Public License
+#  along with rhimport. If not, see <http://www.gnu.org/licenses/>.
+#
+
+use strict;
+use DBI;
+use Date::Calc;
+
+use lib '/usr/local/share/rhimport/';
+use rhimport;
+
+my $DBHOST = "airplay";
+my $DBUSER = "rivendell";
+my $DBPW = "lldriven";
+my $DB = "rivendell";
+
+
+my $luser = `/usr/bin/id -un`;
+$luser =~ s/\n//;
+($luser eq "equinox") or die "You are not allowed to use this script\n";
+my $user = "autoimport";
+my $group = "democracyn";
+
+my $dbh = DBI->connect("DBI:mysql:$DB:$DBHOST","$DBUSER","$DBPW") or die "Database Error: $DBI::errstr";
+my @allowed_dbs = rhimport::get_dropboxes($dbh, $user, $group);
+
+
+my $dropbox = "";
+my $to_cart = 0;
+
+my @today = Date::Calc::Today();
+my @yesterday = Date::Calc::Add_Delta_Days($today[0], $today[1], $today[2], -1);
+
+print "today: " . Date::Calc::Date_to_Text(@today) . "\n";
+print "yesterday: " . Date::Calc::Date_to_Text(@yesterday) . "\n";
+
+
+for my $href ( @allowed_dbs ) {
+  my $dow = Date::Calc::Day_of_Week(@today);
+  if ($dow == int(substr($href->{'NAME'},0,2))) {
+    $dropbox = $href->{'PATH'};
+    $to_cart = $href->{'TO_CART'};    
+  }
+}
+
+if($dropbox eq "") {
+  print "no dropbox for today\n";
+  $dbh->disconnect();
+  exit 0;
+}
+
+my $file = sprintf("dn%04d-%02d%02d-?.mp3", $yesterday[0], $yesterday[1], $yesterday[2]);
+print "looking for file like: $file\n";
+
+
+
+my $error_cb = sub {
+  my ($text) = @_;
+
+  print "\n$text .. cancel operation [Y/n]? ";
+  my $x = scalar(<STDIN>);
+  $x =~ /^n/i;
+};
+
+#rhimport::check_key_file() or die "Import Key not found, use rhimport-create-id to create one\n";
+
+#(-e "$file") or die "file '$file' not found\n";
+print "will import $file to dropbox $dropbox (cart=$to_cart)\n\n";
+
+exit 0;
+
+my $ret;
+my $log;
+$log = rhimport::clear_carts($dbh, $group, $to_cart);
+my $import_log;
+($ret, $import_log) = rhimport::import_single($file, $dropbox, $user, 0, $error_cb);
+$log .= $import_log;
+
+$dbh->disconnect();
+
+if(!$ret) {
+  exit 1;
+}
+
+exit 0;
diff --git a/rhimport.pm b/rhimport.pm
index 2c3130b..d44c34b 100644
--- a/rhimport.pm
+++ b/rhimport.pm
@@ -45,9 +45,14 @@ sub check_key_file
 
 sub get_dropboxes
 {
-  my ($dbh, $user) = @_;
+  my ($dbh, $user, $group) = @_;
 
-  my $sql = qq{select USER_PERMS.GROUP_NAME,DROPBOXES.PATH,DROPBOXES.TO_CART,GROUPS.DESCRIPTION from USER_PERMS, DROPBOXES, GROUPS where USER_PERMS.USER_NAME='$user' and DROPBOXES.GROUP_NAME=USER_PERMS.GROUP_NAME and DROPBOXES.GROUP_NAME=GROUPS.NAME;};
+  my $sql = "";
+  if($group) {
+    $sql = qq{select USER_PERMS.GROUP_NAME,DROPBOXES.PATH,DROPBOXES.TO_CART,GROUPS.DESCRIPTION from USER_PERMS, DROPBOXES, GROUPS where USER_PERMS.USER_NAME='$user' and DROPBOXES.GROUP_NAME=USER_PERMS.GROUP_NAME and DROPBOXES.GROUP_NAME=GROUPS.NAME and DROPBOXES.GROUP_NAME='$group';};
+  } else {
+    $sql = qq{select USER_PERMS.GROUP_NAME,DROPBOXES.PATH,DROPBOXES.TO_CART,GROUPS.DESCRIPTION from USER_PERMS, DROPBOXES, GROUPS where USER_PERMS.USER_NAME='$user' and DROPBOXES.GROUP_NAME=USER_PERMS.GROUP_NAME and DROPBOXES.GROUP_NAME=GROUPS.NAME;};
+  }
   my $sth = $dbh->prepare($sql);
   $sth->execute();
   my @allowed_dbs;
-- 
cgit v0.10.2