ویکی‌پدیا:سیاست ربات‌رانی/درخواست مجوز/MahdiBot/وظیفه ۵

ربات‌ران: Mahdi.hajiha (بحثمشارکت‌هاانتقال‌هابسته شودبسته‌شدن‌هااختیاراتآمارآمار پیشرفته)

خودکار، مدیریت‌شده یا دستی: خودکار

زبان برنامه‌نویسی: پایتون

کد ربات: ربات جراحی پلاستیک

جزئیات عملکرد: ربات صفحه را می‌گیرد و جراحی روی آنها انجام می‌دهد. مانند برداشتن فاصله‌های بدون نیاز، افزودن احتیاجات اصلی مقاله(مانند منابع)، مرتب سازی میان ویکی‌ها بر اساس حروف الفبا. گذاشتن یک خط فاصله در جاهایی که بتوان اسلوب مقاله را از هم تشخیص داد و...

تناوب اجرا:

تخمین تعداد صفحه‌هایی که ویرایش می‌شوند:

گذر از الگوی ربات ممنوع (بله/خیر):بله

آیا در ویکی دیگری پرچم دارد (بله/خیر):

شرح روش اجرا:

بحث ویرایش

ابتدا کمی در راندنش تعلل داشتم. برای همین حدود ۲۰ ویرایش را با نظارت دقیق(تک به تک) انجام دادم.(باز هم نیاز باشد انجام می‌دهم) بغیر از یکی دو مورد(که مشکل از اسلوب مقاله مورد نظر بود) مشکل دیگری ایجاد نکرد. بر روی مقالات سنگین نیز اجرا شد مشکلی خاصی نداشت. و این هم لیست مقالات ویرایش شده. /مهدیگپ ‏۵ مهٔ ۲۰۱۲، ساعت ۱۶:۴۵ (UTC)[پاسخ]

با این قضیه که فاصله بین رده‌ها و میان‌ویکی‌ها را بر می‌دارد موافق نیستم.
هم‌چنین اگر کد را تغییر دهید به شکلی که اگر چند رده در یک سطر ذکر شده بود، هر کدام را به یک سطر مستقل ببرید خیلی خوب می‌شود. تغییر کد را در ویکی‌پدیا:درخواست‌های ربات/ربات جراح پلاستیک هم منعکس کنید.
دست آخر این که نمونه‌هایی از جاهایی که ربات اشتباه کرده نشان بدهید. عجالتاً   برای یک دورهٔ آزمایشی (۵۰ ویرایش) مجوز داردحجت/بحث ‏۵ مهٔ ۲۰۱۲، ساعت ۱۷:۱۱ (UTC)[پاسخ]
ممنون از پاسخ. فاصله بین رده و میان ویکی را بر میدارد؟ اتفاقا اگر نداشته باشد یک خط را خالی میکند.
متاسفانه درخواست سختیست. فکر نکنم بتوانم انجامش دهم:( ، به رضا یا Z بگویید میتوانند-کد نیز کار این دو تن است.:)
مثلا این کسی به صورت دستی منبع را به صورت کلمه با استفاده از کد بیگ بزرگ کرده و زیرش باز دستی خط کشیده و از اسلوب ==فلان== استفاده نکرده است. مقاله های وجود داشتند که مثلا ==منبع== قرار داده بودند به ==منابع== تبدیل کرده و زیر نیز رفرنس یا همان پانویس را اضافه کرده بود./مهدیگپ ‏۵ مهٔ ۲۰۱۲، ساعت ۱۷:۳۲ (UTC)[پاسخ]
برای رده‌ها این کد:
text = re.sub(ur'(\[\[\s*?(?:[Cc]ategory|رده)\s*?:.+?\]\])[\s\r\n]*?(\[\[\s*?(?:[Cc]ategory|رده)\s*?:.+?\]\])',
              ur'\1\n\2', text)
