دليل:باي ويكي بوت/transferbot.py

From MediaWiki.org
Jump to navigation Jump to search
This page is a translated version of the page Manual:Pywikibot/transferbot.py and the translation is 100% complete.

Other languages:
English • ‎العربية • ‎日本語 • ‎한국어
Git logo
مستودع جت لويكيميديا به هذا الملف: scripts/transferbot.py

transferbot.py هو نص برمجي يُستخدم في باي ويكي بوت لنقل الصفحات من ويكي المصدر إلى ويكي الوجهة.

ويقوم أيضًا بنسخ تاريخ التعديلات إلى صفحة فرعية.

الوصلات الداخلية *لن* تُصلح!

أمثلة

يقوم بنقل كل الصفحات في تصنيف "Query service" من ويكيبيديا الإنجليزية إلى ويكاموس العربي، مضيفًا بادئة "Wiktionary:Import enwp/":

$ python pwb.py transferbot -family:wikipedia -lang:en -cat:"Query service" -tofamily:wiktionary -tolang:ar -prefix:"Wiktionary:Import enwp/"

يقوم بنسخ القالب "Query service" من تولسيرفر ويكي إلى ويكيتيك:

$ python pwb.py transferbot -family:wikipedia -lang:en -tofamily:wiktionary -tolang:ar -page:"Template:Query service"

الوسائط

الوسيطالوصف
-tolang: رمز الموقع الوجهة.
-tofamily: عائلة الموقع الوجهة.
-prefix: بادئة الصفحة على الموقع الجديد.
-overwrite: الصفحات الموجودة يتم تخطيها افتراضيًا. استخدم هذا الخيار لإعادة كتابة الصفحات.

الصفحات للعمل يمكن تحديدها باستخدام:

المولدات والمرشحات متاحة

