Talk:Brighton 10B144b (AppleTV2,1)

From The iPhone Wiki
Jump to: navigation, search

Firmware link

Why does this page show a firmware link with the name 6.1 in it? The corresponding IPSW has 5.2 in the name. Something wrong with the template? --http (talk) 20:44, 31 January 2013 (UTC)

This has been added incorrectly. I will fix this as I checked the link and it does indeed say 5.2. --iAdam1n (talk) 20:49, 31 January 2013 (UTC)
Adam's correct. The iOS version above the infobox is supposed to be the displayed version (5.2), not the internal version (6.1). The template wasn't wrong. Neal posted the page incorrectly. --5urd (talk) 22:41, 31 January 2013 (UTC)
I know it can be fixed. But if you look at this revision, then you can see the wrong link. But if you click it, then it still works and it downloads the correct one. My question is why does the link not match the displayed IPSW link? Is the displayed link created dynamically while the download link is not? If they are different, then I would say something with the template is wrong. --http (talk) 22:55, 31 January 2013 (UTC)
When you add it, you state the iOS and he stated 6.1 not 5.2. --iAdam1n (talk) 23:10, 31 January 2013 (UTC)
The link text (in this case, "AppleTV2,1_5.2_10B144b_Restore.ipsw") doesn't come from the URL; it's put together with some template arguments. The version argument was erroneously tagged as "6.1," but the URL was correct. That's why the link worked, but the displayed text was "AppleTV2,1_6.1_10B144b_Restore.ipsw." --Dialexio (talk) 23:38, 31 January 2013 (UTC)
Correct. Parser functions don't have string manipulation functions, so I build the display piece through the arguments:
 | below        = {{#if: {{{downloadurl|}}} | [{{{downloadurl|}}} {{#switch: {{{device|}}}
   | appletv21 = AppleTV2,1
   | ipod51    = iPod5,1
   | #default  =  
 }}_{{#switch: {{{build|}}}
   <!-- builds where the version listed on the page isn't the same as the one on the IPSW -->
   <!-- Apple TV: display version is marketing version NOT internal version-->
   | 8M89   = 4.1
   | 9B206f = 5.0
   <!-- [[Golden Master]]s -->
   | 7A341  = 3.0
   | 10B144 = 6.1
   | #default = {{{version}}}
 }}_{{{build}}}_Restore.ipsw]{{#ifeq: {{{build|}}} | 8A293 | {{#ifeq: {{{device|}}} | iphone31 | |  (Final) }}}}
It first checks if a download URL is provided, and if so, it builds the first part of the display text with a switch statement. It then determines the version to display based on the provided build argument. The first switch is for Apple TV's where the display version (version argument) is not the same as the IPSW version. The second one is for Golden Masters as the version argument is provided in the form of #.#GM and #.#. It then adds the build argument to the text and the final Restore.ipsw.
The portion directly after checks if the page is for 8A293, and not for an iPhone 4 (GSM). If that is true, it adds the text (Final) after the link to indicate that the download link is for the final (public) version (as the Golden Master for 4.0 (8A293) was different from the publicly released version. See Game Center and Golden Master. --5urd (talk) 00:01, 1 February 2013 (UTC)
My point is that the link name doesn't match the URL by design (if you specify iOS version wrong). If you can't do these string manipulations in the template, then I suggest that either we create the last part of the URL dynamically as well (and only list path in the page definition) or we have two fields, one for the path, the second for file name. That should work. BTW: Can we move this discussion to the Talk page of the template? --http (talk) 07:55, 1 February 2013 (UTC)