예제 #1
0
 def create(self, params, up_file=False):
     """
     досоздать статью.
     создается тексты, грузится файл, устанавливаются правильные параметры
     все это на основе существования self
     все транзакционно - при возникновении ошибки, откатывается
     """
     try:
         filename = None
         self.save_seo_url(params, commit=False)
         self.created_class = 'MfSystemArticle'
         self.save()
         if up_file:
             filename = self.load_file(
                 up_file['image_file'],
                 up_file['image_title']
             )
         self.create_text(params)
     except Exception, ext:
         transaction.rollback()
         # если успели загрузить файл и откатываем по ошибке,
         # то файл можно убить
         if filename is not None:
             load_file.delete_file(filename)
         #прокидываем ошибку дальше
         raise MfSystemArticleException(
             'ошибка при создании статьи. {0}'.format(ext)
         )
예제 #2
0
 def update(self, params, up_file=False):
     try:
         filename, old_filename = None, str(self.image)
         self.save_seo_url(params)
         self.update_text(params)
         if up_file:
             filename = self.load_file(
                 up_file['image_file'],
                 up_file['image_title']
             )
     except Exception, ext:
         transaction.rollback()
         # если успели загрузить файл и откатываем по ошибке,
         # то файл можно убить
         if filename:
             load_file.delete_file(filename)
         #прокидываем ошибку дальше
         raise MfSystemArticleException(
             'ошибка при обновлении статьи {0}'.format(ext)
         )
예제 #3
0
        except Exception, ext:
            transaction.rollback()
            # если успели загрузить файл и откатываем по ошибке,
            # то файл можно убить
            if filename:
                load_file.delete_file(filename)
            #прокидываем ошибку дальше
            raise MfSystemArticleException(
                'ошибка при обновлении статьи {0}'.format(ext)
            )
        else:
            # если все хорошо
            transaction.commit()
            #удаляем старый файл
            if up_file and old_filename:
                load_file.delete_file(old_filename)

    @transaction.commit_manually
    def create(self, params, up_file=False):
        """
        досоздать статью.
        создается тексты, грузится файл, устанавливаются правильные параметры
        все это на основе существования self
        все транзакционно - при возникновении ошибки, откатывается
        """
        try:
            filename = None
            self.save_seo_url(params, commit=False)
            self.created_class = 'MfSystemArticle'
            self.save()
            if up_file: