既存の投稿をアップデートする際タグを消してしまうとbad_requestになるのを修正 #8
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
元々の問題
:Qiita -lから投稿を取得し、タグを削除し:w(:Qiita -e)でアップロードすると、bad_requestを返されてしまっていた原因
fix_tagsがうまく動いていなかったことが原因でした。本来、タグが何も指定されていなかった場合
fix_tags内でfiletypeもしくはtextタグが設定されるはずでしたが、アップデートの際はfix_tagsに渡すタグのリストが空だったためfor文が回らず、修正されていませんでした。その結果tagが空のリストとして渡され、APIにリクエストした時にエラーを吐かれていたようです。
修正部分
gettagsにて、タグが見つからなかった場合は[{'name':''}]を返すことにしました。これにより、
fix_tagsで正常にタグが修正されるので、タグ指定を無くした場合でもアップデートできるようになりました。またこれに伴い、新規投稿の際のコードも共通化しました。