Exemplo n.º 1
0
    def update_start_playing(self, playlist_type, export_source, media_id, playlist_id, transmission_id, user_id):

        logger = logging.getLogger("ApiClient.update_shedueled_item")
    
        url = self.api_url + 'api/pypo/update_start_playing/' \
        + '?playlist_type=' + str(playlist_type) \
        + '&export_source=' + str(export_source) \
        + '&user_id=' + str(user_id) \
        + '&media_id=' + str(media_id) \
        + '&playlist_id=' + str(playlist_id) \
        + '&transmission_id=' + str(transmission_id)
        
        print url
        
        try:
            response = urllib.urlopen(url, self.api_auth)
            response = json.read(response.read())
            logger.info("API-Status %s", response['status'])
            logger.info("API-Message %s", response['message'])
            logger.info("TXT %s", response['str_dls'])
    
        except Exception, e:
            print e
            api_status = False
            logger.critical("Unable to connect to the OBP API - %s", e)
Exemplo n.º 2
0
    def get_version(self):
        logger = logging.getLogger("ApiClient.get_version")
        # lookup OBP version
        
        url = self.api_url + 'status.json'
        data = urllib.urlencode({'apikey': self.api_key})

        logger.debug("%s", url)
        
        try:
            
            logger.debug("Trying to contact %s", url)
            
            response = urllib.urlopen(url, data)
            response_json = json.read(response.read())
            api_version = int(response_json['api_version'])
            max_upload = int(response_json['max_upload'])
            logger.debug("API Version %s detected", api_version)

    
        except Exception, e:
            try:
                if e[1] == 401:
                    print '#####################################'
                    print '# YOUR API KEY SEEMS TO BE INVALID'
                    print '# ' + self.api_key
                    print '#####################################'
                    logger.critical("API Key invalid")
                    #sys.exit()
                    #time.sleep(30)
                    
            except Exception, e:
                pass
Exemplo n.º 3
0
    def get_version(self):
        logger = logging.getLogger("ApiClient.get_version")
        # lookup OBP version

        url = self.api_url + 'status.json'
        data = urllib.urlencode({'apikey': self.api_key})

        logger.debug("%s", url)

        try:

            logger.debug("Trying to contact %s", url)

            response = urllib.urlopen(url, data)
            response_json = json.read(response.read())
            api_version = int(response_json['api_version'])
            max_upload = int(response_json['max_upload'])
            logger.debug("API Version %s detected", api_version)

        except Exception, e:
            try:
                if e[1] == 401:
                    print '#####################################'
                    print '# YOUR API KEY SEEMS TO BE INVALID'
                    print '# ' + self.api_key
                    print '#####################################'
                    logger.critical("API Key invalid")
                    #sys.exit()
                    #time.sleep(30)

            except Exception, e:
                pass
Exemplo n.º 4
0
    def metadata_change(self, station, title):

        logger = logging.getLogger("ApiClient.metadata_change")

        data = {'apikey': self.api_key, 'station': station, 'title': title}

        url = self.api_url + 'metadata_change.json'
        data = urllib.urlencode(data)

        logger.debug("%s", url)

        try:
            logger.debug("Trying to contact %s", url)
            response = urllib.urlopen(url, data)
            response_json = json.read(response.read())

            api_version = int(response_json['api_version'])

            print response_json

            status = True

        except Exception, e:
            #print e
            status = False
Exemplo n.º 5
0
    def get_obp_version(self):
        logger = logging.getLogger("ApiClient.get_obp_version")
        # lookup OBP version
        
        url = self.api_url + 'api/pypo/status/json'
        
        
        logger.debug("%s", url)
        
        try:
            
            logger.debug("Trying to contact %s", url)
            
            response = urllib.urlopen(url, self.api_auth)
            response_json = json.read(response.read())
            obp_version = int(response_json['version'])
            logger.debug("OBP Version %s detected", obp_version)

    
        except Exception, e:
            try:
                if e[1] == 401:
                    print '#####################################'
                    print '# YOUR API KEY SEEMS TO BE INVALID'
                    print '# ' + self.api_auth
                    print '#####################################'
                    logger.critical("API Key invalid")
                    sys.exit()
                    
            except Exception, e:
                pass