احتمالاً کمک کند. --Z ‏۵ مهٔ ۲۰۱۲، ساعت ۱۷:۴۹ (UTC)[پاسخ]
اما این فعالیت ایراد اساسی دارد. نخست اینکه خود کد ایرادهایی دارد، افزودن خط خالی[۱] جاهایی که نباید بیفزاید و حذف فاصله‌هایی که عمداً هنگام استفاده از الگوها گذاشته می‌شود تا فاصلهٔ بین علامت مساوی و ورودی از قبل آماده باشد. اما جدای از این‌ها، تمام این کارها را cosmetic_changes.py که از کدهای بستهٔ استاندارد Pywikipediabotست انجام می‌دهد، بل بسیار بهتر. اگر بخواهیم چنین تغییرات رباتیکی‌ای انجام دهیم همان کد را خیلی بی‌دردسر می‌توان اجرا کرد. اما راندن این کد و اعمال این تغییرات به‌تنهایی (به طور stand-alone) معمولاً در هیچ ویکی‌ای مجاز نیست چون تمام قابلیت‌هایی که در این کد تعبیه شده‌اند برای اعمال تغییراتی‌اند که تفاوتی در خروجی پدید نمی‌آورد و فقط برای بهبود کد صفحه است، و تغییری که در خروجی تفاوتی ایجاد نکند اهمیت بسیار کمی دارد (ویکی را برای کی می‌نویسیم؟ برای خوانندگان؛ پس اصل خروجی‌است) و نمی‌توان به‌خاطرش تاریخچهٔ این همه مقاله و به تبعش تغییرات اخیر و فهرست پی‌گیری‌های این همه کاربر را بمب کرد، حالا درکنار نابودکردن منابع سامانه. اگر مایلید چنین اصلاحاتی انجام دهید این راهش نیست. کدی که گفتم را می‌توان به گونه‌ای تنظیم کرد که اگر مثلاً کدهای دیگر روی صفحه تغییری انجام دادند این کد و زیباسازی کد هم یک دور روی صفحه اجرا شود. --Z ‏۵ مهٔ ۲۰۱۲، ساعت ۱۸:۴۹ (UTC)[پاسخ]
خوب من با قسمت اول حرف شما (این که به جای کد محلی، از cosmetic_changes استفاده شود) موافقم. آن کد قبلا کلی روتوش شده و خروجی‌اش قابل اعتمادتر است.
اما قسمت دوم حرف شما را نفهمیدم؟ یعنی می‌گویید که کد cosmetic_changes را نباید برای همهٔ مقاله‌ها اجرا کرد چون تغییرات اخیر و فهرست پی‌گیری را شلوغ می‌کند؟ خوب اگر ربات پرچم داشته باشد که نه تغییرات شلوغ می‌شود نه پی‌گیری‌ها؟ من درست متوجه نشدم گمانم ▬ حجت/بحث ‏۵ مهٔ ۲۰۱۲، ساعت ۲۲:۵۲ (UTC)[پاسخ]
بله. با انجام دادن این کد متوجه شدم که مشکلاتی دارد. و مشکلات عمده ای دارد. روی یک مقاله دوبار اجرا شود، کارهای اولیه را برمیگرداند:) همان کدی را که معرفی کرده اید را در نظر داشتم. البته امیر به من گفت که در حال تغییرات در این کد هست تا با فارسی بومی سازی بهتری شود، و همچنین امکانات بیشتری را به کد اضافه کند. و براندش. اما Z جان من هم مثل حجت متوجه قسمت آخر کلامتان نشدم. اگر اجرای کدهای زیباساز صفحه در ویکی مجاز نیست پس چرا همین cosmetic_changes، و یا استانداردیز اینترویکی و یا بسیاری دیگر در کدهای پایه pywikipedia وجود دارند؟ اگر ربات هم مجوز داشته باشد مشکلی در تغییرات اخیر نداریم. و در آخر برای کدcosmetic_changes اگر امیر قصد راندنش را نداشت و یا خواست موازی براندش، ما هم خواهیم بود. پس با توجه به مشکلات کد:
  نامزدی‌ام را پس می‌گیرم /مهدیگپ ‏۶ مهٔ ۲۰۱۲، ساعت ۰۴:۵۹ (UTC)[پاسخ]
حجت جان تاریخچه هم هست، ضمن اینکه خود من برای مثال فهرست پی‌گیری‌هایم را بر روی حالت نمایش ربات‌ها بررسی می‌کنم (ویرایش‌های ربات‌ها را گاه بررسی می‌کنم) نکتهٔ مهم این است که اجرای این کد به این شیوه شاید تقریباً نود درصد مقاله‌هایمان تأثیر بگذارد، تغییراتی که اهمیت بسیار پایینی دارند. (افزون بر اینکه به منابع سامانه هم باید اهمیت داد) غیرعادی‌بودن این فعالیت (اجرای کد بدون انجام تغییرات دیگر در صفحه) در خود کد ذکر شده‌است. مهدی جان، این کد همین الان توسط خیلی‌ها اجرا می‌شود، ولی نه اینگونه و به‌تنهایی. بلکه فرضاً کد isbn.py بسته را برای اصلاح شابک‌های مقاله‌ای اجرا می‌کنند، اگر شابکی نیاز به تصحیح داشت، پیش از ذخیرهٔ صفحه ربات خودش cosmetic_changes.py را هم یک دور روی مقاله اجرا می‌کند (باید در user-config.py این را تنظیم کرد). اما برای مجوز که گفتید، این نوع تغییرات چون صفحه‌های زیادی را تغییر می‌دهند و همان‌طور که گفتم در ویکی‌های دیگر (حالا شاید در یک ویکی کوچک بی‌دروپیکر کسی ایراد نگیرد) مجاز نیست و برای اعمالش در درجهٔ اول باید جامعهٔ کاربری بپذیرد. همچنین به اخطار ابتدای کد (۶۷ به بعد) توجه کنید. --Z ‏۶ مهٔ ۲۰۱۲، ساعت ۱۱:۴۶ (UTC)[پاسخ]