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

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

Outdated translations are marked like this.
Other languages:
English • ‎français • ‎русский • ‎עברית • ‎العربية • ‎中文 • ‎日本語
Git logo
مستودع جت لويكيميديا به هذا الملف: scripts/coordinate_import.py

coordinate_import.py هو نص برمجي لإضافة الإحداثيات بالجملة من ويكيبيديا إلى ll|Wikibase.

Usage

$ python pwb.py coordinate_import -lang:en -family:wikipedia -cat:Category:Coordinates_not_on_Wikidata

This will work on all pages in the category "coordinates not on Wikidata" and will import the coordinates on these pages to Wikidata.

The data from the "GeoData" extension is used so that extension has to be setup properly. On Wikimedia wikis GeoData extension is installed. You can look at the Special:Nearby page on your local Wiki to see if it's populated.

على ويكيميديا ملحق $ext-geodata مثبت. هذا يضيف الإحداثيات إلى واجهة برمجة التطبيقات (API). هذا البوت يستخدم تلك المعلومة لإضافة ادعاء على ويكي بيانات. بشكل افتراضي يُستخدَم P625 (موقع الإحداثي).

في المستقبل قد يدعم البوت خصائص أخرى طالما كانت الخاصية من نوع إحداثي العالم.

القواعد اللغوية

يعتمد البوت على Manual:Pywikibot/Page Generators|مولد:

$ python pwb.py coordinate_import <some generator>
$ python pwb.py coordinate_import -lang:it -family:wikipedia -namespace:0 -transcludes:Infobox_stazione_ferroviaria

You can also run over a set of items on the repo without coordinates and try to import them from any connected page. To do this, you have to explicitly provide the site using -lang and -family arguments. Example:

$ python pwb.py coordinate_import -lang:wikidata -family:wikidata -namespace:0 -querypage:Deadendpages

The following command line parameters are supported:

الوسيطالوصف
-create Create items for pages without one

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

هذه الخيارات ستتجاوز ملف الإعداد في إعدادات 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 قد تستخدم كل متغيرات الإعداد العددية المعطاة على أنها خيارات وتعدلها بأمر سطري.  

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

خيارات المولد
الوسيطالوصف
-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، ولكن يرجع بالصفحة إن كان التعبير النمطي غير متطابق.