예제 #1
0
    def forwards(self, orm):
        reader = get_reader()
        model_names = ['radpress.Article', 'radpress.Page']

        for model_name in model_names:
            for entry in orm[model_name].objects.all():
                content_body, metadata = reader(entry.content).read()
                entry.content_body = content_body

                if model_name == 'radpress.Article':
                    if entry.cover_image:
                        image_id = entry.cover_image.id
                    else:
                        image_id = 'not specified'

                    tags = entry.tags.all().values_list('name', flat=True)
                    published = 'yes' if entry.is_published else 'no'

                    content = [
                        entry.title, '#' * len(entry.title),
                        ':slug: %s' % entry.slug,
                        ':tags: %s' % ', '.join(tags),
                        ':published: %s' % published,
                        ':image: %s' % image_id, '', entry.content
                    ]
                    entry.content = '\n'.join(content)

                entry.save()
    def forwards(self, orm):
        reader = get_reader()
        model_names = ['radpress.Article', 'radpress.Page']

        for model_name in model_names:
            for entry in orm[model_name].objects.all():
                content_body, metadata = reader(entry.content).read()
                entry.content_body = content_body

                if model_name == 'radpress.Article':
                    if entry.cover_image:
                        image_id = entry.cover_image.id
                    else:
                        image_id = 'not specified'

                    tags = entry.tags.all().values_list('name', flat=True)
                    published = 'yes' if entry.is_published else 'no'

                    content = [
                        entry.title,
                        '#' * len(entry.title),
                        ':slug: %s' % entry.slug,
                        ':tags: %s' % ', '.join(tags),
                        ':published: %s' % published,
                        ':image: %s' % image_id,
                        '',
                        entry.content]
                    entry.content = '\n'.join(content)

                entry.save()
예제 #3
0
    def setUp(self):
        # default markup name is reStructuredText
        self.reader = get_reader(markup=self.markup)

        if self.file_path is not None:
            # default content_body, metada
            file_path = os.path.join(os.path.dirname(__file__), self.file_path)
            content = file(file_path).read()
            self.content_body, self.metadata = self.reader(content).read()
예제 #4
0
    def setUp(self):
        # default markup name is reStructuredText
        self.reader = get_reader(markup=self.markup)

        if self.file_path is not None:
            # default content_body, metada
            file_path = os.path.join(os.path.dirname(__file__), self.file_path)
            content = open(file_path).read()
            self.content_body, self.metadata = self.reader(content).read()
예제 #5
0
    def clean_content(self):
        field = self.cleaned_data.get('content')
        slug = self.cleaned_data.get('slug')
        reader = get_reader(markup=self.data.get('markup'))
        self.content_body, self.metadata = reader(field).read()

        if (self.instance.pk is None
                and Article.objects.filter(slug=slug).exists()):

            msg = _("Slug should be unique.")
            raise forms.ValidationError(msg)

        return field
예제 #6
0
    def save(self, **kwargs):
        reader = get_reader(markup=self.markup)
        content_body, metadata = reader(self.content).read()

        if not self.content_body:
            self.content_body = content_body

        if not self.slug:
            self.slug = slugify(self.title)

        if not kwargs.pop('skip_updated_at', False):
            self.updated_at = datetime.datetime.now()

        super(Entry, self).save(**kwargs)
예제 #7
0
    def save(self, **kwargs):
        reader = get_reader(markup=self.markup)
        content_body, metadata = reader(self.content).read()

        if not self.content_body:
            self.content_body = content_body

        if not self.slug:
            self.slug = slugify(self.title)

        if not kwargs.pop('skip_updated_at', False):
            self.updated_at = datetime.datetime.now()

        super(Entry, self).save(**kwargs)
예제 #8
0
    def clean_content(self):
        field = self.cleaned_data.get('content')
        slug = self.cleaned_data.get('slug')
        reader = get_reader(markup=self.data.get('markup'))
        self.content_body, self.metadata = reader(field).read()

    
        if (self.instance.pk is None
                and Article.objects.filter(slug=slug).exists()):

            msg = _("Slug should be unique.")
            raise forms.ValidationError(msg)

        return field
예제 #9
0
def radpress_get_markup_descriptions():
    """
    Provides markup options. It used for adding descriptions in admin and
    zen mode.

    :return: list
    """
    result = []
    for markup in get_markup_choices():
        markup_name = markup[0]
        result.append({
            'name': markup_name,
            'title': markup[1],
            'description': trim(get_reader(markup=markup_name).description)
        })
    return result
예제 #10
0
    def post(self, request, *args, **kwargs):
        content = request.POST.get('content', '')
        markup = request.POST.get('markup')
        reader = get_reader(markup=markup)
        content_body, metadata = reader(content).read()
        image_id = metadata.get('image', '')
        try:
            image_url = EntryImage.objects.get(id=int(image_id)).image.url
        except (EntryImage.DoesNotExist, ValueError):
            image_url = ''

        context = {
            'content': content_body,
            'title': metadata.get('title'),
            'tags': list(metadata.get('tags', [])),
            'image_url': image_url
        }

        return self.render_to_response(context)
예제 #11
0
    def post(self, request, *args, **kwargs):
        content = request.POST.get('content', '')
        markup = request.POST.get('markup')
        reader = get_reader(markup=markup)
        content_body, metadata = reader(content).read()
        image_id = metadata.get('image', '')
        try:
            image_url = EntryImage.objects.get(id=int(image_id)).image.url
        except (EntryImage.DoesNotExist, ValueError):
            image_url = ''

        context = {
            'content': content_body,
            'title': metadata.get('title'),
            'tags': list(metadata.get('tags', [])),
            'image_url': image_url
        }

        return self.render_to_response(context)
예제 #12
0
def radpress_get_markup_descriptions():
    """
    Provides markup options. It used for adding descriptions in admin and
    zen mode.

    :return: list
    """
    result = []
    for markup in get_markup_choices():
        markup_name = markup[0]
        result.append({
            'name':
            markup_name,
            'title':
            markup[1],
            'description':
            trim(get_reader(markup=markup_name).description)
        })
    return result