Exemplo n.º 6
0
    def update_start_playing(self, playlist_type, export_source, media_id,
                             playlist_id, transmission_id, user_id):

        logger = logging.getLogger("ApiClient.update_shedueled_item")

        url = self.api_url + 'api/pypo/update_start_playing/' \
        + '?playlist_type=' + str(playlist_type) \
        + '&export_source=' + str(export_source) \
        + '&user_id=' + str(user_id) \
        + '&media_id=' + str(media_id) \
        + '&playlist_id=' + str(playlist_id) \
        + '&transmission_id=' + str(transmission_id)

        print url

        try:
            response = urllib.urlopen(url, self.api_auth)
            response = json.read(response.read())
            logger.info("API-Status %s", response['status'])
            logger.info("API-Message %s", response['message'])
            logger.info("TXT %s", response['str_dls'])

        except Exception, e:
            print e
            api_status = False
            logger.critical("Unable to connect to the OBP API - %s", e)
Exemplo n.º 7
0
    def get_obp_version(self):
        logger = logging.getLogger("ApiClient.get_obp_version")
        # lookup OBP version

        url = self.api_url + 'api/pypo/status/json'

        logger.debug("%s", url)

        try:

            logger.debug("Trying to contact %s", url)

            response = urllib.urlopen(url, self.api_auth)
            response_json = json.read(response.read())
            obp_version = int(response_json['version'])
            logger.debug("OBP Version %s detected", obp_version)

        except Exception, e:
            try:
                if e[1] == 401:
                    print '#####################################'
                    print '# YOUR API KEY SEEMS TO BE INVALID'
                    print '# ' + self.api_auth
                    print '#####################################'
                    logger.critical("API Key invalid")
                    sys.exit()

            except Exception, e:
                pass
Exemplo n.º 8
0
	def notify_media_item_start_playing(self, data, media_id):	
#	def update_start_playing(self, playlist_type, export_source, media_id, playlist_id, transmission_id):
		logger = logging.getLogger()
		playlist_type = data["playlist_type"]
		export_source = data["export_source"]
		playlist_id = data["playlist_id"]
		transmission_id = data["transmission_id"]
		
		url = self.config["base_url"] + self.config["api_base"] + self.config["update_start_playing_url"]
		url = url.replace("%%playlist_type%%", str(playlist_type))
		url = url.replace("%%export_source%%", str(export_source))
		url = url.replace("%%media_id%%", str(media_id))
		url = url.replace("%%playlist_id%%", str(playlist_id))
		url = url.replace("%%transmission_id%%", str(transmission_id))		
		print url
		
		try:
			response = urllib.urlopen(url, self.api_auth)
			response = json.read(response.read())
			logger.info("API-Status %s", response['status'])
			logger.info("API-Message %s", response['message'])
			logger.info("TXT %s", response['str_dls'])
	
		except Exception, e:
			print e
			api_status = False
			logger.critical("Unable to connect to the OBP API - %s", e)
Exemplo n.º 9
0
    def metadata_change(self, station, title):
        
        logger = logging.getLogger("ApiClient.metadata_change")
        
        
        data = {'apikey': self.api_key, 'station': station, 'title': title}
        
        url = self.api_url + 'metadata_change.json' 
        data = urllib.urlencode(data)
        
        logger.debug("%s", url)
        
        try:
            logger.debug("Trying to contact %s", url)
            response = urllib.urlopen(url, data)
            response_json = json.read(response.read())
            
            api_version = int(response_json['api_version'])

            print response_json

            status = True

        except Exception, e:
            #print e
            status = False
Exemplo n.º 10
0
    def load(self):
        dictionary = json.read(_filename)

        if dictionary:
            for key in dictionary:
                setattr(self, key, dictionary[key])

            self.file_extensions = sorted(self.file_extensions)
Exemplo n.º 11
0
    def load(self):
        dictionary = json.read(_filename)

        if dictionary:
            for key in dictionary:
                setattr(self, key, dictionary[key])

            self.file_extensions = sorted(self.file_extensions)
