diff --git a/ippisite/ippidb/models.py b/ippisite/ippidb/models.py index 66299eea4dbddff095132ace2b0bcb7a9e25bc33..ca8c46d59537ccbc877d2cc5d977dbb831e62ffd 100644 --- a/ippisite/ippidb/models.py +++ b/ippisite/ippidb/models.py @@ -3,7 +3,7 @@ from __future__ import unicode_literals from django.db import models from django.db.models import Max -from .ws import get_pubmed_info, get_epo_info, get_uniprot_info, get_taxonomy_info, get_go_info, get_pfam_info +from .ws import get_pubmed_info, get_google_patent_info, get_uniprot_info, get_taxonomy_info, get_go_info, get_pfam_info class AutoFillableModel(models.Model): @@ -56,7 +56,7 @@ class Bibliography(AutoFillableModel): if self.source == 'PM': info = get_pubmed_info(self.id_source) else: - info = get_epo_info(self.id_source) + info = get_google_patent_info(self.id_source) self.title = info['title'] self.journal_name = info['journal_name'] self.authors_list = info['authors_list'] diff --git a/ippisite/ippidb/ws.py b/ippisite/ippidb/ws.py index 7f699d49064549ae9893e3e35f87535d0509634a..03fc0ff163fbe3ecdc3a09e958de77ec8c9c3409 100644 --- a/ippisite/ippidb/ws.py +++ b/ippisite/ippidb/ws.py @@ -44,6 +44,24 @@ def get_epo_info(patent_number): 'biblio_year': biblio_year, 'authors_list': authors} +def get_google_patent_info(patent_number): + url = 'https://encrypted.google.com/patents/{}.ris'.format(patent_number) + resp = requests.get(url) + title = None + authors = [] + biblio_year = None + for line_str in resp.text.split("\n"): + line = line_str.strip().split(" - ") + if line[0] == "A1": + authors.append(line[1]) + elif line[0] == "T1": + title = line[1] + elif line[0] == "Y1": + biblio_year = line[1].split("/")[0] + return {'title': title, + 'journal_name': None, + 'biblio_year': biblio_year, + 'authors_list': authors} def get_uniprot_info(uniprot_id): uniprot_client = UniProt()