Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
M
minor
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Packages & Registries
Packages & Registries
Container Registry
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Christian Knuchel
minor
Commits
02b910bc
Commit
02b910bc
authored
Jan 27, 2019
by
Fence
🌈
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
some api fixes
parent
955d493f
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
35 additions
and
29 deletions
+35
-29
minor/controller/api.py
minor/controller/api.py
+1
-1
minor/controller/music.py
minor/controller/music.py
+34
-28
No files found.
minor/controller/api.py
View file @
02b910bc
...
...
@@ -13,7 +13,7 @@ class ApiController(FlaskController):
@
route
(
""
)
def
index
(
self
):
v
=
{
"version"
:
version
.
number
,
"name"
:
version
.
name
}
v
=
{
"version"
:
version
.
number
,
"name"
:
version
.
name
,
"code"
:
200
}
return
jsonify
(
v
)
@
route
(
"/ping"
)
...
...
minor/controller/music.py
View file @
02b910bc
...
...
@@ -9,6 +9,7 @@ from minor.decorators import json_required, auth_required
from
minor.model
import
Song
from
minor.util
import
get_ext
,
transform_mongo_dict
@
route
(
"/api/music"
)
class
MusicController
(
FlaskController
):
def
__init__
(
self
,
upload_dir
):
...
...
@@ -59,26 +60,27 @@ class MusicController(FlaskController):
@
auth_required
@
route
(
"/songs/<id>"
)
def
song
(
self
,
id
,
payload
=
None
):
song
=
Song
.
objects
.
get
(
id
=
id
)
try
:
song
=
Song
.
objects
.
get
(
id
=
id
)
except
Song
.
DoesNotExist
:
return
jsonify
({
"code"
:
404
,
"message"
:
"not found"
}),
404
if
song
is
not
None
:
song
=
transform_mongo_dict
(
json
.
loads
(
song
.
to_json
()))
return
jsonify
({
"code"
:
200
,
"message"
:
"ok"
,
"data"
:
song
}),
200
else
:
return
jsonify
({
"code"
:
400
,
"message"
:
"bad_request"
}),
400
song
=
transform_mongo_dict
(
json
.
loads
(
song
.
to_json
()))
return
jsonify
({
"code"
:
200
,
"message"
:
"ok"
,
"data"
:
song
}),
200
@
auth_required
@
route
(
"/songs/<id>/hasfile"
)
def
song_has_file
(
self
,
id
,
payload
=
None
):
song
=
Song
.
objects
.
get
(
id
=
id
)
if
song
is
not
None
:
filename
=
self
.
_upload_dir
+
"/"
+
str
(
song
.
id
)
+
".mp3"
if
os
.
path
.
isfile
(
filename
):
return
jsonify
({
"code"
:
200
,
"message"
:
"ok"
,
"data"
:
True
}),
200
else
:
return
jsonify
({
"code"
:
200
,
"message"
:
"ok"
,
"data"
:
False
}),
200
try
:
song
=
Song
.
objects
.
get
(
id
=
id
)
except
Song
.
DoesNotExist
:
return
jsonify
({
"code"
:
404
,
"message"
:
"not found"
}),
404
filename
=
self
.
_upload_dir
+
"/"
+
str
(
song
.
id
)
+
".mp3"
if
os
.
path
.
isfile
(
filename
):
return
jsonify
({
"code"
:
200
,
"message"
:
"ok"
,
"data"
:
True
}),
200
else
:
return
jsonify
({
"code"
:
400
,
"message"
:
"bad_request"
}),
4
00
return
jsonify
({
"code"
:
200
,
"message"
:
"ok"
,
"data"
:
False
}),
2
00
@
auth_required
@
json_required
...
...
@@ -114,19 +116,23 @@ class MusicController(FlaskController):
def
song_file
(
self
,
id
,
payload
=
None
):
if
'file'
in
request
.
files
:
file
=
request
.
files
[
"file"
]
db_song
=
Song
.
objects
.
get
(
id
=
id
)
if
db_song
is
not
None
:
if
file
.
filename
is
not
''
:
ext
=
get_ext
(
file
.
filename
)
if
ext
is
not
None
:
name
=
secure_filename
(
str
(
db_song
.
id
)
+
"."
+
ext
)
path
=
os
.
path
.
join
(
self
.
_upload_dir
,
name
)
file
.
save
(
path
)
# update db entry with the length of the song
db_song
.
playtime
=
MP3
(
path
).
info
.
length
db_song
.
save
()
return
jsonify
({
"code"
:
200
,
"message"
:
"ok"
}),
200
try
:
db_song
=
Song
.
objects
.
get
(
id
=
id
)
except
Song
.
DoesNotExist
:
return
jsonify
({
"code"
:
404
,
"message"
:
"not found"
}),
404
if
file
.
filename
is
not
''
:
ext
=
get_ext
(
file
.
filename
)
if
ext
is
not
None
:
name
=
secure_filename
(
str
(
db_song
.
id
)
+
"."
+
ext
)
path
=
os
.
path
.
join
(
self
.
_upload_dir
,
name
)
file
.
save
(
path
)
# update db entry with the length of the song
db_song
.
playtime
=
MP3
(
path
).
info
.
length
db_song
.
save
()
return
jsonify
({
"code"
:
200
,
"message"
:
"ok"
}),
200
return
jsonify
({
"code"
:
400
,
"message"
:
"bad_request"
}),
400
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment