Manual:Pywikibot/PAWS/ar


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

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

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

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

If you are a new user on Wikimedia log in with your account on meta.Wikimedia, Wikipedia, Wikidata, and Commons. And in each of them read and delete all pending messages you have (on the top).

سجل دخولك إلى مفكرة
لبدء مفكرة مُستضافة، اذهب إلى 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/.

الآن نفحص إذا ما كانت تلك الصفحات تحتوي المسار في الصفحة؛ أي أنها لا تستخدم قالبًا.

الآن قم باستخدام التبديل لإضافة "www." المفقودة.

في PAWS، وأي طرفية تدعم اللون وفرق التغييرات ستُظهر "www." المضافة بلون أخضر، مسهلاً البحث في التغييرات المقترحة.

بداخل باي ويكي بوت
الخطوة التالية هي أن نستخدم جلسة بايثون PAWS.


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

سيفتح هذا نافذة جديدة.

في الصندوق النصي، قم بكتابة الآتي ثم في قائمة Cell اختر "Run" (أو اضغط Shift+Enter للتشغيل).

صندوق نصي جديد سيظهر في الأسفل. قم بتشغيل الآتي لإنشاء كائن APISite متصل بموقع https://test.wikipedia.org/:

قم بوصف "site" عن طريق كتابتها في الصندوق النصي الجديد ثم اختيار "Run".

ينبغي أن تُظهر

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

أنشئ كائن صفحة:

افحص إن كانت موجود بتشغيل:

ينبغي أن يظهر

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

قم بإظهار النص على الصفحة:

قم بتغيير نص الصفحة في الكائن:

احفظ الصفحة على الويكي:

ينبغي أن يكون الرد:

مفكرة بايثون 3 التفاعلية تسمح بتشغيل سطور كثيرة معًا. النص أعلاه يمكنه وضعه في صندوق نصي واحد ثم تشغيله

سجل جلسة بايثون التفاعلية يمكن حفظ أو تحميله ليكون مرجعًا مستقبليًا.

الوصول إلى توثيق عبر الإنترنت في PAWS
يمكن إيجاد توثيق باي ويكي بوت في https://doc.wikimedia.org/pywikibot/. ومصدره من سلاسل التوثيق، والتي يمكن تحميلها في مفكرة بايثون 3 التفاعلية باستخدام دالة مدمجة في بايثون help.

على سبيل المثال، للبحث عن وسائط دوال الحفظ أعلاه، قم بتشغيل إما:

أو

تعديل نصوص باي ويكي البرمجية
مكتبة باي ويكي بوت والنصوص البرمجية محملة في /srv/paws، وللقراءة فقط. مكتبة باي ويكي بوت المثبتة لا يمكن تعديلها في PAWS.

يمكن تعديل النصوص البرمجية بعد نسخها إلى صفحة PAWS الرئيسية الخاصة بك.

على سبيل المثال، لتشغيل "checkimages.py" معدل:


 * 1) في الطرفية، قم بإدخال
 * 2) في المتصفح، اذهب إلى صفحة PAWS الرئيسية ثم اضغط على الملف.
 * 3) في المتصفح، يمكنك تعديل الملف. قم بتعديل النص البرمجي -- على سبيل المثال، بعد نص   مباشرةً في سطر 1775، قم بإضافة سطر جديد 1776 يقوم بطباعة اسمك:
 * 4) في واجهة التعديل، استخدم قائمة File ثم اضغط Save لحفظ تعديلاتك.
 * 5) في الطرفية، قم بإدخال

انظر أيضا

 * دليل PAWS لمستخدم واحد (مثلاً حول API والوصول لقاعدة البيانات)
 * Source code on GitHub