mirror of
https://github.com/spl0k/supysonic.git
synced 2024-12-22 08:56:17 +00:00
correct exeption and double daeomon use
This commit is contained in:
parent
7fa30db647
commit
479d4ec654
7
supysonic/api/exceptions.py
Normal file → Executable file
7
supysonic/api/exceptions.py
Normal file → Executable file
@ -122,10 +122,3 @@ class AggregateException(SubsonicAPIException):
|
||||
)
|
||||
# rv.status_code = self.code
|
||||
return rv
|
||||
|
||||
class DaemonUnavailable(SubsonicAPIException):
|
||||
code = 404
|
||||
api_code = 80
|
||||
message = (
|
||||
"Supysonic Daemon not running on this server."
|
||||
)
|
45
supysonic/api/scan.py
Normal file → Executable file
45
supysonic/api/scan.py
Normal file → Executable file
@ -1,33 +1,42 @@
|
||||
|
||||
from . import api
|
||||
from functools import wraps
|
||||
from flask import request
|
||||
from flask import current_app
|
||||
from .user import admin_only
|
||||
from .exceptions import Forbidden,DaemonUnavailable,ServerError
|
||||
from ..db import Folder
|
||||
from .exceptions import ServerError
|
||||
from ..daemon.client import DaemonClient
|
||||
from ..daemon.exceptions import DaemonUnavailableError
|
||||
from ..managers.folder import FolderManager
|
||||
|
||||
|
||||
@api.route("/startScan.view", methods=["GET", "POST"])
|
||||
@admin_only
|
||||
def startScan():
|
||||
try:
|
||||
DaemonClient(current_app.config["DAEMON"]["socket"]).scan()
|
||||
except ValueError as e:
|
||||
ServerError(str(e))
|
||||
except DaemonUnavailableError:
|
||||
raise DaemonUnavailable()
|
||||
return getScanStatus()
|
||||
daeomonclient = DaemonClient(current_app.config["DAEMON"]["socket"])
|
||||
daeomonclient.scan()
|
||||
scanned = daeomonclient.get_scanning_progress()
|
||||
except Exception as e:
|
||||
raise ServerError(str(e))
|
||||
return request.formatter(
|
||||
"scanStatus",
|
||||
dict(
|
||||
scanning="true" if scanned is not None else "false",
|
||||
count=scanned if scanned is not None else 0,
|
||||
),
|
||||
)
|
||||
|
||||
|
||||
@api.route("/getScanStatus.view", methods=["GET", "POST"])
|
||||
@admin_only
|
||||
def getScanStatus():
|
||||
try:
|
||||
scanned=DaemonClient(current_app.config["DAEMON"]["socket"]).get_scanning_progress()
|
||||
except DaemonUnavailableError:
|
||||
raise DaemonUnavailable()
|
||||
return request.formatter("scanStatus",
|
||||
dict(scanning='true' if scanned is not None else 'false',
|
||||
count= scanned if scanned is not None else 0))
|
||||
scanned = DaemonClient(
|
||||
current_app.config["DAEMON"]["socket"]
|
||||
).get_scanning_progress()
|
||||
except Exception as e:
|
||||
raise ServerError(str(e))
|
||||
return request.formatter(
|
||||
"scanStatus",
|
||||
dict(
|
||||
scanning="true" if scanned is not None else "false",
|
||||
count=scanned if scanned is not None else 0,
|
||||
),
|
||||
)
|
||||
|
Loading…
Reference in New Issue
Block a user