added changes on checking similarity
This commit is contained in:
64
base/api/views.py
Normal file
64
base/api/views.py
Normal file
@ -0,0 +1,64 @@
|
||||
import os
|
||||
from rest_framework.decorators import api_view
|
||||
from rest_framework.response import Response
|
||||
from base.models import tb_bacaan
|
||||
from .serializers import tb_bacaanSerializer
|
||||
from .check_similarity import check_similarity
|
||||
from .interfaceCLI import cek_simlilarity2
|
||||
|
||||
from .librosa_run import fungsi_librosa
|
||||
|
||||
@api_view(['GET', 'POST'])
|
||||
def getRoutes(request):
|
||||
|
||||
if request.method == 'GET':
|
||||
|
||||
routes = [
|
||||
'GET /api',
|
||||
'POST /api/bacaan',
|
||||
|
||||
|
||||
]
|
||||
return Response(routes)
|
||||
if request.method == 'POST':
|
||||
url_bacaan = request.POST['url_bacaan']
|
||||
nama = request.FILES['sound'].name
|
||||
nama = nama.replace('Z', '').replace('.wav', '').replace('.', '').replace('-', ' ').replace(':', ' ').replace('T', ' ')
|
||||
path = 'static/uploaded/'
|
||||
# print(bool(request.FILES.get('hehe', False))) # check if file is empty , true is not empty . false is empty
|
||||
handle_uploaded_file(request.FILES['sound'],url_bacaan,nama)
|
||||
# check_similarity(path+nama+'.wav', 'static/audio/'+url_bacaan)
|
||||
# similarity = check_similarity(path+nama+'.wav', 'static/audio/'+url_bacaan)
|
||||
librosa_run = fungsi_librosa(path+nama+'.wav', 'static/audio/'+url_bacaan)
|
||||
# remove athe last 5 char on url_bacaan
|
||||
url_bacaan = url_bacaan[:-5]
|
||||
# print(url_bacaan)
|
||||
# similarity2 = cek_simlilarity2(path+nama+'.wav', 'static/audio/'+url_bacaan)
|
||||
dataall = {'data' : 'sini data'}
|
||||
#add librosa_run dictinary to dataall
|
||||
dataall.update(librosa_run)
|
||||
return Response(dataall)
|
||||
|
||||
|
||||
def handle_uploaded_file(f,url_bacaan,nama):
|
||||
path = 'static/uploaded/' # this is the path to the folder where you want to save the file
|
||||
isExist = os.path.exists(path) # check if the folder exist
|
||||
if not isExist: # if not exist then create the folder
|
||||
os.mkdir(path) # create the folder
|
||||
with open(path+nama+'.wav', 'wb+') as destination:
|
||||
for chunk in f.chunks():
|
||||
destination.write(chunk)
|
||||
|
||||
|
||||
|
||||
@api_view(['GET'])
|
||||
def getBacaans(request):
|
||||
bacaans = tb_bacaan.objects.all()
|
||||
serializer = tb_bacaanSerializer(bacaans, many=True)
|
||||
return Response(serializer.data)
|
||||
|
||||
@api_view(['GET'])
|
||||
def getBacaan(request,pk):
|
||||
bacaan = tb_bacaan.objects.get(id=pk)
|
||||
serializer = tb_bacaanSerializer(bacaan)
|
||||
return Response(serializer.data)
|
||||
Reference in New Issue
Block a user