Skip to content

Commit

Permalink
CC-5990, CC-5991 - Python cleanup, removed need for /usr/lib/airtime
Browse files Browse the repository at this point in the history
  • Loading branch information
dpsommer committed Jan 27, 2015
1 parent cd102b9 commit 875a9df
Show file tree
Hide file tree
Showing 115 changed files with 249 additions and 213 deletions.
6 changes: 3 additions & 3 deletions airtime_mvc/build/airtime-setup/load.php
Original file line number Diff line number Diff line change
Expand Up @@ -124,7 +124,7 @@ function checkRMQConnection() {
* @return boolean true if airtime-media-monitor is running
*/
function checkMediaMonitorService() {
exec("pgrep -fx 'python /usr/lib/airtime/media-monitor/media_monitor.py'", $out, $status);
exec("pgrep -f -u www-data media_monitor", $out, $status);
if (array_key_exists(0, $out) && $status == 0) {
return posix_kill(rtrim($out[0]), 0);
}
Expand All @@ -137,7 +137,7 @@ function checkMediaMonitorService() {
* @return boolean true if airtime-playout is running
*/
function checkPlayoutService() {
exec("pgrep -fx 'python /usr/lib/airtime/pypo/bin/pypocli.py'", $out, $status);
exec("pgrep -f -u www-data pypo", $out, $status);
if (array_key_exists(0, $out) && $status == 0) {
return posix_kill(rtrim($out[0]), 0);
}
Expand All @@ -150,7 +150,7 @@ function checkPlayoutService() {
* @return boolean true if airtime-liquidsoap is running
*/
function checkLiquidsoapService() {
exec("pgrep -fx '/usr/bin/airtime-liquidsoap --verbose -f /usr/lib/airtime/pypo/bin/liquidsoap_scripts/ls_script.liq'", $out, $status);
exec("pgrep -f -u www-data airtime-liquidsoap", $out, $status);
if (array_key_exists(0, $out) && $status == 0) {
return posix_kill(rtrim($out[0]), 0);
}
Expand Down
33 changes: 10 additions & 23 deletions install
Original file line number Diff line number Diff line change
Expand Up @@ -252,7 +252,10 @@ if [ -f /etc/airtime/airtime.conf ]; then
will be moved to /etc/airtime/airtime.conf.tmp"
# If we don't remove the existing python files in /usr/lib and the
# /etc/init.d startup scripts, services won't work properly
rm -rf /usr/lib/airtime/
if [ -d /usr/lib/airtime/ ]; then
rm -rf /usr/lib/airtime/
fi

rm /etc/init.d/airtime-*

if [ "$apache" = "t" ]; then
Expand Down Expand Up @@ -353,7 +356,7 @@ if [ "$icecast" = "t" ]; then
verbose "\n * Enabling Icecast 2..."
sed -i 's/ENABLE=false/ENABLE=true/g' /etc/default/icecast2
set +e
service icecast2 start
loudCmd "service icecast2 start"
set -e
verbose "...Done"
fi
Expand All @@ -367,38 +370,24 @@ loudCmd "apt-get -y --force-yes install liquidsoap python python-pip"
loudCmd "pip install setuptools"
verbose "...Done"

verbose "\n * Creating /usr/lib/airtime..."
mkdir -p /usr/lib/airtime
verbose "...Done"

verbose "\n * Creating /run/airtime..."
mkdir -p /run/airtime
chmod 755 /run/airtime
chown -R ${web_user}:${web_user} /run/airtime
verbose "...Done"

verbose "\n * Copying logging files..."
cp -R ${AIRTIMEROOT}/python_apps/std_err_override /usr/lib/airtime/
verbose "\n * Installing log writer..."
loudCmd "python ${AIRTIMEROOT}/python_apps/std_err_override/setup.py install"
verbose "...Done"

verbose "\n * Copying API client files..."
cp -R ${AIRTIMEROOT}/python_apps/api_clients /usr/lib/airtime/
verbose "...Done"

verbose "\n * Copying media-monitor files..."
cp -R ${AIRTIMEROOT}/python_apps/media-monitor/media-monitor /usr/lib/airtime/
cp -R ${AIRTIMEROOT}/python_apps/media-monitor/media-monitor2 /usr/lib/airtime/media-monitor/mm2
verbose "\n * Installing API client..."
loudCmd "python ${AIRTIMEROOT}/python_apps/api_clients/setup.py install"
verbose "...Done"

verbose "\n * Installing media-monitor..."
loudCmd "python ${AIRTIMEROOT}/python_apps/media-monitor/setup.py install"
verbose "...Done"

verbose "\n * Copying pypo files..."
mkdir -p /usr/lib/airtime/pypo
cp -R ${AIRTIMEROOT}/python_apps/pypo/pypo /usr/lib/airtime/pypo/bin/
verbose "...Done"

verbose "\n * Installing pypo..."
loudCmd "python ${AIRTIMEROOT}/python_apps/pypo/setup.py install"
verbose "...Done"
Expand All @@ -425,7 +414,7 @@ if [ ! -d /var/log/airtime ]; then

verbose "\n * Copying logrotate files..."
cp ${AIRTIMEROOT}/airtime_mvc/build/airtime-php.logrotate /etc/logrotate.d/airtime-php
cp /usr/lib/airtime/pypo/bin/liquidsoap_scripts/airtime-liquidsoap.logrotate /etc/logrotate.d/airtime-liquidsoap
cp ${AIRTIMEROOT}/python_apps/pypo/pypo/liquidsoap_scripts/airtime-liquidsoap.logrotate /etc/logrotate.d/airtime-liquidsoap
fi

verbose "\n * Setting permissions on /var/log/airtime..."
Expand All @@ -434,9 +423,7 @@ chown -R ${web_user}:${web_user} /var/log/airtime/

verbose "\n * Setting permissions on /var/tmp/airtime..."
chmod -R a+x /var/tmp/airtime
chmod 755 /usr/lib/airtime/pypo/bin/liquidsoap_scripts/notify.sh
chown -R ${web_user}:${web_user} /var/tmp/airtime/
chown -R ${web_user}:${web_user} /usr/lib/airtime/

loud "\n-----------------------------------------------------"
loud " * Installing PHP * "
Expand Down
File renamed without changes.
File renamed without changes.
33 changes: 33 additions & 0 deletions python_apps/api_clients/setup.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
from setuptools import setup
from subprocess import call
import sys
import os

script_path = os.path.dirname(os.path.realpath(__file__))
print script_path
os.chdir(script_path)

setup(name='api_clients',
version='1.0',
description='Airtime API Client',
url='http://github.com/sourcefabric/Airtime',
author='sourcefabric',
license='AGPLv3',
packages=['api_clients'],
scripts=[],
install_requires=[
# 'amqplib',
# 'anyjson',
# 'argparse',
'configobj'
# 'docopt',
# 'kombu',
# 'mutagen',
# 'poster',
# 'PyDispatcher',
# 'pyinotify',
# 'pytz',
# 'wsgiref'
],
zip_safe=False,
data_files=[])
6 changes: 1 addition & 5 deletions python_apps/media-monitor/bin/airtime-media-monitor
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,6 @@

exec 2>&1

cd /usr/lib/airtime/media-monitor/

set +e
cat /etc/default/locale | grep -i "LANG=.*UTF-\?8"
set -e
Expand All @@ -12,8 +10,6 @@ if [ "$?" != "0" ]; then
exit 1
fi

export PYTHONPATH=/usr/lib/airtime/:/usr/lib/airtime/media-monitor/airtimefilemonitor/:\
/usr/lib/airtime/media-monitor/mm2/:/usr/lib/airtime/std_err_override/:/usr/lib/airtime/api_clients:$PYTHONPATH
export LC_ALL=`cat /etc/default/locale | grep "LANG=" | cut -d= -f2 | tr -d "\n\""`

exec python /usr/lib/airtime/media-monitor/media_monitor.py > /var/log/airtime/media-monitor/py-interpreter.log 2>&1
exec python -m media_monitor > /var/log/airtime/media-monitor/py-interpreter.log 2>&1
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
import logging
import time
import sys
import os
import mm2.mm2 as mm2
from std_err_override import LogWriter

global_cfg = '/etc/airtime/airtime.conf'
logging_cfg = '/usr/lib/airtime/media-monitor/logging.cfg'
logging_cfg = os.path.join(os.path.dirname(__file__), 'logging.cfg')

mm2.main( global_cfg, logging_cfg )
File renamed without changes.
File renamed without changes.
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
# -*- coding: utf-8 -*-
import media.metadata.process as md
import process as md
import re
from os.path import normpath
from media.monitor.pure import format_length, file_md5, is_airtime_recorded, \
from ..monitor.pure import format_length, file_md5, is_airtime_recorded, \
no_extension_basename

defs_loaded = False
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
# -*- coding: utf-8 -*-
from contextlib import contextmanager
from media.monitor.pure import truncate_to_value, truncate_to_length, toposort
from os.path import normpath
from media.monitor.exceptions import BadSongFile
from media.monitor.log import Loggable
import media.monitor.pure as mmp
from collections import namedtuple
from contextlib import contextmanager
from ..monitor.pure import truncate_to_value, truncate_to_length, toposort
from os.path import normpath
from ..monitor.exceptions import BadSongFile
from ..monitor.log import Loggable
from ..monitor import pure as mmp
from collections import namedtuple
import mutagen
import subprocess
import json
Expand Down
File renamed without changes.
Original file line number Diff line number Diff line change
@@ -1,22 +1,21 @@
# -*- coding: utf-8 -*-
from kombu.messaging import Exchange, Queue, Consumer
from kombu.connection import BrokerConnection
from kombu.simple import SimpleQueue
from os.path import normpath
from kombu.messaging import Exchange, Queue, Consumer
from kombu.connection import BrokerConnection
from kombu.simple import SimpleQueue
from os.path import normpath

import json
import os
import copy
import time

from media.monitor.exceptions import BadSongFile, InvalidMetadataElement
from media.monitor.metadata import Metadata
from media.monitor.log import Loggable
from media.monitor.syncdb import AirtimeDB
from media.monitor.exceptions import DirectoryIsNotListed
from media.monitor.bootstrap import Bootstrapper
from exceptions import BadSongFile, InvalidMetadataElement, DirectoryIsNotListed
from metadata import Metadata
from log import Loggable
from syncdb import AirtimeDB
from bootstrap import Bootstrapper

from media.saas.thread import apc, user
from ..saas.thread import apc, user

class AirtimeNotifier(Loggable):
"""
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
import os
from pydispatch import dispatcher
from media.monitor.events import NewFile, DeleteFile, ModifyFile
from media.monitor.log import Loggable
from media.saas.thread import getsig
import media.monitor.pure as mmp
from pydispatch import dispatcher
from events import NewFile, DeleteFile, ModifyFile
from log import Loggable
from ..saas.thread import getsig
import pure as mmp

class Bootstrapper(Loggable):
"""
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@
import copy
from configobj import ConfigObj

from media.monitor.exceptions import NoConfigFile, ConfigAccessViolation
import media.monitor.pure as mmp
from exceptions import NoConfigFile, ConfigAccessViolation
import pure as mmp

class MMConfig(object):
def __init__(self, path):
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
from media.monitor.log import Loggable
from media.monitor.events import DeleteFile
from log import Loggable
from events import DeleteFile

class EventContractor(Loggable):
def __init__(self):
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import socket
import time
from media.monitor.log import Loggable
from media.monitor.toucher import RepeatTimer
from log import Loggable
from toucher import RepeatTimer
from amqplib.client_0_8.exceptions import AMQPConnectionException

class EventDrainer(Loggable):
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,12 @@
import os
import abc
import re
import media.monitor.pure as mmp
from media.monitor.pure import LazyProperty
from media.monitor.metadata import Metadata
from media.monitor.log import Loggable
from media.monitor.exceptions import BadSongFile
from media.saas.thread import getsig, user
import pure as mmp
from pure import LazyProperty
from metadata import Metadata
from log import Loggable
from exceptions import BadSongFile
from ..saas.thread import getsig, user

class PathChannel(object):
""" Simple struct to hold a 'signal' string and a related 'path'.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@
from pydispatch import dispatcher
import abc

from media.monitor.log import Loggable
from media.saas.thread import getsig
import media.monitor.pure as mmp
from log import Loggable
from ..saas.thread import getsig
import pure as mmp

# Defines the handle interface
class Handles(object):
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,13 @@
from pydispatch import dispatcher
from functools import wraps

import media.monitor.pure as mmp
from media.monitor.pure import IncludeOnly
from media.monitor.events import OrganizeFile, NewFile, MoveFile, DeleteFile, \
import pure as mmp
from pure import IncludeOnly
from events import OrganizeFile, NewFile, MoveFile, DeleteFile, \
DeleteDir, MoveDir,\
DeleteDirWatch
from media.monitor.log import Loggable
from media.saas.thread import getsig, user
from log import Loggable
from ..saas.thread import getsig, user
# Note: Because of the way classes that inherit from pyinotify.ProcessEvent
# interact with constructors. you should only instantiate objects from them
# using keyword arguments. For example:
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import logging
import abc
import traceback
from media.monitor.pure import LazyProperty
from pure import LazyProperty

appname = 'root'

Expand Down
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
import pyinotify
import time
import os
from pydispatch import dispatcher

from os.path import normpath
from media.monitor.events import PathChannel
from media.monitor.log import Loggable
from media.monitor.listeners import StoreWatchListener, OrganizeListener
from media.monitor.handler import ProblemFileHandler
from media.monitor.organizer import Organizer
from media.saas.thread import InstanceInheritingThread, getsig
import media.monitor.pure as mmp
from pydispatch import dispatcher

from os.path import normpath
from events import PathChannel
from log import Loggable
from listeners import StoreWatchListener, OrganizeListener
from handler import ProblemFileHandler
from organizer import Organizer
from ..saas.thread import InstanceInheritingThread, getsig
import pure as mmp


class ManagerTimeout(InstanceInheritingThread,Loggable):
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,17 +2,17 @@
import mutagen
import os
import copy
from mutagen.easymp4 import EasyMP4KeyError
from mutagen.easyid3 import EasyID3KeyError
from mutagen.easymp4 import EasyMP4KeyError
from mutagen.easyid3 import EasyID3KeyError

from media.monitor.exceptions import BadSongFile, InvalidMetadataElement
from media.monitor.log import Loggable
from media.monitor.pure import format_length
import media.monitor.pure as mmp
from exceptions import BadSongFile, InvalidMetadataElement
from log import Loggable
from pure import format_length
import pure as mmp

# emf related stuff
from media.metadata.process import global_reader
import media.metadata.definitions as defs
from ..metadata.process import global_reader
from ..metadata import definitions as defs
defs.load_definitions()

"""
Expand Down
Loading

0 comments on commit 875a9df

Please sign in to comment.