Coverage for bib/models.py: 77%
22 statements
« prev ^ index » next coverage.py v7.5.3, created at 2024-06-10 15:48 +0000
« prev ^ index » next coverage.py v7.5.3, created at 2024-06-10 15:48 +0000
1# -*- coding: utf-8 -*-
2from django.db import models
3from django.conf import settings
6class Book(models.Model):
7 zoterokey = models.CharField(max_length=100, primary_key=True)
8 item_type = models.CharField(max_length=100, blank=True, null=True)
9 author = models.CharField(max_length=100, blank=True, null=True)
10 title = models.CharField(max_length=500, blank=True, null=True)
11 publication_title = models.CharField(max_length=100, blank=True, null=True)
12 short_title = models.CharField(max_length=500, blank=True, null=True)
13 publication_year = models.IntegerField(blank=True, null=True)
14 place = models.CharField(max_length=100, blank=True, null=True)
15 isbn = models.CharField(max_length=100, blank=True, null=True)
16 issn = models.CharField(max_length=100, blank=True, null=True)
17 doi = models.CharField(max_length=100, blank=True, null=True)
18 url = models.CharField(max_length=100, blank=True, null=True)
20 def get_zotero_url(self):
21 "Returns the objects URL pointing to its Zotero entry"
22 try:
23 return "/".join(
24 [settings.Z_BASE_URL, settings.Z_COLLECTION, "itemKey", self.zoterokey]
25 )
26 except: # noqa
27 return None
29 def __str__(self):
30 return "{}, {}".format(self.author, self.title)