Manual:Pywikibot/PAWS/ar


 * انظر PAWS لمزيد من التفاصيل.

هذا المستند يوفر نظرة عامة تفاعلية سريعة على  باستخدام مفكرة مُستضافة على بيئة معامل ويكيميديا باستخدام PAWS (PAWS: قشرة ويب).

إنشاء حساب على ويكيميديا
لاتباع هذا الشرح التفصيلي، أنت فقط بحاجة إلى حساب على ويكيبيديا (ويكيميديا). استخدم خاص:أنشئ حسابًا.

بمجرد أنك قد أنشأت حسابًا، من فضلك قم بزيارة https://test.wikipedia.org/ وتفحص إن كان اسم المستخدم الخاص بك يظهر أعلى الركن الأيمن (هذا يعمل حول T120327).

سجل دخولك إلى مفكرة
لبدء مفكرة مُستضافة، اذهب إلى https://paws.wmflabs.org/paws/hub

اضغط على "Sign in with MediaWiki"، ثم اضغط على "Allow" عند طلب موافقة "Use OAuth for Authentication". المرة الأولى عند دخولك إلى PAWS، ستحتاج إلى إنشاء خادم. اضغط على زر "Start my Server" الأخضر. من الطبيعي الانتظار بضع دقائق حتى يبدأ الخادم الجديد.

بمجرد انتهائه، ستُحوَّل إلى مسار مثل https://paws.wmflabs.org/paws/user/ /tree

بدء طرفية
لبدء طرفية تفاعلية جديدة،
 * 1) اذهب إلى الصفحة الرئيسية
 * 2) اضغط على "New" على الجانب الأيمن
 * 3) اختر "Terminal".

هذا سيفتح نافذة جديدة بمسار https://paws.wmflabs.org/paws/user/ /terminals/1 برمز لينكس '$'.

يمكنك حفظ هذا المسار في الإشارات المرجعية، والعودة إلى الطرفية في أي وقت، حتى بعد إغلاقك للمتصفح أو حاسوبك الخاص.

هذه الطرفية ليست محاكي. إنها قشرة باش حقيقية، وهي جزء من لينكس مثبت موجود على حاوية دوكر، لذا يمكنك استخدام أي أمر من أوامر الباش، ويمكنك استخدام أي أوامر متاحة على لينكس المثبتة.

لرؤية بعض الأوامر المتاحة، استخدم.

تسجيل الدخول إلى الويكي
هذا سيثبت حسابك على الخادم وسيسمح لك بتسجيل الدخول من سطر الأوامر. ينبغي أن يؤكد الأمر التالي على أنك قد سجلت الدخول إلى testwiki. إنه يستخدم أوث (OAuth)، لذا أنت لست بحاجة لإدخال كلمة مرور.

يمكنك توصيل باي ويكي بوت بويكي مختلفة عن طريق إنشاء ملف باسم user-config.py في دليل   وإضافة متغيري mylang وfamily:

إنشاء صفحة
لإنشاء صفحة، قم بإدخال الأمر التالي في الطرفية، وضع اسم المستخدم الخاص بك بدلاً من ' '، ثم اضغط 'Y' عند الطلب للموافقة على تغييراتك:

لقدت عدلت الويكي. اعرض تغييراتك عن طريق فتح https://test.wikipedia.org/wiki/User_talk: في متصفحك.

يمكنك القراءة أكثر حول كل نص سطر أوامر باستخدام خيار أمر '-help'.

جلب صفحة
جلب صفحات كثيرة يتحقق باستخدام أمر "listpages".

للحصول على محتويات الصفحة التي أنشئتها في القسم السابق، قم بإدخال الأمر التالي:

الآن إن ذهب إلى قائمة ملفات PAWS، ينبغي أن تكون الصفحة المحفوظة متواجدة.

