API для работы с файлами, индексация файлов и результатов распощнавания
This commit is contained in:
@@ -0,0 +1,65 @@
|
||||
# Legacy database API support
|
||||
# Этот модуль обеспечивает обратную совместимость со старым кодом
|
||||
|
||||
from apiApp.crud import AudioCRUD, AiConclusionCRUD
|
||||
|
||||
class AudioDB:
|
||||
"""
|
||||
Совместимый слой для старого API
|
||||
"""
|
||||
|
||||
@staticmethod
|
||||
def list():
|
||||
from apiApp.database import SessionLocal
|
||||
db = SessionLocal()
|
||||
try:
|
||||
return AudioCRUD.get_all(db)
|
||||
finally:
|
||||
db.close()
|
||||
|
||||
@staticmethod
|
||||
def get(audio_id):
|
||||
from apiApp.database import SessionLocal
|
||||
db = SessionLocal()
|
||||
try:
|
||||
return AudioCRUD.get_by_id(db, audio_id)
|
||||
finally:
|
||||
db.close()
|
||||
|
||||
@staticmethod
|
||||
def add(data):
|
||||
from apiApp.database import SessionLocal
|
||||
from apiApp.schemas import AudioCreate
|
||||
db = SessionLocal()
|
||||
try:
|
||||
audio_data = AudioCreate(**data)
|
||||
return AudioCRUD.create(db, audio_data, file_path=data.get('file_path', ''))
|
||||
finally:
|
||||
db.close()
|
||||
|
||||
@staticmethod
|
||||
def put(audio_id, data):
|
||||
from apiApp.database import SessionLocal
|
||||
db = SessionLocal()
|
||||
try:
|
||||
return AudioCRUD.update(db, audio_id, data)
|
||||
finally:
|
||||
db.close()
|
||||
|
||||
@staticmethod
|
||||
def delete(audio_id):
|
||||
from apiApp.database import SessionLocal
|
||||
db = SessionLocal()
|
||||
try:
|
||||
return AudioCRUD.delete(db, audio_id)
|
||||
finally:
|
||||
db.close()
|
||||
|
||||
@staticmethod
|
||||
def update_recognition_result(audio_id, result):
|
||||
from apiApp.database import SessionLocal
|
||||
db = SessionLocal()
|
||||
try:
|
||||
return AudioCRUD.update_recognition_result(db, audio_id, result)
|
||||
finally:
|
||||
db.close()
|
||||
@@ -0,0 +1,38 @@
|
||||
|
||||
from apiApp.database.Audio import Audio
|
||||
from apiApp.database import db
|
||||
import datetime
|
||||
|
||||
class AudioDB:
|
||||
|
||||
@staticmethod
|
||||
def list():
|
||||
return Audio.query.all()
|
||||
|
||||
@staticmethod
|
||||
def get(audio_id):
|
||||
return Audio.query.get(audio_id)
|
||||
|
||||
@staticmethod
|
||||
def add(data):
|
||||
data['datetime'] = datetime.datetime.now()
|
||||
audio = Audio(**data)
|
||||
db.session.add(audio)
|
||||
db.session.commit()
|
||||
return audio
|
||||
|
||||
@staticmethod
|
||||
def put(audio_id, data):
|
||||
audio = Audio.query.get(audio_id)
|
||||
for key, value in data.items():
|
||||
setattr(audio, key, value)
|
||||
db.session.commit()
|
||||
return audio
|
||||
|
||||
@staticmethod
|
||||
def delete(audio_id):
|
||||
audio = Audio.query.get(audio_id)
|
||||
db.session.delete(audio)
|
||||
db.session.commit()
|
||||
return audio
|
||||
|
||||
Reference in New Issue
Block a user