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) )
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) )
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: