维基百科:机器人/申请/Antigng-bot/32
Antigng-bot 32
- 狀態: 撤銷許可
- 操作者: Antigng(留言)
- 提請時間: 2019年6月4日 (二) 15:20 (UTC)
- 自動化程度:自动
- 程式語言:C
- 用途:清理调用重复模板参数的页面
- 原始碼連結:
- 編輯時段及頻率:不限,先清存档,然后转入长期运行
- 受影響頁面:存量1680,另每个月大致新产生~50个
- 遵守機器人規範:不相关
- 已有機器人權限:是
- 框架与前两个申请完全相同。第二部分修改为:
- 遍历所有模板,模板损坏,不处理;模板没参数,不处理。然后打开一个表存放(参数名,参数值的地址),并开始检查参数,对每个参数,如果参数名处引出模板,跳过,如果没有参数值(注:指|date|之类的),跳过;如果参数值处引出模板,跳过。然后在表中查询参数名,
- 如果命中,检查当前的参数值。
- 若其实质为空(定义为仅有空格,注释和常见控制符),释放本参数。
- 否则检查旧参数值是否实质为空
- 若是,将当前参数复制到旧参数值的地址,释放本参数。
- 否,则检查新旧参数值是否实质上相同,若是,释放本参数,否则跳过。
- 如果未命中,将(参数名,参数值的地址)加入表中。
- 如果命中,检查当前的参数值。
- 释放表格。若模板或任意子模板被清理过,返回1,否则返回0。
- 遍历所有模板,模板损坏,不处理;模板没参数,不处理。然后打开一个表存放(参数名,参数值的地址),并开始检查参数,对每个参数,如果参数名处引出模板,跳过,如果没有参数值(注:指|date|之类的),跳过;如果参数值处引出模板,跳过。然后在表中查询参数名,
- 修正了解析模板的部分的很多bug。修好之后,在整个主名字空间空运行结果表明,有1680个可处理的页面,其中仅4个不在追踪分类里边。经检查,假阳性的原因在于待处理的问题发生在不存在的模板之中。但是即使清理不存在的模板也没有害处,所以没什么可进一步修的。
- 在功能上可以完全替代Wikipedia:机器人/申请/Liangent-bot/15。--Antigng(留言) 2019年6月4日 (二) 16:30 (UTC)
- 测试编辑,全部符合设计要求。--Antigng(留言) 2019年6月16日 (日) 01:48 (UTC)
- Special:Diff/54836579:動到「監製」前面的換行了。
- Special:Diff/54836557:為什麼保留的值是前面出現的小寫?
{{1x|1=a|1=}}
在機器人處理後結果為?- 上述步驟中的「释放本参数」是什麼意思?--Xiplus#Talk 2019年7月8日 (一) 12:28 (UTC)
- @Xiplus:
- “動到「監製」前面的換行”:是因为那个参数值是从最底下的老参数值复制上去的,而后者并不存在换行。
- “為什麼保留的值是前面出現的小寫?”:“检查是否实质上相同”一步做了大小写转换,导致程序以为两个参数的参数值实质相同,于是只留了前一个。为避免问题已删除转换相关的逻辑。
{{1x|1=a}}
- “上述步驟中的「释放本参数」是什麼意思”:C并不自带垃圾回收,一块内存区域不用就必须人工释放掉。--Antigng(留言) 2019年7月8日 (一) 14:40 (UTC)
- Xiplus#Talk 2019年7月9日 (二) 02:31 (UTC) 第三個問題的答案,這會改變模板的顯示結果,不是應該以不更動顯示結果為基本原則嗎?--
- Antigng(留言) 2019年7月9日 (二) 02:33 (UTC) ,没有人会故意填一个参数又故意让模板显示不出来,这样做几乎肯定是笔误所致。--
- Xiplus#Talk 2019年7月9日 (二) 02:37 (UTC) 對於資訊框來說是這樣沒錯,不過對於其他地方不會有意想不到的意外嗎?--
- 那我跑一下空运行看一下呗,if(atoi(name)>0||!strcmp(name,"0")) {/* do somthing*/}--Antigng(留言) 2019年7月9日 (二) 02:39 (UTC)
- 查完了,所有数字=xxx类型并且模板参数重复的条目涉及的都是noteta模板,且其中不存在上述情况。--Antigng(留言) 2019年7月9日 (二) 04:47 (UTC)
- Xiplus#Talk 2019年7月9日 (二) 04:58 (UTC) 不一定是數字參數啊,命名參數也有一樣的效果(後出現的參數值覆蓋前面的,即使後參數值為空字串)。--
- 没发现不是错用的情况。--Antigng(留言) 2019年7月9日 (二) 05:20 (UTC)
- 所有符合这个条件导致不显示的空参数Special:Diff/55136813,没见到哪个有特殊需求需要刻意使用空参数覆盖老参数的。--Antigng(留言) 2019年7月9日 (二) 05:35 (UTC)
- 那再 批准測試運作(100次編輯)。--Xiplus#Talk 2019年7月9日 (二) 09:20 (UTC)
- 测试已完成,全部符合设计要求。--Antigng(留言) 2019年7月9日 (二) 13:30 (UTC)
- Special:Diff/55142030,對於這筆編輯來說,我覺得保留注釋會比較好。--Xiplus#Talk 2019年7月10日 (三) 08:40 (UTC)
- 另外編輯摘要使用中文應能更好地提供資訊,甚至是應考慮連結到分類頁。--Xiplus#Talk 2019年7月10日 (三) 08:42 (UTC)
- Antigng(留言) 2019年7月10日 (三) 12:27 (UTC)
- Xiplus#Talk 2019年7月10日 (三) 12:30 (UTC)
- Antigng(留言) 2019年7月11日 (四) 00:43 (UTC)
- Xiplus#Talk 2019年7月11日 (四) 02:15 (UTC) 就這麼做吧。--
标签可以繁简转换,摘要不可以。--
為什麼覺得標籤比編輯摘要好?這樣不就標籤和摘要給出重複的資訊嗎,還是說編輯摘要留空?-- - Antigng(留言) 2019年7月11日 (四) 00:43 (UTC)
,那就在两个参数都实质为空的情况下把后边一个参数接到前边一个参数的后边;中文和链接可以通过标签来加,加标签可以通过过滤器实现。-- - Xiplus#Talk 2019年7月10日 (三) 12:30 (UTC)
- Antigng(留言) 2019年7月10日 (三) 12:27 (UTC)
- 正式批准運作。--Xiplus#Talk 2019年7月11日 (四) 02:15 (UTC)