From 32c7e816854222d923f1a68d5da983067065a6cb Mon Sep 17 00:00:00 2001 From: Albert Santoni Date: Mon, 16 Mar 2015 14:54:29 -0400 Subject: [PATCH] Removed use of virtualenv in utils --- utils/airtime-silan | 113 ++++++++++++++++++---------- utils/airtime-silan.py | 78 ------------------- utils/airtime-update-db-settings | 18 ----- utils/airtime-update-db-settings.py | 87 --------------------- 4 files changed, 75 insertions(+), 221 deletions(-) delete mode 100644 utils/airtime-silan.py delete mode 100755 utils/airtime-update-db-settings delete mode 100644 utils/airtime-update-db-settings.py diff --git a/utils/airtime-silan b/utils/airtime-silan index efb96ef30..3bffb0ee2 100755 --- a/utils/airtime-silan +++ b/utils/airtime-silan @@ -1,42 +1,79 @@ -#!/bin/bash -#------------------------------------------------------------------------------- -# Copyright (c) 2011 Sourcefabric O.P.S. -# -# This file is part of the Airtime project. -# http://airtime.sourcefabric.org/ -# -# Airtime 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 2 of the License, or -# (at your option) any later version. -# -# Airtime 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 Airtime; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -# -#------------------------------------------------------------------------------- -#------------------------------------------------------------------------------- -# This script handles update cue-in/cue-out points for files that already exist -# in Airtime's library. -# -exec 2>&1 -airtime_silan_script="airtime-silan.py" -api_client_path="/usr/lib/airtime/" +#!/usr/bin/python +from configobj import ConfigObj +from api_clients import api_client as apc -virtualenv_bin="/usr/lib/airtime/airtime_virtualenv/bin/" -. ${virtualenv_bin}activate +import logging +import json +import os +import sys +import subprocess +import traceback -export PYTHONPATH=${api_client_path} +# create logger +logger = logging.getLogger() -# Absolute path to this script -SCRIPT=`readlink -f $0` -# Absolute directory this script is in -SCRIPTPATH=`dirname $SCRIPT` +# no logging +ch = logging.StreamHandler() +logging.disable(50) -cd $SCRIPTPATH -python ${airtime_silan_script} +# add ch to logger +logger.addHandler(ch) + +if os.geteuid() != 0: + print 'Must be a root user.' + sys.exit(1) + +# loading config file +try: + config = ConfigObj('/etc/airtime/airtime.conf') +except Exception, e: + print('Error loading config file: %s', e) + sys.exit(1) + +api_client = apc.AirtimeApiClient(config) + +try: + # keep getting few rows at a time for current music_dir (stor + # or watched folder). + subtotal = 0 + while True: + # return a list of pairs where the first value is the + # file's database row id and the second value is the + # filepath + files = api_client.get_files_without_silan_value() + total_files = len(files) + if total_files == 0: break + processed_data = [] + total = 0 + for f in files: + full_path = f['fp'] + # silence detect(set default queue in and out) + try: + command = ['silan', '-b' '-f', 'JSON', full_path] + proc = subprocess.Popen(command, stdout=subprocess.PIPE) + out = proc.communicate()[0].strip('\r\n') + info = json.loads(out) + data = {} + data['cuein'] = str('{0:f}'.format(info['sound'][0][0])) + data['cueout'] = str('{0:f}'.format(info['sound'][-1][1])) + data['length'] = str('{0:f}'.format(info['file duration'])) + processed_data.append((f['id'], data)) + total += 1 + if total % 5 == 0: + print "Total %s / %s files has been processed.." % (total, total_files) + except Exception, e: + print e + print traceback.format_exc() + print "Processed: %d songs" % total + subtotal += total + + try: + print api_client.update_cue_values_by_silan(processed_data) + except Exception ,e: + print e + print traceback.format_exc() + print "Total %d songs Processed" % subtotal + +except Exception, e: + print e + print traceback.format_exc() diff --git a/utils/airtime-silan.py b/utils/airtime-silan.py deleted file mode 100644 index 0cc0d7f8b..000000000 --- a/utils/airtime-silan.py +++ /dev/null @@ -1,78 +0,0 @@ -from configobj import ConfigObj -from api_clients import api_client as apc - -import logging -import json -import os -import sys -import subprocess -import traceback - -# create logger -logger = logging.getLogger() - -# no logging -ch = logging.StreamHandler() -logging.disable(50) - -# add ch to logger -logger.addHandler(ch) - -if os.geteuid() != 0: - print 'Must be a root user.' - sys.exit(1) - -# loading config file -try: - config = ConfigObj('/etc/airtime/airtime.conf') -except Exception, e: - print('Error loading config file: %s', e) - sys.exit(1) - -api_client = apc.AirtimeApiClient(config) - -try: - # keep getting few rows at a time for current music_dir (stor - # or watched folder). - subtotal = 0 - while True: - # return a list of pairs where the first value is the - # file's database row id and the second value is the - # filepath - files = api_client.get_files_without_silan_value() - total_files = len(files) - if total_files == 0: break - processed_data = [] - total = 0 - for f in files: - full_path = f['fp'] - # silence detect(set default queue in and out) - try: - command = ['silan', '-b' '-f', 'JSON', full_path] - proc = subprocess.Popen(command, stdout=subprocess.PIPE) - out = proc.communicate()[0].strip('\r\n') - info = json.loads(out) - data = {} - data['cuein'] = str('{0:f}'.format(info['sound'][0][0])) - data['cueout'] = str('{0:f}'.format(info['sound'][-1][1])) - data['length'] = str('{0:f}'.format(info['file duration'])) - processed_data.append((f['id'], data)) - total += 1 - if total % 5 == 0: - print "Total %s / %s files has been processed.." % (total, total_files) - except Exception, e: - print e - print traceback.format_exc() - print "Processed: %d songs" % total - subtotal += total - - try: - print api_client.update_cue_values_by_silan(processed_data) - except Exception ,e: - print e - print traceback.format_exc() - print "Total %d songs Processed" % subtotal - -except Exception, e: - print e - print traceback.format_exc() diff --git a/utils/airtime-update-db-settings b/utils/airtime-update-db-settings deleted file mode 100755 index 5ed0fcd89..000000000 --- a/utils/airtime-update-db-settings +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/bash -#------------------------------------------------------------------------------- -# Determine directories, files -#------------------------------------------------------------------------------- - -virtualenv_bin="/usr/lib/airtime/airtime_virtualenv/bin/" -. ${virtualenv_bin}activate - -# Absolute path to this script -SCRIPT=`readlink -f $0` -# Absolute directory this script is in -SCRIPTPATH=`dirname $SCRIPT` - -#------------------------------------------------------------------------------- -# Do import -#------------------------------------------------------------------------------- -invokePwd=$PWD -cd $SCRIPTPATH && python airtime-update-db-settings.py diff --git a/utils/airtime-update-db-settings.py b/utils/airtime-update-db-settings.py deleted file mode 100644 index d28322fb1..000000000 --- a/utils/airtime-update-db-settings.py +++ /dev/null @@ -1,87 +0,0 @@ -""" -The purpose of this script is to consolidate into one location where -we need to update database host, dbname, username and password. - -This script reads from /etc/airtime/airtime.conf. -""" -import os -import sys -import ConfigParser -import xml.dom.minidom -from xml.dom.minidom import Node - -if os.geteuid() != 0: - print "Please run this as root." - sys.exit(1) - -airtime_conf = '/etc/airtime/airtime.conf' - -#Read the universal values -parser = ConfigParser.SafeConfigParser() -parser.read(airtime_conf) - -host = 'resources.db.params.host' -dbname = 'resources.db.params.dbname' -username = 'resources.db.params.username' -password = 'resources.db.params.password' - -airtime_dir = parser.get('general', 'airtime_dir') -if os.path.exists(airtime_dir): - print 'Airtime root folder found at %s' % airtime_dir -else: - print 'Could not find Airtime root folder specified by "airtime_dir" in %s' % airtime_conf - sys.exit(1) - -print ("Updating %s/application/configs/application.ini" % airtime_dir) -f = file('%s/application/configs/application.ini' % airtime_dir,'r') -file_lines = [] - -for line in f: - if line[0:len(host)] == host: - line= '%s = "%s"\n' % (host, parser.get('database', 'host')) - elif line[0:len(dbname)] == dbname: - line= '%s = "%s"\n' % (dbname, parser.get('database', 'dbname')) - elif line[0:len(username)] == username: - line= '%s = "%s"\n' % (username, parser.get('database', 'dbuser')) - elif line[0:len(password)] == password: - line= '%s = "%s"\n' % (password, parser.get('database', 'dbpass')) - file_lines.append(line) -f.close() - -f = file('%s/application/configs/application.ini' % airtime_dir, 'w') -f.writelines(file_lines) -f.close() - - -print ("Updating %s/build/build.properties" % airtime_dir) - -f = file('%s/build/build.properties' % airtime_dir, 'r') -file_lines = [] - -db_url = 'propel.database.url' - -for line in f: - if line[0:len(db_url)] == db_url: - line = '%s = pgsql:host=%s dbname=%s user=%s password=%s\n' % \ - (db_url, parser.get('database', 'host'), parser.get('database', 'dbname'), parser.get('database', 'dbuser'), \ - parser.get('database', 'dbpass')) - file_lines.append(line) -f.close() - -f = file('%s/build/build.properties' % airtime_dir, 'w') -f.writelines(file_lines) -f.close() - -print ("Updating %s/build/runtime-conf.xml" % airtime_dir) - -doc = xml.dom.minidom.parse('%s/build/runtime-conf.xml' % airtime_dir) - -node = doc.getElementsByTagName("dsn")[0] -node.firstChild.nodeValue = 'pgsql:host=%s;port=5432;dbname=%s;user=%s;password=%s' % (parser.get('database', 'host'), \ -parser.get('database', 'dbname'), parser.get('database', 'dbuser'), parser.get('database', 'dbpass')) - -xml_file = open('%s/build/runtime-conf.xml' % airtime_dir, "w") -xml_file.writelines(doc.toxml('utf-8')) -xml_file.close() - -print "Success!"