维基百科:机器人/申请/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)