Remove fedireads_key field

we have ID
This commit is contained in:
Mouse Reeve
2020-05-03 17:53:14 -07:00
parent fba1397444
commit 2fd7792f34
21 changed files with 65 additions and 70 deletions

View File

@ -9,6 +9,8 @@ from .abstract_connector import update_from_mappings, get_date
class Connector(AbstractConnector):
''' interact with other instances '''
def search(self, query):
''' right now you can't search fedireads, but... '''
resp = requests.get(
@ -23,11 +25,11 @@ class Connector(AbstractConnector):
return resp.json()
def get_or_create_book(self, fedireads_key):
def get_or_create_book(self, remote_id):
''' pull up a book record by whatever means possible '''
try:
book = models.Book.objects.select_subclasses().get(
fedireads_key=fedireads_key
remote_id=remote_id
)
return book
except ObjectDoesNotExist:
@ -35,14 +37,14 @@ class Connector(AbstractConnector):
# we can't load a book from a remote server, this is it
return None
# no book was found, so we start creating a new one
book = models.Book(fedireads_key=fedireads_key)
book = models.Book(remote_id=remote_id)
def update_book(self, book):
''' add remote data to a local book '''
fedireads_key = book.fedireads_key
remote_id = book.remote_id
response = requests.get(
'%s/%s' % (self.base_url, fedireads_key),
'%s/%s' % (self.base_url, remote_id),
headers={
'Accept': 'application/activity+json; charset=utf-8',
},
@ -81,21 +83,21 @@ class Connector(AbstractConnector):
return book
def get_or_create_author(self, fedireads_key):
def get_or_create_author(self, remote_id):
''' load that author '''
try:
return models.Author.objects.get(fedireads_key=fedireads_key)
return models.Author.objects.get(remote_id=remote_id)
except ObjectDoesNotExist:
pass
resp = requests.get('%s/authors/%s.json' % (self.url, fedireads_key))
resp = requests.get('%s/authors/%s.json' % (self.url, remote_id))
if not resp.ok:
resp.raise_for_status()
data = resp.json()
# ingest a new author
author = models.Author(fedireads_key=fedireads_key)
author = models.Author(remote_id=remote_id)
mappings = {
'born': ('born', get_date),
'died': ('died', get_date),