Ejemplo n.º 1
0
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
Ejemplo n.º 2
0
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
Ejemplo n.º 3
0
 def test_load_from_string(self):
     pandata = Pandata()
     pandata.load(TEST_YAML_STRING)
     self.assertEqual(pandata.authnames()[0],'Kafka, Franz')
Ejemplo n.º 4
0
 def test_load_from_string(self):
     pandata = Pandata()
     pandata.load(TEST_YAML_STRING)
     self.assertEqual(pandata.authnames()[0], 'Kafka, Franz')