模块讨论:RouteSequence

TimWu007在话题“关于模块改动后的问题”中的最新留言:1年前

怎样显示换乘站

如果使用%的话,就无法为此站创建链接。怎样为一个站点显示换乘站,如{{长沙地铁4号线}}的光达站显示:光达(换乘 2号线)?--SolidBlock留言 2019年9月12日 (四) 12:27 (UTC)回复

感谢IP用户的编辑。--SolidBlock留言 2019年9月13日 (五) 08:10 (UTC)回复

编辑请求 2020-06-24

  请求已拒绝

请求将第243行的system_data = mw.loadData("Module:RailSystems/" .. system)中将Module:RailSystems改为Module:Adjacent stations,如果发现问题可以回退。--Nissangeniss留言2020年6月24日 (三) 06:08 (UTC)回复

@Nissangeniss:您有测试过吗?是否有现有的页面可展示测试结果? Xiplus#Talk 2020年6月29日 (一) 16:03 (UTC)回复
RailSystems和adjacent stations本来就高度重叠,而且同时存在多年,请求合并两者也已经讨论好一段时间了,不过因技术原因始终没有做。--owennson聊天室奖座柜2020年7月6日 (一) 08:28 (UTC)回复
@NissangenissOwennson:两个模组子页面不尽相同,替换不会导致部分的页面坏掉吗? Xiplus#Talk 2020年7月10日 (五) 13:01 (UTC)回复
User:Xiplus:这就是一直无法取消的原因了。除非使用Railsystems的所有模板和条目全部换成以as为基础的模板,否则做不到的...--owennson聊天室奖座柜2020年7月10日 (五) 14:21 (UTC)回复
是不是应该先把AS缺少的部分从Railsystems复制过去? Xiplus#Talk 2020年7月10日 (五) 23:33 (UTC)回复
 未完成,目前的修改方案会造成部分页面受损。--Xiplus#Talk 2020年7月19日 (日) 13:39 (UTC)回复

编辑请求 2021-01-31

  请求已处理--Tim Wu留言2021年2月6日 (六) 03:11 (UTC)回复

增加对Module:Adjacent stations的支持,手动测试通过,但由于Module:Adjacent stations没有稳定的测试用例,所以暂时无法引入p.testCase,其他执行p.testCase{}通过无报错,说明至少现有页面不会受影响。其他情况待后续引入Module:Adjacent stations数据后再议。

另:合并后可使用AS:system_name测试AS是否可正常再线路图中显示。

--思域无疆大道 事体 机器 2021年1月31日 (日) 13:14 (UTC)回复

@Siyuwj在自己的沙盒测试了一下,Module:Adjacent_stations/广州地铁中的广州南站,会显示为“广州南站|广州南站”。--Tim Wu留言2021年1月31日 (日) 13:32 (UTC)回复
这就是没有 Test Case 的麻烦,我也不知道 Corner 有没有全覆盖,但至少不会破坏现有的……—思域无疆大道 事体 机器 2021年1月31日 (日) 13:38 (UTC)回复
@TimWu007 完成,下面的框我是拿来做记录的……—思域无疆大道 事体 机器 2021年1月31日 (日) 13:44 (UTC)回复
我这里没问题了,先公示7天吧。感谢您的更新。@NissangenissOwennson--Tim Wu留言2021年1月31日 (日) 13:54 (UTC)回复

目前测试通过(以下内容可能会随着讨论的进行而更新):

print(p.route{args={stations='大庆寺 ~ 奥体中心 ~ 兰亭', system='绍兴轨道交通'}})
print(p.route{args={stations='大庆寺 ~ 奥体中心 ~ 兰亭', system='AS:绍兴轨道交通'}}) # 只使用 [[Module:Adjacent_stations]]
print(p.route{args={stations='广州东站 ~ 体育中心 ~ 体育西路', system='广州地铁'}})

思域无疆大道 事体 机器 2021年1月31日 (日) 13:38 (UTC)回复

