#!/usr/bin/env python
# -*- coding: utf-8 -*-
import sys
import time
import urllib

import logging

import telnetlib

from util import json

import os

ALLOWED_EXTS = ('mp3') 
    
class Callable:
    def __init__(self, anycallable):
        self.__call__ = anycallable

class Status:
    def __init__(self, status_url):
        self.status_url = status_url
    def get_obp_version(self):
        logger = logging.getLogger("status.get_obp_version")
        # lookup OBP version
        try:
            response = urllib.urlopen(self.status_url)
            response_json = json.read(response.read())
            obp_version = int(response_json['version'])
            logger.debug("OBP Version %s detected", obp_version)
    
        except Exception, e:
            print e
            obp_version = 0
            logger.error("Unable to detect OBP Version - %s", e)

        
        return obp_version
    
    
    def check_ls(self, ls_host, ls_port):
        logger = logging.getLogger("status.get_ls_version")
        # lookup OBP version
        try:
            tn = telnetlib.Telnet(ls_host, ls_port)
            tn.write("\n")
            tn.write("version\n")
            tn.write("exit\n")
            print tn.read_all()
            logger.info("liquidsoap connection ok")
            return 1
    
        except Exception, e:
            obp_version = 0
            logger.error("Unable to connect to liquidsoap")
            return 0