class Book(models.Model): book_id = models.IntegerField(unique=True) repo_name = models.CharField(max_length=255, null=True, blank=True) title = models.CharField(max_length=1000, default="", db_index=True,) language = models.CharField(max_length=5, default="en", null=False, db_index=True,) description = models.TextField(default="", null=True, blank=True,) yaml = models.TextField(null=True, default="") def __unicode__(self): return self.repo_name @property def repo_url(self): return 'https://github.com/{}/{}'.format(gh_org,self.repo_name) @property def issues_url(self): return 'https://github.com/{}/{}/issues'.format(gh_org,self.repo_name) @property def downloads_url(self): return 'https://github.com/{}/{}//releases'.format(gh_org,self.repo_name) @property def pg_url(self): return 'https://www.gutenberg.org/ebooks/{}'.format(self.book_id) _pandata=None def metadata(self): if not self._pandata: self._pandata=Pandata() self._pandata.load(self.yaml) return self._pandata.metadata
class Book(models.Model): book_id = models.IntegerField(unique=True) repo_name = models.CharField(max_length=255, null=True, blank=True) title = models.CharField( max_length=1000, default="", db_index=True, ) language = models.CharField( max_length=5, default="en", null=False, db_index=True, ) description = models.TextField( default="", null=True, blank=True, ) yaml = models.TextField(null=True, default="") def __unicode__(self): return self.repo_name @property def repo_url(self): return 'https://github.com/{}/{}'.format(gh_org, self.repo_name) @property def issues_url(self): return 'https://github.com/{}/{}/issues'.format(gh_org, self.repo_name) @property def downloads_url(self): return 'https://github.com/{}/{}//releases'.format( gh_org, self.repo_name) @property def pg_url(self): return 'https://www.gutenberg.org/ebooks/{}'.format(self.book_id) _pandata = None def metadata(self): if not self._pandata: self._pandata = Pandata() self._pandata.load(self.yaml) return self._pandata.metadata
def test_load_from_string(self): pandata = Pandata() pandata.load(TEST_YAML_STRING) self.assertEqual(pandata.authnames()[0],'Kafka, Franz')
def test_load_from_string(self): pandata = Pandata() pandata.load(TEST_YAML_STRING) self.assertEqual(pandata.authnames()[0], 'Kafka, Franz')