diff --git a/airtime_mvc/application/controllers/ApiController.php b/airtime_mvc/application/controllers/ApiController.php index 9e6b28d1e..1d0aa46f8 100644 --- a/airtime_mvc/application/controllers/ApiController.php +++ b/airtime_mvc/application/controllers/ApiController.php @@ -112,6 +112,7 @@ class ApiController extends Zend_Controller_Action $file_base_name = substr($file_base_name, 1); header('Content-Disposition: attachment; filename="'.$file_base_name.'"'); } + $logger->info("Sending $filepath"); header("Content-Length: " . filesize($filepath)); // !! binary mode !! diff --git a/airtime_mvc/application/models/StoredFile.php b/airtime_mvc/application/models/StoredFile.php index 2bb59b98e..359516f48 100644 --- a/airtime_mvc/application/models/StoredFile.php +++ b/airtime_mvc/application/models/StoredFile.php @@ -751,7 +751,7 @@ class StoredFile { $chunk = isset($_REQUEST["chunk"]) ? $_REQUEST["chunk"] : 0; $chunks = isset($_REQUEST["chunks"]) ? $_REQUEST["chunks"] : 0; $fileName = isset($_REQUEST["name"]) ? $_REQUEST["name"] : ''; - Logging::log(__FILE__.':uploadFile(): filename='.$fileName); + Logging::log(__FILE__.":uploadFile(): filename=$fileName to $p_targetDir"); // Clean the fileName for security reasons //this needs fixing for songs not in ascii. //$fileName = preg_replace('/[^\w\._]+/', '', $fileName); diff --git a/install_minimal/upgrades/airtime-1.9.0/airtime-upgrade.php b/install_minimal/upgrades/airtime-1.9.0/airtime-upgrade.php index ebcb9358a..38a7e8688 100644 --- a/install_minimal/upgrades/airtime-1.9.0/airtime-upgrade.php +++ b/install_minimal/upgrades/airtime-1.9.0/airtime-upgrade.php @@ -677,7 +677,10 @@ class Airtime190Upgrade{ ->findOne(); /* Handle Database Changes. */ - $stor_dir = realpath($values['general']['base_files_dir']."/stor")."/"; + + $pi = pathinfo($values['general']['base_files_dir']); + $stor_dir = $pi["dirname"].DIRECTORY_SEPARATOR.$pi["basename"].DIRECTORY_SEPARATOR."stor".DIRECTORY_SEPARATOR; + echo "* Inserting stor directory location $stor_dir into music_dirs table".PHP_EOL; $propel_stor_dir->setDirectory($stor_dir); $propel_stor_dir->save(); @@ -763,6 +766,7 @@ exec("svc -dx /etc/service/pypo-liquidsoap/log"); exec("svc -dx /etc/service/recorder"); exec("svc -dx /etc/service/recorder/log"); exec("killall supervise"); +exec("killall liquidsoap"); $pathnames = array("/usr/bin/airtime-pypo-start", "/usr/bin/airtime-pypo-stop", @@ -819,6 +823,7 @@ AirtimeInstall::SetUniqueId(); AirtimeInstall::SetImportTimestamp(); AirtimeIni::CreateMonitFile(); +exec("/etc/init.d/monit start"); AirtimeInstall::CreateSymlinksToUtils(); diff --git a/python_apps/api_clients/api_client.py b/python_apps/api_clients/api_client.py index fa1059174..0064a95d5 100755 --- a/python_apps/api_clients/api_client.py +++ b/python_apps/api_clients/api_client.py @@ -40,10 +40,13 @@ def to_unicode(obj, encoding='utf-8'): return obj def encode_to(obj, encoding='utf-8'): - if isinstance(obj, basestring): - if not isinstance(obj, str): - obj = obj.encode(encoding) + if isinstance(obj, unicode): + obj = obj.encode(encoding) return obj + +def convert_dict_value_to_utf8(md): + #list comprehension to convert all values of md to utf-8 + return dict([(item[0], encode_to(item[1], "utf-8")) for item in md.items()]) class ApiClientInterface: @@ -408,7 +411,9 @@ class AirTimeApiClient(ApiClientInterface): url = "http://%s:%s/%s/%s" % (self.config["base_url"], str(self.config["base_port"]), self.config["api_base"], self.config["update_media_url"]) url = url.replace("%%api_key%%", self.config["api_key"]) url = url.replace("%%mode%%", mode) - + + md = convert_dict_value_to_utf8(md) + data = urllib.urlencode(md) req = urllib2.Request(url, data) @@ -434,7 +439,7 @@ class AirTimeApiClient(ApiClientInterface): except Exception, e: response = None - logger.error("Exception with filepath %s: %s", md['MDATA_KEY_FILEPATH'], e) + logger.error("Exception with file %s: %s", md, e) return response