خيارات المولد
الوسيطالوصف
-cat يعمل على كل الصفحات التي توجد في تصنيف محدد. الوسيط يمكن أن يكون أيضًا معطى بصيغة "-cat:categoryname" أو "-cat:categoryname|fromtitle" (استخدام # بدلاً من | مسموح به أيضًا في هذا الوسيط والتالي)
-catr مثل -cat، ولكن يتضمن الصفحات المتكررة أيضًا في التصنيفات الفرعية، والفرعية منها إلخ... من التصنيف المعطى. الوسيط يمكن أن يكون أيضًا معطى بصيغة "-catr:categoryname" أو "-catr:categoryname|fromtitle".
-subcats يعمل على كل التصنيفات الفرعية من تصنيف معين. الوسيط يمكن أن يكون أيضًا معطى بصيغة "-subcats:categoryname" أو "-subcats:categoryname|fromtitle".
-subcatsr مثل -subcats، ولكن يتضمن تصنيفات فرعية من التصنيفات الفرعية إلخ... من التصنيف المعطى. الوسيط يمكن أن يكون أيضًا معطى بصيغة "-subcatsr:categoryname" أو "-subcatsr:categoryname|fromtitle".
-uncat يعمل على كل الصفحات غير المصنفة.
-uncatcat يعمل على كل التصنيفات غير المصنفة.
-uncatfiles يعمل على كل الملفات غير المصنفة.
-file يقرأ قائمة صفحات ليتعامل من الملف النصي المسمى. عناوين الصفحات في الملف قد تكون محاطة بأقواس (مثال: [[Page]])، أو مفصولة عن بعضها البعض بسطور جديدة. الوسيط يمكن أن يكون أيضًا معطى بصيغة "-file:filename".
-filelinks يعمل على كل الصفحات التي تستخدم ملف صورة أو ملف وسائط معين. الوسيط يمكن أن يكون أيضًا معطى بصيغة "-filelinks:filename".
-search يعمل على كل الصفحات الموجودة في بحث ميدياويكي عبر كل النطاقات .
-logevents يعمل على المقالات الموجودة على خاص:سجل معين. القيمة قد تكون قائمة مفصولة عن بعضها بفاصلة من هذه القيم:
logevent,username,start,end

أو بالنسبة للتوافقية الخلفية:

logevent,username,total

لاستخدام القيمة الافتراضية، استخدم نصًا فارغًا. لديك خيارات لكل نوع من السجلات المعطاة من وسيط حدث السجل الذي قد يكون الآتي:

spamblacklist, titleblacklist, gblblock, renameuser, globalauth, gblrights, gblrename, abusefilter, massmessage, thanks, usermerge, block, protect, rights, delete, upload, move, import, patrol, merge, suppress, tag, managetags, contentmodel, review, stable, timedmediahandler, newusers

يستخدم رقم الصفحات الافتراضي 10.

أمثلة:

-logevents:move gives pages from move log (usually redirects)
-logevents:delete,,20 gives 20 pages from deletion log
-logevents:protect,Usr gives pages from protect by user Usr
-logevents:patrol,Usr,20 gives 20 patroled pages by Usr
-logevents:upload,,20121231,20100101 gives upload pages in the 2010s, 2011s, and 2012s
-logevents:review,,20121231 gives review pages since the beginning till the 31 Dec 2012 
-logevents:review,Usr,20121231 gives review pages by user Usr since the beginning till the 31 Dec 2012
في بعض الحالات يجب أن يكون معطى بصيغة -logevents:"move,Usr,20"
-interwiki يعمل على الصفحة المعطاة وكل الصفحات المناظرة باللغات الأخرى. يمكن استخدام - على سبيل المثال - هذا لقتال المواقع المتعددة غير المرغوبة. انتباه: سيتسبب هذا بتعديل البوت للصفحات على عدة مواقع ويكي، وهذا غير مُختبَر بدقة، لذا تفحص تعديلاتك!
-links يعمل على كل الصفحات المتصلة بصفحة معينة. الوسيط يمكن أن يكون أيضًا معطى بصيغة "-links:linkingpagetitle".
-liverecentchanges يعمل على صفحات من أحدث التغييرات المباشرة. إن كان يُستخدَم بصيغة -liverecentchanges:x، فإنه يعمل على أحدث التغييرات x.
-imagesused يعمل على كل الصور الموجودة بصفحة معينة. الوسيط يمكن أن يكون أيضًا معطى بصيغة "-imagesused:linkingpagetitle".
-newimages يعمل على أحدث الصور. إن كان يُستخدَم بصيغة -newimages:x، فإنه سيعمل على أحدث الصور x.
-newpages يعمل على أحدث الصفحات. إن كان يُستخدَم بصيغة -newpages:x، فإنه سيعمل على أحدث الصفحات x.
-recentchanges يعمل على الصفحات بأحدث التغييرات. إن كان معطى بصيغة -recentchanges:x، فإنه سيعمل على أحدث تغييرات صفحات x. إن كان معطى بصيغة -recentchanges:offset,duration فإنه سيعمل على الصفحات المتغيرة للفترة الزمنية من دقائق الإزاحة 'offset' لدقائق 'duration'. أيضًا rctags مدعومة. يجب أن يكون rctag أول جزء من الوسيط.
أمثلة:
-recentchanges:20 سيعطي أحدث 20 صفحة متغيرة -recentchanges:120,70 سيعطي الصفحات المتغيرة للفترة الزمنية من 70 دقيقة وبإزاحة 120 دقيقة -recentchanges:visualeditor,10 سيعطي أحدث 10 صفحات متغيرة بوسم "المحرر المرئي" -recentchanges:"mobile edit,60,35" سيجلب الصفحات بوسم "تحرير من المحمول" للإزاحة المعطاة والفترة الزمنية
-unconnectedpages يعمل على أحدث الصفحات غير المتصلة بمستودع قاعدة ويكي. إن كان معطى بصيغة -unconnectedpages:x، فإنه سيعمل أحدث صفحات x غير متصلة.
-ref يعمل على كل الصفحات المتصلة بصفحة معينة. الوسيط يمكن أن يكون أيضًا معطى بصيغة "-ref:referredpagetitle".
-start يحدد إذا ما كان ينبغي على الروبوت أن يفحص كل الصفحات على الويكي الأصل أبجديًا، ابتداءً من الصفحة المسماة. الوسيط يمكن أن يكون أيضًا معطى بصيغة "-start:pagetitle".
يمكنك أيضًا تضمين نطاق. على سبيل المثال، "-start:Template:!" سيجعل البوت يعمل على كل الصفحات في نطاق القالب.
القيمة الافتراضي هي start:!
-prefixindex يعمل على الصفحات التي تبدأ ببادئة مشتركة.
-transcludes يعمل على كل الصفحات التي تستخدم قالب معين. الوسيط يمكن أن يكون أيضًا معطى بصيغة "-transcludes:Title".
-unusedfiles يعمل على كل صفحات الوصف لملفات الصور والوسائط التي ليست مستخدمة في أي مكان. الوسيط يمكن أن يكون أيضًا معطى بصيغة "-unusedfiles:n" حيث أن n هو أقصى عدد للمقالات.
-lonelypages يعمل على كل المقالات التي لا تصل إليها أي مقالة أخرى. الوسيط يمكن أن يكون أيضًا معطى بصيغة "-lonelypages:n" حيث أن n هو أقصى عدد للمقالات.
-unwatched يعمل على كل المقالات التي لا يراقبها أي أحد. الوسيط يمكن أن يكون أيضًا معطى بصيغة "-unwatched:n" حيث أن n هو أقصى عدد للمقالات.
-property:name يعمل على كل الصفحات باسم خاصية معطاة من خاص:صفحات بخاصية
-usercontribs يعمل على كل المقالات التي قام بتعديلها مستخدم معين. (مثال: -usercontribs:DumZiBoT)
-weblink يعمل على كل المقالات التي تحتوي أي وصلة خارجية لمسار معطى؛ قد يكون معطى بصيغة "-weblink:url"
-withoutinterwiki يعمل على كل الصفحات التي لا تحتوي على وصلات لغات. الوسيط يمكن أن يكون أيضًا معطى بصيغة "-withoutinterwiki:n" حيث أن n هو العدد الكلي لجلب الصفحات.
-mysqlquery يأخذ نص استعلام ماي إس كيو إل مثل "SELECT page_namespace, page_title, FROM page WHERE page_namespace = 0" ويعمل على الصفحات الناتجة. انظر دليل:باي ويكي بوت/ماي إس كيو إل .
-sparql يأخذ نص استعلام SPARQL SELECT متضمنًا ?item ويعمل على الصفحات الناتجة.
-sparqlendpoint يخصص نقطة نهاية SPARQL للمسار (اختياري). (مثال: -sparqlendpoint:http://myserver.com/sparql)
-searchitem يأخذ نص بحث ويعمل صفحات قاعدة ويكي التي تحتوي عليه. الوسيط يمكن أن يكون أيضًا معطى بصيغة "-searchitem:text"، حيث أن text هو النص المبحوث عنه، أو "-searchitem:lang:text"، حيث أن lang هي اللغة التي سيبحث بها عن العناصر.
-random يعمل على صفحات عشوائية تجلبها خاص:صفحة عشوائية. يمكن أن يكون أيضًا معطى بصيغة "-random:n" حيث n هو عدد الصفحات التي ستُجلَب.
-randomredirect يعمل على صفحات تحويل عشوائية تجلبها خاص:تحويلة عشوائية. يمكن أن يكون أيضًا معطى بصيغة "-randomredirect:n" حيث n هو عدد الصفحات التي ستُجلَب.
-google يعمل على كل الصفحات المعثور عليها في بحث غوغل. أنت بحاجة مفتاح ترخيص واجهة برمجة التطبيقات (API) لغوغل ويب. لاحظ أن غوغل لم تعد تمنح مفاتيح ترخيص. انظر google_key في config.py لأجل التعليمات. الوسيط يمكن أن يكون أيضًا معطى بصيغة "-google:searchstring".
-yahoo يعمل على كل الصفحات المعثور عليها في بحث ياهو. يعتمد على وحدة بايثون pYsearch. انظر yahoo_appid في config.py لأجل التعليمات.
-page يعمل على صفحة وحيدة. الوسيط يمكن أن يكون أيضًا معطى بصيغة "-page:pagetitle"، ومزود عدة مرات لعدة صفحات.
-pageid يعمل على معرف صفحة وحيدة. الوسيط يمكن أن يكون أيضًا معطى بصيغة "-pageid:pageid1,pageid2,." أو "-pageid:'pageid1|pageid2|..'" ومزود عدة مرات لعدة صفحات.
-linter يعمل على الصفحات التي تحتوي أخطاء ألياف. الملحق Linter يجب أن يكون متاح على الموقع. يحدد -linter كل التصنيفات. يحدد -linter:high أو -linter:medium أو -linter:low كل التصنيفات لتلك الأولوية. إضافة '/int' يقوم بتحديد معرف Lint ليبدأ بالاستعلام منه: مثال -linter:high/10000 -linter:show يقوم فقط بعرض التصنيفات المتاحة.
خيارات المرشح
الوسيطالوصف
-catfilter يرشح مولد الصفحات إلى الصفحات العائدة في التصنيف المحدد. انظر مولد -cat لصيغة الوسيط.
-grep تعبير نمطي يحتاج لمطابقة المقالة وإلا فإن الصفحة لن يرجع بها. العديد من -grep:regexpr يمكن توفيرها وسيرجع بالصفحة إن كان المحتوى مطابقًا لأي regexpr متوفر. التعابير النمطية غير الحساسة لحالة الأحرف ستُستخدم وستطابق أي حرف، من ضمنها الأسطر الجديدة.
-intersect يعمل على تقاطع كل المولدات المتوفرة.
-limit عندمام يُستخدم مع أي وسيط آخر فإن -limit:n يحدد مجموعة من الصفحات، ولا يعمل على أكثر من عدد إجمالي n من الصفحات.
-namespaces
-namespace
-ns
يرشح مولد الصفحات إلى الصفحات الراجعة من النطاق المحددة. يفصل أرقام أو أسماء عدة نطاقات بفاصلة.
أمثلة:
-ns:0,2,4 -ns:Help,MediaWiki
يمكنك استخدام البادئة "not" لاستثناء النطاق.
أمثلة
-ns:not:2,3 -ns:not:Help,File
إن اِستُخدِم مع -newpages/-random/-randomredirect/linter generators، فإن namespace/ns يجب أن يكون متوفرًا قبل -newpages/-random/-randomredirect/linter. إن اِستُخدِم مع مولد -recentchanges، فإن الكفاءة ستتحسن إن كان -namespace متوفرًا قبل -recentchanges.
إن اِستُخدِم مع مولد -start، فينبغي أن يحتوي -namespace/ns على قيمة واحدة فقط.
-onlyif ادعاء تحتاجه الصفحة للاحتواء، وإلا فلن ترجع. الصيغة هي property=value,qualifier=value. عدة مرشحات يمكن تمريرها (أو لا مرشح)، تفصل بينها فاصلة.
أمثلة:
P1=Q2 (الخاصية P1 يجب أن تحتوي القيمة Q2), P3=Q4,P5=Q6,P6=Q7 (الخاصية P3 مع القيمة Q4 والتصفيات: P5 مع القيمة Q6 وP6 مع القيمة Q7). القيمة يمكن أن تكون معرف الصفحة أو الإحداثي بصيغة: دائرة عرض,خط طول[,الدقة] (كل القيم درجات عشرية) أو السنة أو نص عادي. يمكن توفير الوسيط عدة مرات وسيرجع عنصر الصفحة فقط إن حضرت كل الادعاءات. الوسيط يمكن أن يكون أيضًا معطى بصيغة "-onlyif:expression".
-onlyifnot ادعاء يجب ألا تحتويه الصفحة، وإلا فإن العنصر لا يرجع. للاستخدام والأمثلة، انظر -onlyif بالأعلى.
-ql يرشح الصفحات بناءً على جودة الصفحة. هذا قابل للتطبيق فقط إن كان contentmodel يساوي 'proofread-page'، وإلا فلن يكون له آثار. القيم الصالحة في مدى 0-4. يمكن فصل القيم المتعددة بفاصلة.
-subpage -subpage:n يرشح الصفحات إلى صفحات تحتوي على عمق n أي أن عمق 0 يرشح كل الصفحات الفرعية، وعمق 1 يرشح كل الصفحات الفرعية المتصلة بصفحات فرعية أخرى.
-titleregex تعبير نمطي يحتاج لمطابقة المقالة وإلا فإن الصفحة لن يرجع بها. العديد من -titleregex:regexpr يمكن توفيرها وسيرجع بالصفحة إن كان المحتوى مطابقًا لأي regexpr متوفر. التعابير النمطية غير الحساسة لحالة الأحرف ستُستخدم وستطابق أي حرف، من ضمنها الأسطر الجديدة.
-titleregexnot مثل -titleregex، ولكن يرجع بالصفحة إن كان التعبير النمطي غير متطابق.

الخيارات العامة متاحة

هذه الخيارات ستتجاوز ملف الإعداد في إعدادات user-config.py .

خيارات عامة
المتغيرالوصفمتغير الإعداد
-dir:المسار يقرأ بيانات الإعداد للبوت من المجلد المعطى من المسار، بدلاً من المجلد الافتراضي.  
-lang:xx يضبط لغة الويكي التي تريد العمل عليها، متجاوزًا الإعداد في user-config.py. ينبغي أن تكون xx هي رمز اللغة. mylang
-family:xyz يضبط عائلة الويكي التي تريد العمل عليها، مثل ويكيبيديا أو ويكاموس ويكي الرحلات... هذا سيتجاوز الإعدادات في user-config.py. family
-user:xyz سجل دخولك بمستخدم xyz بدلاً من المستخدم الافتراضي. usernames
-daemonize:xyz يُعيد السيطرة فورًا إلى الطرفية ويعيد تحويل stdout وstderr إلى الملف xyz. (تستخدم فقط للبوتات التي لا تتطلب دخلاً من stdin).  
-help إظهار نص المساعدة.  
-log تفعيل ملف السجل، باستخدام سجلات اسم الملف الافتراضي 'script_name-bot.log' وستُخزن في مجلد السجلات الفرعي. log
-log:xyz تفعيل ملف السجل، مع تسمية الملف باسم 'xyz'. logfilename
-nolog تعطيل ملف السجل (إن كان مُفعَّلاً افتراضيًا).  
-maxlag يضبط متغير تأخير أقصى جديد بعدد من الثواني. تأجيل تعديلات البوت أثناء فترات التأخير لخادم قاعدة البيانات. القيمة الافتراضية مضبوطة بملف config.py maxlag
-putthrottle:n
-pt:n
-put_throttle:n
يضبط أقل وقت (بالثواني) سينتظره البوت بين حفظ صفحتين. put_throttle
-debug:item
-debug
تفعيل ملف السجل وتضمين بيانات معالجة شاملة للمكون "item" (لجميع المكونات إن كان الشكل الثاني مستخدمًا). debug_log
-verbose
-v
جعل البوت يوفر خرج إضافي من وحدة التحكم قد يكون مفيدًا في المعالجة. verbose_output
-cosmeticchanges
-cc
ترجيح إعداد cosmetic_changes المحرر في config.py أو user-config.py إلى معكوسه وإلغائه. جميع الإعدادات الأخرى والقيود تبقى كما هي. cosmetic_changes
-simulate تعطيل الكتابة إلى الخادم. مفيد للاختبار والمعالجة للنص البرمجي الجديد (إن كان معطى، فإنه لا يقوم بأي تغيير حقيقي، ولكنه يعرض ما كان سيتغير). simulate
-<متغير إعداد>:n قد تستخدم كل متغيرات الإعداد العددية المعطاة على أنها خيارات وتعدلها بأمر سطري.