Exemplo n.º 12
0
	def notify_media_item_start_playing(self, data, media_id):
		logger = logging.getLogger()
		response = ''
		if (data[0] != '{'):
			return response
		try:
			data = json.read(data)
			logger.debug(str(data))
			schedule_id = data["schedule_id"]
			url = self.config["base_url"] + self.config["api_base"] + self.config["update_start_playing_url"]
			url = url.replace("%%media_id%%", str(media_id))
			url = url.replace("%%schedule_id%%", str(schedule_id))
			url = url.replace("%%api_key%%", self.config["api_key"])
			logger.debug(url)
			response = urllib.urlopen(url)
			response = json.read(response.read())
			logger.info("API-Status %s", response['status'])
			logger.info("API-Message %s", response['message'])
		
		except Exception, e:
			logger.critical("Exception: %s", e)
Exemplo n.º 13
0
    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)
Exemplo n.º 14
0
 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)
Exemplo n.º 15
0
 def update_shedueled_item(self, item_id, value):
     logger = logging.getLogger("ApiClient.update_shedueled_item")
     # lookup OBP version
     
     url = self.api_url + 'api/pypo/update_shedueled_item/' + str(item_id) + '?played=' + str(value)
     
     try:
         response = urllib.urlopen(url, self.api_auth)
         response = json.read(response.read())
         logger.info("API-Status %s", response['status'])
         logger.info("API-Message %s", response['message'])
 
     except Exception, e:
         print e
         api_status = False
         logger.critical("Unable to connect to the OBP API - %s", e)
Exemplo n.º 16
0
	def generate_range_dp(self):
		logger = logging.getLogger()
	
		url = self.config["base_url"] + self.config["api_base"] + self.config["generate_range_url"]
		
		try:
			response = urllib.urlopen(url, self.api_auth)
			response = json.read(response.read())
			logger.debug("Trying to contact %s", url)
			logger.info("API-Status %s", response['status'])
			logger.info("API-Message %s", response['message'])
	
		except Exception, e:
			print e
			api_status = False
			logger.critical("Unable to handle the OBP API request - %s", e)
Exemplo n.º 17
0
	def notify_scheduled_item_start_playing(self, pkey, schedule):
		logger = logging.getLogger()
		playlist = schedule[pkey]
		schedule_id = playlist["schedule_id"]		
		url = self.config["base_url"] + self.config["api_base"] + self.config["update_item_url"]
		url = url.replace("%%schedule_id%%", str(schedule_id))
		url = url.replace("%%api_key%%", self.config["api_key"])
		logger.debug(url)
		
		try:
			response = urllib.urlopen(url)
			response = json.read(response.read())
			logger.info("API-Status %s", response['status'])
			logger.info("API-Message %s", response['message'])
		
		except Exception, e:
			logger.critical("Unable to connect - %s", e)
Exemplo n.º 18
0
	def notify_scheduled_item_start_playing(self, pkey, schedule):
	#def update_scheduled_item(self, item_id, value):
		logger = logging.getLogger()
		url = self.config["base_url"] + self.config["api_base"] + self.config["update_item_url"]
		url = url.replace("%%item_id%%", str(schedule[pkey]["id"]))
		url = url.replace("%%played%%", "1")
		
		try:
			response = urllib.urlopen(url, self.api_auth)
			response = json.read(response.read())
			logger.info("API-Status %s", response['status'])
			logger.info("API-Message %s", response['message'])
	
		except Exception, e:
			print e
			api_status = False
			logger.critical("Unable to connect to the OBP API - %s", e)
Exemplo n.º 19
0
    def update_shedueled_item(self, item_id, value):
        logger = logging.getLogger("ApiClient.update_shedueled_item")
        # lookup OBP version

        url = self.api_url + 'api/pypo/update_shedueled_item/' + str(
            item_id) + '?played=' + str(value)

        try:
            response = urllib.urlopen(url, self.api_auth)
            response = json.read(response.read())
            logger.info("API-Status %s", response['status'])
            logger.info("API-Message %s", response['message'])

        except Exception, e:
            print e
            api_status = False
            logger.critical("Unable to connect to the OBP API - %s", e)
Exemplo n.º 20
0
 def generate_range_dp(self):
     logger = logging.getLogger("ApiClient.generate_range_dp")
 
     url = self.api_url + 'api/pypo/generate_range_dp/force/true'
     
     print '*** calling'
     print url
     print '***********'
     
     try:
         response = urllib.urlopen(url, self.api_auth)
         response = json.read(response.read())
         logger.debug("Trying to contact %s", url)
         logger.info("API-Status %s", response['status'])
         logger.info("API-Message %s", response['message'])
 
     except Exception, e:
         print e
         api_status = False
         logger.critical("Unable to handle the OBP API request - %s", e)
