3

私が持っているもの:

0) 古い WIKI からすべてのデータを取得するリクエストを使用する Python スクリプト。(必要なら私に聞いてください)

1) 「ダウンロード」フォルダ。wiki マークアップが .txt ファイルとして保存されます。

2) ファイル名: wiki/page1 は wiki__page1.txt を作成するために使用されます。(各「/」は、使用可能なファイル名を作成するために、2 つの「_」に置き換えられます。

3) 移動したいすべてのページの名前を含むファイルである Wiki_Move_Final.txt (ページごとに 1 つの改行)。

4) 全部で 600 ファイル。それらの多くはアンダーページ (wiki__page1__underpage1.txt)

私がやろうとしていること:

4) この知識のすべてを、すでにページと構造を持つ新しい WIKI にアップロードします。古いページの構造を維持します。

5) Python スクリプトで、.requests を使用します。

これまでの私のスクリプトはここにあります。その結果、ブラウザ上に編集ロック ファイルを含むフォルダが作成されます。

DESTINATION_URL = "http://127.0.0.1:8080/"
with open('not_found.txt', 'wt') as log:
    for line in open('Wiki_Move_Final.txt'):
        line = line[:len(line)-1]
        try:
            filename = os.path.join('download',      line.replace('/','__')+".txt")
            with open(filename,'rb') as payload:
                data = {
                    # "action" : "edit",
                    # "button_save" : "Save Changes",
                    # "category" : "",
                    # "comment" : "Upload of old wiki",
                    "rev" : 0,
                    "savetext" : payload,
                    # "editor" : "text",
                    # "ticket" : "005523d9d8.baed4a026ea626e287ed81245b934103095698a4",
            }
                # cookies = {
                #   "MOIN_SESSION_8080_ROOT": "458d90bcdbd098f26bff25931f9d603c28ef14c4",
            # }
                headers = {
                    # "Content-Type" : "application/x-www-form-urlencoded",
            }
                url = DESTINATION_URL + line + "?action=edit"
                requests.post(url, data=data, headers=headers)
        except IOError as e:
            log.write('%r %s\n' % (line, e))
4

0 に答える 0