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

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

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

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

کد ربات: pywikipedia

جزئیات عملکرد: برداشتن پیوند به خود در فضای نام پرونده و فضای نام اصلی
نمونه:[۱] [۲]

تناوب اجرا: روزانه 3000 ویرایش آخر

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

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

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

شرح روش اجرا: در فضای نام اصلی، رده و درگاه

بحث ویرایش

بحثی در مورد عملکرد این کد و اثراتش در بحث کاربر:Mehdi وجود دارد.--MehdiTalk ‏۹ آوریل ۲۰۱۲، ساعت ۰۶:۰۹ (UTC)[پاسخ]

اینجا درخواست داده‌بودمرضا ۱۶۱۵ / ب ‏۱۱ آوریل ۲۰۱۲، ساعت ۱۶:۴۱ (UTC)[پاسخ]
تغییر لازم را اعمال کردم. امتحان کنید نتیجه را خبر بدهید ▬ حجت/بحث ‏۱۱ آوریل ۲۰۱۲، ساعت ۲۳:۲۱ (UTC)[پاسخ]
ربات پس از بروزرسانی این کد مجدداً شروع به کار نمود.--MehdiTalk ‏۱۲ آوریل ۲۰۱۲، ساعت ۰۳:۴۶ (UTC)[پاسخ]
همچنان مشکل وجود دارد.[۳]--MehdiTalk ‏۱۳ آوریل ۲۰۱۲، ساعت ۰۵:۴۷ (UTC)[پاسخ]
دوباره به کد نگاه می‌کنم. عجالتا می‌شود تایید کنید که در پرونده family.py شما سطری برای تعریف linktrail برای زبان 'fa' وجود دارد؟▬ حجت/بحث ‏۱۳ آوریل ۲۰۱۲، ساعت ۱۴:۰۰ (UTC)[پاسخ]
بله وجود دارد و ظاهراً جدیداً افزوده‌اید. مقدارش نیز برابر:
'fa': u'[a-zابپتثجچحخدذرزژسشصضطظعغفقکگلمنوهیآأئؤة‌]*',

است.--MehdiTalk ‏۱۳ آوریل ۲۰۱۲، ساعت ۱۵:۰۰ (UTC)[پاسخ]

کاری که من کردم، برای متنی که بعد از پیوند باشد، مشکل را حل می‌کند. اما برای متنی که قبل از پیوند باشد حل نمی‌کند. و این یک باگ نیست بلکه یک ویژگی است. در کد ویکی، اگر قبل از پیوند فاصله‌ای نباشد، خروجی اچ‌تی‌ام‌ال هم بدون فاصله خواهد بود. اما این مرورگرهای ما (فایرفاکس، سافاری و ...) هستند که اگر متن فارسی باشد در این جور مواقع حروف قبل از پیوند و حروف ابتدایی پیوند را به صورت دو کلمهٔ جدا نشان می‌دهند؛ اگر متن انگلیسی باشد چنین چیزی اتفاق نمی‌افتد. در زبان‌های غیرفارسی لینک کردن وسط یک کلمه کاملاً منطقی به نظر می‌رسد (مثلا prepaleolithic که در آن قسمت paleolithic به صفحهٔ مربوط، پیوند شده باشد) و اگر selflink بخواهد چنین لینکی را بردارد، دلیلی ندارد که حتماً بخواهد فاصله‌ای بین دو بخش اضافه کند، چون در آن حالت محصول کار می‌شود pre paleolithic به جای prepaleolithic. در فارسی به نظر می‌رسد که اضافه کردن فاصله منطقی باشد اما نمی‌توان با قطعیت گفت.
برای کاربرد فعلی در ویکی‌پدیای فارسی، به نظر می‌رسد که پیوند کردن وسط کلمه معمول نباشد؛ به همین خاطر برای این که دچار مشکل بالا نشوید، باید کد ربات را تغییر بدهید تا در این موارد، فاصله قبل از پیوند اضافه کند. در کد ربات سطر ۱۸۴ را به شکل زیر تغییر دهید:
return text[:match.start()] + " " + new + text[match.end():], False
بعد ربات را به طور آزمایشی اجرا کنید و نتیجه را بگویید. روش بالا کماکان اگر متنی انگلیسی باشد فاصله اضافه می‌کند (که کار بدی است) اما چون در ویکی‌پدیای فارسی متن انگلیسی که وسطش پیوند شده باشد احتمال نداریم، می‌شود با آن ساخت. ▬ حجت/بحث ‏۱۳ آوریل ۲۰۱۲، ساعت ۲۳:۳۴ (UTC)[پاسخ]
سپاس بسیار از توضیحات. به نظرتان ضروریست؟ من بسیاری از مشارکت‌های رباتم را پیگیری میکنم و در معدود مواردی به این مشکل برمی‌خورم. نهایت امر این است که از هر یکصد مقاله به یک موردی این چنین برخورد که میتوان در ویرایش‌های بعدی برطرفش کرد. با توجه به اینکه ربات هر شب از طریق SVN بروز میشود بازهم همان تغییرات بازخواهد گشت.امر کنید تا آن کنم. --MehdiTalk ‏۱۴ آوریل ۲۰۱۲، ساعت ۰۳:۳۶ (UTC)[پاسخ]
تنها در صورتی می‌توان مجوز داد که تضمین کنید «همهٔ» ویرایش‌های ربات را می‌بینید. می‌شود هم در باگ مربوطه این بحث را مطرح کنید و با دیگر برنامه‌نویسان ربات بحث کنیم که آیا اضافه کردن چند خط به کد اصلی ربات که این مشکل را رفع کند مورد قبولشان هست یا نه. ▬ حجت/بحث ‏۲۳ آوریل ۲۰۱۲، ساعت ۱۵:۰۱ (UTC)[پاسخ]
نتیجه و وضعیت این مجوز چه شد؟رضا ۱۶۱۵ / ب ‏۱۲ مهٔ ۲۰۱۲، ساعت ۰۸:۴۱ (UTC)[پاسخ]
نمیدانم.--MehdiTalk ‏۱۲ مهٔ ۲۰۱۲، ساعت ۰۸:۵۰ (UTC)[پاسخ]
کد مربوطه ضریب خطای بالایی دارد. باید کد تغییر داده شود و آن هم نیازمند موافقت توسعه‌دهندگان pywikipediabot است. ▬ حجت/بحث ‏۱۲ مهٔ ۲۰۱۲، ساعت ۱۵:۲۱ (UTC)[پاسخ]