<commit_before># -*- coding: UTF-8 -*-
from django.db import models
from django.conf import settings
from django.contrib.auth.models import User
import tagging
import tagging.fields

POST_STATUS = (('P', 'Pubblicato'), ('D', 'Bozza'))

class Post(models.Model):
    date = models.DateTimeField(db_index=True)
    author = models.ForeignKey(User)
    status = models.CharField(max_length = 1, default = 'P', choices = POST_STATUS)
    allow_comments = models.BooleanField()
    tags = tagging.fields.TagField()

    def __unicode__(self):
        return "Post of %s on %s" % (self.author, self.date)

    class Meta:
        ordering = ('-date',)
        get_latest_by = 'date'

    def content(self, lang, fallback=True):
        """
        Ritorna il PostContent nella lingua specificata.
        Se il PostContent non esiste e fallback è False viene sollevata
        l'eccezione ObjectDoesNotExist. Se fallback è True viene prima
        ricercato il PostContent nella lingua di default del sito, se non
        esiste viene ritornato il primo PostContent esistente, se non esiste
        neanche questo viene sollevata l'eccezione ObjectDoesNotExist.
        """
        contents = dict((c.language, c) for c in self.postcontent_set.exclude(headline=''))
        if not contents:
            raise PostContent.DoesNotExist()<commit_msg>aggiunto un manager che elenca i soli oggetti pubblicati<commit_after># -*- coding: UTF-8 -*-
from django.db import models
from django.conf import settings
from django.contrib.auth.models import User
import tagging
import tagging.fields

POST_STATUS = (('P', 'Pubblicato'), ('D', 'Bozza'))

class PostManager(models.Manager):
    def published(self):
        return self.all().filter(status = 'P').order_by('-date')

class Post(models.Model):
    date = models.DateTimeField(db_index=True)
    author = models.ForeignKey(User)
    status = models.CharField(max_length = 1, default = 'P', choices = POST_STATUS)
    allow_comments = models.BooleanField()
    tags = tagging.fields.TagField()

    objects = PostManager()

    def __unicode__(self):
        return "Post of %s on %s" % (self.author, self.date)

    class Meta:
        ordering = ('-date',)
        get_latest_by = 'date'

    def is_published(self):
        return self.status == 'P'

    def content(self, lang, fallback=True):
        """
        Ritorna il PostContent nella lingua specificata.
        Se il PostContent non esiste e fallback è False viene sollevata
        l'eccezione ObjectDoesNotExist. Se fallback è True viene prima
        ricercato il PostContent nella lingua di default del sito, se non
        esiste viene ritornato il primo PostContent esistente, se non esiste
        neanche questo viene sollevata l'eccezione ObjectDoesNotExist.
        """
        contents = dict((c.language, c) for c in self.postcontent_set.exclude(headline=''))
        if not contents:
            raise PostContent.DoesNotExist()
{'fraction_non_alphanumeric': 0.09955827387020047, 'fraction_numerical': 0.0013591573224600749, 'mean_word_length': 3.164073550212164, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2442288', 'n_tokens_mistral': 876, 'n_tokens_neox': 863, 'n_words': 271}