sirius2wpにバグ発見。
投稿するページのslugを取得するための正規表現。
match = re.match(targetUrl+'(.+?/)?(.+?)/?$', link['url'])
これだと、カテゴリーのディレクトリ階層になっていた場合に、子カテゴリの下にある記事ページのslugが「子カテゴリー名-記事ページ名」となってしまう。
group(1)の方は貪欲なマッチをさせないといけない。でないとgroup(2)に残りが押しつけられる。
ってことで、正解はこっち。
match = re.match(targetUrl+'(.+/)?(.+?)/?$', link['url'])
あと今日は、WordPressをアクティベートするときにSIRIUSのファイルを退避させるのに、なんとなく*.htmlとかでやるんじゃなくて、きちんと存在しているファイルやカテゴリーディレクトリのリストを作って、それを元に移動させることにした。
ってことで、sitemapを読み込んでslugを作るところで移動するファイルのリストも作ることに。
そこで上のバグも見つけられた。
しかも、動作確認する際に「ディレクトリ階層になっていると思って試したら同一階層だった」という偶然から、退避ファイルのリスト作成処理に間違いがあることに気がついて、さらに上のバグまでたどり着いたというラッキーだった。