@SiyuwjTimWu007刚刚做了沙盒测试,改了一下RouteSequence改用Adj的参数再改动53行为lines(参见沙盒Module:RouteSequence/sandboxTemplate:铁道路线/sandboxTemplate:铁道路线/车站列表/sandbox),对比效果参见Template:铁道路线/testcases,铁道系统用汉字“广州地铁”没有问题。Nissangeniss留言2021年1月31日 (日) 13:58 (UTC)回复
@Nissangeniss直接替换为Adj的话,所有的消歧义全部失效了(例如石井站 (广州)变成了石井站),这也就是说RouteSequence最重要的能力被破坏了。可以在“参数设置”->“小工具”选择“用橙色标记消歧义页面”。—思域无疆大道 事体 机器 2021年1月31日 (日) 14:09 (UTC)回复
估计可能要在哪儿加一下能够消歧义的代码吧Nissangeniss留言2021年1月31日 (日) 15:41 (UTC)回复
思域无疆的版本似乎已经解决了问题?--Tim Wu留言2021年1月31日 (日) 15:45 (UTC)回复
好吧,现在才去看了无疆做的沙盒。Nissangeniss留言2021年1月31日 (日) 16:43 (UTC)回复
@Siyuwj@TimWu007{{Adjacent stations}}本身是向外提供了经过消歧义的车站链接接口的({{T:stl}} {{stl|系统|车站}},或者直接使用lua调用,见下),而现测试版本中似乎直接将这部分代码置入了,增加了耦合性,是否应该考虑解耦?
require('Module:Adjacent stations')._station({
	system = '上海地铁',
	station = '世纪大道',
	line = nil, -- 可选
	type = nil, -- 可选
}, frame)
――David Xuang (contact me) 2021年2月2日 (二) 09:16 (UTC)回复
@David Xuang多谢提醒。试用了,但个人感觉不合适。首先,_station看起来是私有方法,API未必稳定(而数据的格式可以认为是稳定的)。其次,_station 会尝试访问多个全局变量,这意味着随着该函数的更新,Module:RouteSequence随时有可能会出现错误,所以尝试通过 _station 解耦并不彻底(require的全局变量必须定义在当前Module里)。最后,Module:RouteSequence会设置车站的颜色、字体等信息以体现开通状态,而这无法通过{{stl}}达到。—思域无疆大道 事体 机器 2021年2月2日 (二) 10:55 (UTC)回复
@Siyuwj_station的命名是因为station这个入口是供维基文本以{{#invoke:}}语法调用的,可以注意到MakeInvokeFunction将前者包装成了后者,此处的API更改应该至少是向前兼容的(只增加可选值),而getStation函数才是私有的并且只支持{{Adjacent stations}}的,而其实接口函数还会尝试调用{{[系统名]车站}}处理消歧义,适用面更广。引用的模块里的本地变量的作用域问题,按我的理解和使用来看似乎是不存在的,不知道您具体指的是哪种问题。最后一个问题确实存在,但这个函数返回的格式是维基链接且必有两个值,其实可以使用正则表达式(\[\[(.+)\|(.+)\]\])提取所需的两处文本解决。――David Xuang (contact me) 2021年2月2日 (二) 11:47 (UTC)回复
@David Xuang已经 完成。—思域无疆大道 事体 机器 2021年2月2日 (二) 12:22 (UTC)回复
User:SiyuwjUser:TimWu007,不如干脆人手把RS替换成Adj吧,虽然有3800个页面,但只要没人增加RS,做起来还是很快的。我自己曾经以一人之力把1000多个Infobox Japanese station替换成日本车站资讯模板(后来并到Infobox station),花了11个月。按此比例,RS换成ADJ要2年多。就看各位有没有意愿一起做了。ADJ的代码比RS还简单和好理解,同时又有很多外语连结,所以我是提倡废掉RS全用ADJ的。--owennson聊天室奖座柜2021年1月31日 (日) 15:12 (UTC)回复
请注意,这个编辑请求正是要添加对Adj的支持,不是讨论adj与rs的合并问题。rs已经在存废讨论,阁下可移步至那边对相关议题发表意见。--Tim Wu留言2021年1月31日 (日) 15:15 (UTC)回复
好的。--owennson聊天室奖座柜2021年1月31日 (日) 15:22 (UTC)回复

编辑请求 2021-02-02

一般而言,中文的标点与对应西文标点等宽或更宽;在西文连接号使用en dash(– –)的情况下,这里连接号使用更窄的hyphen(-)是否不妥?并且,可以注意到T:铁道路线页面上提供的台铁示例似乎也是使用的en dash,本条目是否应该考虑改用en dash(– –)作为车站分隔符?――David Xuang (contact me) 2021年2月2日 (二) 09:00 (UTC)回复

有道理,我顺便改一下。—思域无疆大道 事体 机器 2021年2月2日 (二) 10:57 (UTC)回复
 完成。—思域无疆大道 事体 机器 2021年2月2日 (二) 10:59 (UTC)回复

关于模块改动后的问题

@SiyuwjTimWu007阁下发现改动此模块后如果{{铁道路线}}写了lua=1而不写铁道系统的参数的话会报错(见:Template:淮南铁路),看看有没有快速解决的方法?Nissangeniss留言2021年2月6日 (六) 02:49 (UTC)回复

我在模块文档页也发现了,还以为是少部分的问题……那我先回退更改了。--Tim Wu留言2021年2月6日 (六) 03:01 (UTC)回复
@Nissangeniss思域无疆君已修复错误,辛苦您修改模板了。--Tim Wu留言2021年2月6日 (六) 03:11 (UTC)回复

编辑请求 2021-02-06

  请求已处理--Tim Wu留言2021年2月6日 (六) 03:11 (UTC)回复

修复system参数为空导致的模块报错。--思域无疆大道 事体 机器 2021年2月6日 (六) 03:05 (UTC)回复

@TimWu007:之前的版本没有考虑空字符串和nil……已经提新的patch,同时引入了测试。—思域无疆大道 事体 机器 2021年2月6日 (六) 03:07 (UTC)回复
感谢修复。--Tim Wu留言2021年2月6日 (六) 03:11 (UTC)回复

编辑请求 2022-07-08

  请求已处理

现有的灰色站名不满足WCAG对正文字号文本的AA对比度要求(4.5及以上)。现有数值及最小满足要求的数值的数据列于下,并考虑到与{{navbox}}两种默认底色的配合。——David Xuang (contact me) 2022年7月8日 (五) 20:37 (UTC)回复

文本颜色 白色背景 {{navbox}}背景
gray#808080 3.94 3.88 3.68
#717171 4.88 4.79 4.55
sandbox 里改了个版本,并已通过 testCase。—思域无疆大道 事体 机器 2022年7月9日 (六) 02:36 (UTC)回复
 完成 2022年10月15日 (六) 23:20 (UTC)回复

编辑请求 2023-03-04

  请求已处理

由于Module:RailSystems下已无实际使用的数据模块,故停止在Module:RailSystems中查找数据。同时修复指定system后使用叹号自定义链接的语法。TestCases已经通过。--思域无疆大道 事体 机器 2023年3月4日 (六) 20:11 (UTC)回复

 完成--百無一用是書生 () 2023年3月14日 (二) 06:41 (UTC)回复

模组341-343行的问题

我注意到在 Template:兰渝铁路 条目中,有两个连续的blstart但是实际上只渲染一次,而blend渲染了多次,这导致了在模板的实际渲染结果中有html标签不对应的问题。

此外,强烈不建议使用 output_str = output_str .. 这样的写法,至于原因应该不需要我说了吧。--SolidBlock留言 2023年4月29日 (六) 06:13 (UTC)回复

编辑请求 2023-05-03

  请求已处理

修复上面提到的问题@SolidBlock,同时迁移测试用例到Module:RouteSequence/testcases。-思域无疆大道 事体 2023年5月3日 (三) 03:05 (UTC)回复

 完成,测试用例没有问题,已等待超过一周。--Tiger留言2023年5月12日 (五) 14:57 (UTC)回复

关于模块改动后的问题

@SiyuwjTigerzeng我留意到经过近期的改动之后,Template:将军澳线Template:东铁线以及Template:厦深铁路等模板在右侧无站的情况下仍会输出“>”,阁下是否应当重新考虑是次修订呢?另外Template:兰渝铁路出现的问题在我试图于Template:广茂铁路添加棠溪联络线的有关信息时亦有遇到,是次修订对于相关问题十分有帮助,但对于其他模板确实也产生了一定影响。--Jacky Cheung留言2023年5月21日 (日) 11:21 (UTC)回复

@Jackycheung0929作为workaround,可以先不填写末尾的blend,模块会自动补足BLOCK_END_PURE(即</div>)。相关情形已加入testcase并开始修正。—思域无疆大道 事体 2023年5月21日 (日) 11:53 (UTC)回复

  请求已处理

修复该问题,相关测试用例已增加。—思域无疆大道 事体 2023年5月21日 (日) 12:10 (UTC)回复

 完成--Tim Wu留言2023年5月21日 (日) 12:25 (UTC)回复

  请求已处理

@TimWu007额,刚找到一个bug修改就被merge了,只能再提一个了,case已改。具体的情形是如果使用了multiple line那么每个line都需要应用上面的fix。—思域无疆大道 事体 2023年5月21日 (日) 12:39 (UTC)回复

@Siyuwj 那公示长一段时间吧。--Tim Wu留言2023年5月21日 (日) 12:41 (UTC)回复
@Siyuwj 完成--Tim Wu留言2023年6月12日 (一) 06:00 (UTC)回复
返回到“RouteSequence”页面。