parent
dc86c0076d
commit
2420344604
@ -1,24 +0,0 @@
|
||||
# coding=utf-8
|
||||
|
||||
from flask import request, jsonify
|
||||
from flask_restful import Resource
|
||||
|
||||
from filesystem import browse_radarr_filesystem
|
||||
|
||||
from ..utils import authenticate
|
||||
|
||||
|
||||
class BrowseRadarrFS(Resource):
|
||||
@authenticate
|
||||
def get(self):
|
||||
path = request.args.get('path') or ''
|
||||
data = []
|
||||
try:
|
||||
result = browse_radarr_filesystem(path)
|
||||
if result is None:
|
||||
raise ValueError
|
||||
except Exception:
|
||||
return jsonify([])
|
||||
for item in result['directories']:
|
||||
data.append({'name': item['name'], 'children': True, 'path': item['path']})
|
||||
return jsonify(data)
|
@ -1,24 +0,0 @@
|
||||
# coding=utf-8
|
||||
|
||||
from flask import request, jsonify
|
||||
from flask_restful import Resource
|
||||
|
||||
from filesystem import browse_sonarr_filesystem
|
||||
|
||||
from ..utils import authenticate
|
||||
|
||||
|
||||
class BrowseSonarrFS(Resource):
|
||||
@authenticate
|
||||
def get(self):
|
||||
path = request.args.get('path') or ''
|
||||
data = []
|
||||
try:
|
||||
result = browse_sonarr_filesystem(path)
|
||||
if result is None:
|
||||
raise ValueError
|
||||
except Exception:
|
||||
return jsonify([])
|
||||
for item in result['directories']:
|
||||
data.append({'name': item['name'], 'children': True, 'path': item['path']})
|
||||
return jsonify(data)
|
@ -0,0 +1,27 @@
|
||||
# coding=utf-8
|
||||
|
||||
from flask import request
|
||||
from flask_restful import Resource
|
||||
|
||||
from ..utils import authenticate
|
||||
from indexer.movies.local.movies_indexer import get_movies_metadata
|
||||
from database import TableMovies
|
||||
from list_subtitles import store_subtitles_movie
|
||||
|
||||
|
||||
class MoviesAdd(Resource):
|
||||
@authenticate
|
||||
def post(self):
|
||||
# add a new movie to database
|
||||
tmdbId = request.args.get('tmdbid')
|
||||
rootdir_id = request.args.get('rootdir_id')
|
||||
directory = request.args.get('directory')
|
||||
movies_metadata = get_movies_metadata(tmdbid=tmdbId, root_dir_id=rootdir_id, dir_name=directory)
|
||||
if movies_metadata and movies_metadata['path']:
|
||||
try:
|
||||
result = TableMovies.insert(movies_metadata).execute()
|
||||
except Exception:
|
||||
pass
|
||||
else:
|
||||
if result:
|
||||
store_subtitles_movie(movies_metadata['path'])
|
@ -0,0 +1,15 @@
|
||||
# coding=utf-8
|
||||
|
||||
from flask import request, jsonify
|
||||
from flask_restful import Resource
|
||||
|
||||
from ..utils import authenticate
|
||||
from indexer.movies.local.movies_indexer import list_movies_directories
|
||||
|
||||
|
||||
class MoviesDirectories(Resource):
|
||||
@authenticate
|
||||
def get(self):
|
||||
# list movies directories inside a specific root folder
|
||||
root_folder_id = request.args.get('id')
|
||||
return jsonify(data=list_movies_directories(root_dir=root_folder_id))
|
@ -0,0 +1,16 @@
|
||||
# coding=utf-8
|
||||
|
||||
from flask import request, jsonify
|
||||
from flask_restful import Resource
|
||||
|
||||
from ..utils import authenticate
|
||||
from indexer.movies.local.movies_indexer import get_movies_match
|
||||
|
||||
|
||||
class MoviesLookup(Resource):
|
||||
@authenticate
|
||||
def get(self):
|
||||
# return possible matches from TMDB for a specific movie directory
|
||||
dir_name = request.args.get('dir_name')
|
||||
matches = get_movies_match(directory=dir_name)
|
||||
return jsonify(data=matches)
|
@ -0,0 +1,13 @@
|
||||
# coding=utf-8
|
||||
|
||||
# from flask import request, jsonify
|
||||
from flask_restful import Resource
|
||||
|
||||
from ..utils import authenticate
|
||||
|
||||
|
||||
class MoviesModify(Resource):
|
||||
@authenticate
|
||||
def patch(self):
|
||||
# modify an existing movie in database
|
||||
pass
|
@ -0,0 +1,27 @@
|
||||
# coding=utf-8
|
||||
|
||||
from flask import request, jsonify
|
||||
from flask_restful import Resource
|
||||
|
||||
from ..utils import authenticate
|
||||
from database import TableMoviesRootfolder
|
||||
|
||||
|
||||
class MoviesRootfolders(Resource):
|
||||
@authenticate
|
||||
def get(self):
|
||||
# list existing movies root folders
|
||||
root_folders = TableMoviesRootfolder.select().dicts()
|
||||
root_folders = list(root_folders)
|
||||
return jsonify(data=root_folders)
|
||||
|
||||
@authenticate
|
||||
def post(self):
|
||||
# add a new movies root folder
|
||||
path = request.form.get('path')
|
||||
result = TableMoviesRootfolder.insert({
|
||||
TableMoviesRootfolder.path: path,
|
||||
TableMoviesRootfolder.accessible: 1, # TODO: test it instead of assuming it's accessible
|
||||
TableMoviesRootfolder.error: ''
|
||||
}).execute()
|
||||
return jsonify(data=list(TableMoviesRootfolder.select().where(TableMoviesRootfolder.rootId == result).dicts()))
|
@ -0,0 +1,27 @@
|
||||
# coding=utf-8
|
||||
|
||||
from flask import request
|
||||
from flask_restful import Resource
|
||||
|
||||
from ..utils import authenticate
|
||||
from indexer.series.local.series_indexer import get_series_metadata
|
||||
from database import TableShows
|
||||
from list_subtitles import store_subtitles
|
||||
|
||||
|
||||
class SeriesAdd(Resource):
|
||||
@authenticate
|
||||
def post(self):
|
||||
# add a new series to database
|
||||
tmdbId = request.args.get('tmdbid')
|
||||
rootdir_id = request.args.get('rootdir_id')
|
||||
directory = request.args.get('directory')
|
||||
series_metadata = get_series_metadata(tmdbid=tmdbId, root_dir_id=rootdir_id, dir_name=directory)
|
||||
if series_metadata and series_metadata['path']:
|
||||
try:
|
||||
result = TableShows.insert(series_metadata).execute()
|
||||
except Exception:
|
||||
pass
|
||||
else:
|
||||
if result:
|
||||
store_subtitles(series_metadata['path'])
|
@ -0,0 +1,15 @@
|
||||
# coding=utf-8
|
||||
|
||||
from flask import request, jsonify
|
||||
from flask_restful import Resource
|
||||
|
||||
from ..utils import authenticate
|
||||
from indexer.series.local.series_indexer import list_series_directories
|
||||
|
||||
|
||||
class SeriesDirectories(Resource):
|
||||
@authenticate
|
||||
def get(self):
|
||||
# list series directories inside a specific root folder
|
||||
root_folder_id = request.args.get('id')
|
||||
return jsonify(data=list_series_directories(root_dir=root_folder_id))
|
@ -0,0 +1,16 @@
|
||||
# coding=utf-8
|
||||
|
||||
from flask import request, jsonify
|
||||
from flask_restful import Resource
|
||||
|
||||
from ..utils import authenticate
|
||||
from indexer.series.local.series_indexer import get_series_match
|
||||
|
||||
|
||||
class SeriesLookup(Resource):
|
||||
@authenticate
|
||||
def get(self):
|
||||
# return possible matches from TMDB for a specific series directory
|
||||
dir_name = request.args.get('dir_name')
|
||||
matches = get_series_match(directory=dir_name)
|
||||
return jsonify(data=matches)
|
@ -0,0 +1,12 @@
|
||||
# coding=utf-8
|
||||
|
||||
from flask_restful import Resource
|
||||
|
||||
from ..utils import authenticate
|
||||
|
||||
|
||||
class SeriesModify(Resource):
|
||||
@authenticate
|
||||
def patch(self):
|
||||
# modify an existing series in database
|
||||
pass
|
@ -0,0 +1,27 @@
|
||||
# coding=utf-8
|
||||
|
||||
from flask import request, jsonify
|
||||
from flask_restful import Resource
|
||||
|
||||
from ..utils import authenticate
|
||||
from database import TableShowsRootfolder
|
||||
|
||||
|
||||
class SeriesRootfolders(Resource):
|
||||
@authenticate
|
||||
def get(self):
|
||||
# list existing series root folders
|
||||
root_folders = TableShowsRootfolder.select().dicts()
|
||||
root_folders = list(root_folders)
|
||||
return jsonify(data=root_folders)
|
||||
|
||||
@authenticate
|
||||
def post(self):
|
||||
# add a new series root folder
|
||||
path = request.form.get('path')
|
||||
result = TableShowsRootfolder.insert({
|
||||
TableShowsRootfolder.path: path,
|
||||
TableShowsRootfolder.accessible: 1, # TODO: test it instead of assuming it's accessible
|
||||
TableShowsRootfolder.error: ''
|
||||
}).execute()
|
||||
return jsonify(data=list(TableShowsRootfolder.select().where(TableShowsRootfolder.rootId == result).dicts()))
|
Loading…
Reference in new issue