مثال نص برمجي حقيقي
عندما يتغير مسار موقع مستخدم على ويكيبيديا، فإن الوصلات على ويكيبيديا تصبح قديمة، ومن الممكن أيضًا أن تصبح وصلات مكسورة إن كان الموقع لا يتحول من المسارات القديمة إلى الجديدة. على سبيل المثال، الموسوعة البريطانية قد غيرت وصلاتها، كنقل الصفحات من http://www.britannica.com/EBchecked/media/ إلى http://www.britannica.com/topic/[اسم الموضوع]/images-videos/*. يمكنك إيجاد قائمة استخدامات المسار القديم على ويكيبيديا الإنجليزية من https://en.wikipedia.org/wiki/Special:LinkSearch/http://www.britannica.com/EBchecked/media. تحديث كل تلك الوصلات يدويًا سيستغرق وقتًا طويلاً. لحسن الحظ أن الموسوعة البريطانية قد أبقت على التحويلات من وصلاتها القديمة إلى الوصلات الجديدة، ولذا هذا ليس بحاجة للإصلاح مباشرةً.

مثال أبسط، ويكيبيديا الإنجليزية تحتوي وصلات إلى http://britannica.com/EBchecked/ بدلاً من http://www.britannica.com/EBchecked/ ؛ أي أن نطاق "www." الفرعي مفقود في المسار.

يوجد حاليًا 14 حالة على ويكيبيديا الإنجليزية: https://en.wikipedia.org/wiki/Special:LinkSearch/http://britannica.com/EBchecked/

ويكيبيديا باللغات الأخرى لديها أيضًا نفس هذه المشكلة. مثلاً توجد حالة واحدة على ويكيبيديا الألمانية: https://de.wikipedia.org/wiki/Spezial:Weblinksuche/http://britannica.com/EBchecked/

لإصلاح تلك الوصلات، يمكنك استخدام النص البرمجي في باي ويكي بوت replace.py. في هذه الاستعراض سنستخدم وسيط '-simulate' لتفادي الكتابة على الويكي، لأنه توجد قوانين صارمة بشأن التعديل التلقائي على ويكيبيديا الإنجليزية.

أولاً لنقم بإدراج جميع الصفحات التي تصل إلى http://britannica.com/EBchecked/.

Now we check those pages actually have the literal URL in the page; i.e. they are not using a template.

Now use replace to add the missing "www."

In PAWS, and any terminal that supports color, the diff of changes will show the added "www." in green text color, making it easier to find the proposed changes.

Inside Pywikibot
Next we will use the PAWS Python session.


 * 1) Go to your PAWS home,
 * 2) click 'New' on the right hand side, and
 * 3) select 'Python 3'.

This will open a new window.

In the text box, enter the following and in the Cell menu select 'Run' (or pressing shift+enter to run).

A new text box will appear below. Run the following to create an APISite object connected to https://test.wikipedia.org/:

Describe "site" by entering it into the new text box and selecting "Run".

It should show

Out[3]: APISite("test", "wikipedia")

Create a page object:

Check it exists by running:

It should output

VERBOSE:pywiki:Found 1 wikipedia:test processes running, including this one. Out[5]: True

Show the text on the page:

Change the page text in the object:

Save the page to the wiki:

The response should be:

The interactive Python 3 notebook allows many lines to be run together. The above could be put into one text box and Run

The log of your interactive Python session can be saved or downloaded for future reference.

Accessing online documentation in PAWS
Pywikibot documentation may be found at https://doc.wikimedia.org/pywikibot/. It is primarily sourced from docstrings, which can be loaded in the interactive Python 3 notebook using the Python built-in function help.

For example, to look at the arguments for the save method above, run either:

or

Editing Pywikibot scripts
The Pywikibot library and scripts are located in /srv/paws, and are read-only. The installed Pywikibot library cannot be modified in PAWS.

Scripts may be modified after copying them into your PAWS home.

For example, to run a modified "checkimages.py":


 * 1) In the terminal, enter
 * 2) In a browser, go to your PAWS home and click on the file.
 * 3) In the browser, you can edit the file. Edit the code -- for instance, just after the   code on line 1775, add a new line 1776 that will print out your name:
 * 4) In the editing interface, use the File menu and click Save to save your modifications.
 * 5) In the terminal, enter