Manual:Pywikibot/pagefromfile.py

This page is a translated version of the page Manual:Pywikibot/pagefromfile.py and the translation is 7% complete.

pagefromfile.py is a Pywikibot script used to upload pages to a wiki from a text file.

This bot takes its input from the UTF-8 text file that contains a number of pages to be put on the wiki. The pages should all have the same beginning and ending text (which may not overlap). The beginning and ending text is not uploaded with the page content by default.

A page name is by default taken from the first text block of the page content that is marked in bold (wrapped between ''' and '''). If you expect the page title not to be present in the text or marked by different markers, use -titlestart, -titleend, and -notitle parameters.

固有の引数

パラメーター説明
-file:xxx The filename we are getting our material from, the default value is "dict.txt". Notice that if the source file name contains any space character, you should wrap it with double quotations (i.e. -file:"Page title").
-begin:xxx The text that marks the beginning of a page, the default value is "{{-start-}}"
-end:xxx The text that marks the end of the page, the default value is "{{-stop-}}"
-include Include the beginning and end markers to the page
-textonly Text is given without markers. Only one page text is given. -begin and -end options are ignored.
-titlestart:xxx The text used in place of ''' for identifying the beginning of a page title
-titleend:xxx The text used in place of ''' for identifying the end of the page title
-notitle Do not include the page title, including titlestart and titleend, to the page. Can be used to specify unique page title above the page content
-title:xxx The page title is given directly. Ignores -titlestart, -titleend and -notitle options
-nocontent:xxx If the existing page contains specified statement, the page is skipped from editing
-noredirect Do not upload on redirect pages
-summary:xxx The text used as an edit summary for the upload. If the page exists, standard messages for prepending, appending, or replacement are appended after it
-autosummary Use MediaWiki's autosummary when creating a new page, overrides -summary
-minor Set the minor edit flag on page edits
-showdiff Show difference between current page and page to upload, also forces the bot to ask for confirmation on every edit

If the page to be uploaded already exists, it is skipped by default. But you can override this behavior if you want to:


パラメーター説明
-appendtop Add the text to the top of the existing page
-appendbottom Add the text to the bottom of the existing page
-force Overwrite the existing page

It is possible to define a separator after the 'append' modes which is added between the existing and the new text. For example a parameter -appendtop:foo would add 'foo' between them. A new line can be added between them by specifying '\n' as a value.

基本的な例

In the most basic form, pagefromfile takes a single text file with several wiki pages in it as input. For example, the contents could be:

{{-start-}}
'''Pywikibot''' is a Python library and collection of scripts that automate work on MediaWiki sites.
<span lang="en" dir="ltr" class="mw-content-ltr">Originally designed for Wikipedia, it is now used throughout the Wikimedia Foundation's projects and on many other wikis.</span>
{{-stop-}}
{{-start-}}
'''AutoWikiBrowser''' (often abbreviated '''AWB''') is a semi-automated MediaWiki editor designed to make tedious or repetitive editing tasks quicker and easier.
{{-stop-}}

Store this as a UTF-8 encoded text file, for example as 'pages.txt'. You can then run python pwb.py pagefromfile -showdiff -file:pages.txt. This will let the bot create Pywikibot and AutoWikiBrowser -- the first '''bolded''' elements in both pages. -showdiff will give you the opportunity to review changes before they are being made.

Different page titles

Often, the first bolded element is not necessarily the correct page title. For example, we might want to place the article about AutoWikiBrowser on AWB instead. To do so, add a line in front of each article, with the correct page title between triple quotes (i.e., bolded):

{{-start-}}
'''Pywikibot'''
'''Pywikibot''' is a Python library and collection of scripts that automate work on MediaWiki sites.
Originally designed for Wikipedia, it is now used throughout the Wikimedia Foundation's projects and on many other wikis.
{{-stop-}}
{{-start-}}
'''AWB'''
'''AutoWikiBrowser''' (often abbreviated '''AWB''') is a semi-automated MediaWiki editor designed to make tedious or repetitive editing tasks quicker and easier.
{{-stop-}}

and add the -notitle parameter to the call, i.e.: python pwb.py pagefromfile -showdiff -file:pages.txt -notitle.


利用できるグローバル引数

以下のオプションを用いることで、user-config.py の設定を上書きすることができます。

グローバル オプション
パラメーター 説明 設定変数名
-dir:パス 既定のディレクトリではなく、PATH で指定されたディレクトリからボットの設定データを読み込みます。  
-config:ファイル The user config filename. Default is user-config.py. user-config.py
-lang:xx user-config.py の設定を上書きする形で、作業するウィキの言語を設定します。xx には設定する適切な言語コードに置き換えてください。 mylang
-family:xyz 作業するウィキのファミリーを設定します。xyz には wikipedia、wiktionary、wikitravel などを指定します。 This will override the configuration in user-config.py. family
-user:xyz 既定の利用者名ではなく、利用者 'xyz' としてログインします。 usernames
-daemonize:xyz 直ちにターミナルへ操作を返し、stdout と stderr をファイル xyz にリダイレクトします。これは stdin からの入力を必要としないボットのみで使用します。  
-help ヘルプ テキストを表示します。  
-log ログファイル (ファイル名は既定で「スクリプト名-bot.log」の形式になります) の出力を有効にします。ログは logs の下位ディレクトリに保存されます。 log
-log:xyz ファイル xyz へのログの出力を有効にします。xyz にはファイル名を指定します。 logfilename
-nolog ログ ファイルの出力を無効にします (既定で有効になっている場合)。  
-maxlag maxlag パラメータの秒数を新しく設定します。 データベース サーバーが遅延している間、ボットの編集を遅らせます。既定値は config.py で設定できます。 maxlag
-putthrottle:n
-pt:n
-put_throttle:n
ページを保存するまでの最小時間(秒)を設定します。 put_throttle
-debug:item
-debug
コンポーネント "item" の拡張デバッグデータをログファイルに出力します。item にはデバッグの対象を指定します。item を指定しない場合、すべてのコンポーネントが対象になります。 debug_log
-verbose
-v
デバッグに役立つ、より詳細なメッセージをコンソールに出力するようにします。 verbose_output
-cosmeticchanges
-cc
config.py あるいは user-config.py での cosmetic_changes 設定を逆にし、無効にします。 その他の設定や制限はそのまま使用されます。 cosmetic_changes
-simulate サーバーへの書き込みを無効にします。 これは、コードのテストやデバッグに有用です (このオプションを使用時、変更される内容は表示されますが、実際に変更されることはありません)。 simulate
-<設定変数>:n 任意の設定変数と数値をオプションとして使用し、それをコマンドラインで変更できるようにします。