Coverage for bib/models.py: 77%

22 statements  

« 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 

4 

5 

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) 

19 

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 

28 

29 def __str__(self): 

30 return "{}, {}".format(self.author, self.title)