Example #1
0
def listItems():
    r = cocomo.query(
        "SELECT CONCAT('[',CONCAT(GROUP_CONCAT(REPLACE(track_json,\";\",'\"')),']')) FROM track_playlist WHERE id_playlist = '"
        + _POST["id"]
        + "'"
    )
    cocomo.printJson(r, "success")
Example #2
0
def downloadFisicalFile(youtubeId, idName):
	yt = YouTube()
	yt.url = ("http://www.youtube.com/watch?v=" + youtubeId)
	yt.filename = idName
	video = 0
	if len(yt.filter('mp4')) > 0:
		if len(yt.filter(resolution='720p')) > 0:
			video = yt.get('mp4','720p')
		else:
			video = yt.get('mp4')

		video.download("tempvideo/")
	else:
		cocomo.printJson("no se puede descargar el archivo", "error")
Example #3
0
def smartGet( url, service=True ):
	# cache = cocomo.query("CALL getCache ( '" + url + "' )")
	# n = len(cache)
	# if n != 0:
	# 	if service:
	# 		cocomo.printJson( json.loads( cache[0][0].decode("hex") ) , "success" )
	# 		return
	# 	else:
	# 		return json.loads( cache[0][0].decode("hex") )
	# else:
	# 	f = urllib2.urlopen(url)
	# 	f = json.loads(f.read())
	# 	cocomo.execute("CALL setCache ( '" + url + "', '" + json.dumps(f).encode("hex") + "' )")
	# 	return f
	f = urllib2.urlopen(url)
	f = json.loads(f.read())
	if service:
		cocomo.printJson( f , "success" )
		return
	else:
		return f
Example #4
0
def download():
	try:
		###saber si ya existe el archivo en el servidor para no hacer todo el proceso
		if os.path.exists("../audio/"+_POST['id']+"/"):
			trackName = os.listdir("../audio/"+_POST['id']+"/")[0]
			cocomo.printJson( { "trackURL":"audio/"+_POST['id']+"/"+trackName.replace(" ", "%20") } , "success")
			return
	
		track = getInfo(service=False)
		##Recordatorio de la estrutura del json
		#track['title']
		#track['id']
		#track['position']
		#track['artist']['name']
		#track['album']['title']
		#track['album']['cover_big']
		youtubeId = getIdByYoutube(track['title'].encode('utf-8') + " - " + track['artist']['name'].encode('utf-8'))
		downloadFisicalFile(youtubeId, track['id'])
	
		os.makedirs("../audio/"+str(track['id']))
		import subprocess
		subprocess.call("ffmpeg -i tempvideo/"+str(track['id'])+".mp4 -b:a 192K -vn \"../audio/"+str(track['id'])+"/"+track['title']+".mp3\" -loglevel quiet 2>tempvideo/output", shell=True, stdout=subprocess.PIPE)
		os.remove("tempvideo/"+str(track['id'])+".mp4")
	
		#descargar imagen
		#getImage(track['album']['cover'], str(track['id']))
		#completar archivo mp3
		setInfo(track)
		
		#cocomo.execute("CALL insertDownload ( '" + _POST['id_user'] + "' , '" + _POST['id'] + "' )")
		
		cocomo.printJson({"trackURL":"../audio/"+_POST['id']+"/"+track['title']+".mp3"}, "success")
	except Exception, ex:
		cocomo.printJson("No se puede obtener el archivo descargado, El motor dice: " + str(ex), "error")
Example #5
0
def _MAIN():
    try:
        exec _EXECUTE
    except NameError:
        cocomo.printJson("funtion '" + _EXECUTE + "' not found", "error")
Example #6
0
def listByUser():
    r = cocomo.query("SELECT id_playlist , nombre FROM playlist WHERE id_user = '******'")
    cocomo.printJson(r, "success")
Example #7
0
def getInfo(service=True):
	f = smartGet( "http://api.deezer.com/track/" + str ( _POST['id'] ) , service )
	if service:
		cocomo.printJson(f, "success")
	else:
		return f
Example #8
0
def getDownloadUser():
	_result = cocomo.query("CALL getDownloaUser ( " + _POST['id_user'] + " )")
	cocomo.printJson(_result, "success")
Example #9
0
def _MAIN():
	try:
		exec _EXECUTE
	except NameError:
		cocomo.printJson("funtion '"+_EXECUTE+"' not found", "error")
Example #10
0
def listItems():
    r = cocomo.query(
        "SELECT CONCAT('[',CONCAT(GROUP_CONCAT(REPLACE(track_json,\";\",'\"')),']')) FROM track_playlist WHERE id_playlist = '"
        + _POST['id'] + "'")
    cocomo.printJson(r, "success")
Example #11
0
def newPlaylist():
    cocomo.execute("INSERT INTO playlist (id_user,nombre) VALUES ( '" +
                   _POST['id'] + "',  '" + _POST['nombre'] + "')")
    cocomo.printJson("1", "success")
Example #12
0
def listByUser():
    r = cocomo.query(
        "SELECT id_playlist , nombre FROM playlist WHERE id_user = '******'id'] + "'")
    cocomo.printJson(r, "success")
Example #13
0
def addItem():
    cocomo.execute(
        "INSERT INTO track_playlist (id_playlist,track_json) VALUES ( '" +
        _POST['id'] + "',  '" + _POST['track'] + "')")
    cocomo.printJson("1", "success")
Example #14
0
def insertUser():
	cocomo.execute("CALL insertUser ( '" + _POST['id'] + "' )")
	cocomo.printJson("[user.py>insertUser()]", "success")
Example #15
0
def newPlaylist():
    cocomo.execute("INSERT INTO playlist (id_user,nombre) VALUES ( '" + _POST["id"] + "',  '" + _POST["nombre"] + "')")
    cocomo.printJson("1", "success")
Example #16
0
def search():
	query = _POST['query'].replace(" ", "%20")
	cocomo.printJson ( smartGet ( "http://api.deezer.com/search?q=" + query ) , "success" )
Example #17
0
def addItem():
    cocomo.execute(
        "INSERT INTO track_playlist (id_playlist,track_json) VALUES ( '" + _POST["id"] + "',  '" + _POST["track"] + "')"
    )
    cocomo.printJson("1", "success")
Example #18
0
def insertFAQ():
	cocomo.execute("CALL insertFaq ( " + _POST['id_user'] + " , '" + _POST['comentario'] + "' )")
	cocomo.printJson("[user.py>insertFAQ()]", "success")