calibre-web/cps/metadata_provider/scholar.py

51 lines
1.5 KiB
Python
Raw Normal View History

2021-07-05 16:55:54 +00:00
# -*- coding: utf-8 -*-
# This file is part of the Calibre-Web (https://github.com/janeczku/calibre-web)
# Copyright (C) 2021 OzzieIsaacs
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
2021-07-06 18:24:27 +00:00
from scholarly import scholarly
2021-07-05 16:55:54 +00:00
2021-07-06 18:24:27 +00:00
import json
2021-07-05 16:55:54 +00:00
from cps.services.Metadata import Metadata
2021-07-06 18:24:27 +00:00
#try:
2021-07-05 16:55:54 +00:00
2021-07-06 18:24:27 +00:00
#except ImportError:
# have_scholar = False
# pass
class scholar(Metadata):
__name__ = "ComicVine"
2021-07-05 16:55:54 +00:00
def search(self, query):
if self.active:
2021-07-06 18:24:27 +00:00
if True:
scholar_gen = scholarly.search_pubs(' '.join(query.split('+')))
i = 0
result = []
for publication in scholar_gen:
del publication['source']
result.append(publication)
i += 1
if (i >= 10):
break
return json.dumps(result)
return "[]"
2021-07-05 16:55:54 +00:00