def save(cls, user_name, id, title, content): summary = QiniuService.get_summary(content) if title is None: title = 'untitled' if id is None: file_name = md5(title + content + datetime.now().timestamp().__str__()) url = QiniuService.upload_doc(content, file_name) catalogue_index = cls.get_max_catalogue_index(user_name, 1) article = Article(title=title, file_key=file_name, user_name=user_name, url=url, summary=summary, catalogue_id=1, catalogue_index=catalogue_index) article.insert() return Article.select().filter( Article.user_name == user_name, Article.file_key == file_name).one().id article = Article.select().get(id) if user_name != article.user_name: raise ServerException(msg=f'您没有权限修改{article.user_name}的文章') file_name = md5(title + content) if article.file_key == file_name: return id url = QiniuService.upload_doc(content, article.file_key, file_name) article.url = url article.file_key = file_name article.summary = summary Article.update(article) return id