Exemplo n.º 21
0
    def generate_range_dp(self):
        logger = logging.getLogger("ApiClient.generate_range_dp")

        url = self.api_url + 'api/pypo/generate_range_dp/force/true'

        print '*** calling'
        print url
        print '***********'

        try:
            response = urllib.urlopen(url, self.api_auth)
            response = json.read(response.read())
            logger.debug("Trying to contact %s", url)
            logger.info("API-Status %s", response['status'])
            logger.info("API-Message %s", response['message'])

        except Exception, e:
            print e
            api_status = False
            logger.critical("Unable to handle the OBP API request - %s", e)
Exemplo n.º 22
0
	def get_schedule(self, start=None, end=None):
		logger = logging.getLogger()
		
		"""
		calculate start/end time range (format: YYYY-DD-MM-hh-mm-ss,YYYY-DD-MM-hh-mm-ss)
		(seconds are ignored, just here for consistency)
		"""
		tnow = time.localtime(time.time())
		if (not start):
			tstart = time.localtime(time.time() - 3600 * int(self.config["cache_for"]))
			start = "%04d-%02d-%02d-%02d-%02d" % (tstart[0], tstart[1], tstart[2], tstart[3], tstart[4])
			
		if (not end):			
			tend = time.localtime(time.time() + 3600 * int(self.config["prepare_ahead"]))
			end = "%04d-%02d-%02d-%02d-%02d" % (tend[0], tend[1], tend[2], tend[3], tend[4])
			
		range = {}
		range['start'] = start
		range['end'] = end
		
		# Construct the URL
		export_url = self.config["base_url"] + self.config["api_base"] + self.config["export_url"]
		#logger.debug("Exporting schedule using URL: "+export_url)
		
		# Insert the start and end times into the URL        
		export_url = export_url.replace('%%api_key%%', self.config["api_key"])
		export_url = export_url.replace('%%from%%', range['start'])
		export_url = export_url.replace('%%to%%', range['end'])
		logger.info("Fetching schedule from %s", export_url)
	
		response = ""
		status = 0
		try:
			response_json = urllib.urlopen(export_url).read()
			#logger.debug("%s", response_json)
			response = json.read(response_json)
			#logger.info("export status %s", response['check'])
			status = response['check']
		except Exception, e:
			print e
Exemplo n.º 23
0
	def get_obp_version(self):
		logger = logging.getLogger()

		# lookup OBP version		
		url = self.config["base_url"] + self.config["api_base"]+ self.config["version_url"]
		
		try:    
			logger.debug("Trying to contact %s", url)
			response = urllib.urlopen(url, self.api_auth)
			response_json = json.read(response.read())
			obp_version = int(response_json['version'])
			logger.debug("OBP Version %s detected", obp_version)
	
		except Exception, e:
			try:
				if e[1] == 401:
					print '#####################################'
					print '# YOUR API KEY SEEMS TO BE INVALID'
					print '# ' + self.config["api_auth"]
					print '#####################################'
					sys.exit()
					
			except Exception, e:
				pass
Exemplo n.º 24
0
	def __get_airtime_version(self, verbose = True):
		logger = logging.getLogger()
		url = self.config["base_url"] + self.config["api_base"] + self.config["version_url"]
		url = url.replace("%%api_key%%", self.config["api_key"])

		try:
			logger.debug("Trying to contact %s", url)
			response = urllib.urlopen(url)
			data = response.read()
			logger.debug("Data: %s", data)
			response_json = json.read(data)
			version = response_json['version']
			logger.debug("Airtime Version %s detected", version)    
		except Exception, e:
			try:
				if e[1] == 401:
					if (verbose):
						print '#####################################'
						print '# YOUR API KEY SEEMS TO BE INVALID:'
						print '# ' + self.config["api_key"]
						print '#####################################'
					return False
			except Exception, e:
				pass
Exemplo n.º 25
0
 def _load(self):
     content = json.read(_filename)
     if content:
         for dictionary in content:
             self.films.append(Film(**dictionary))