improve showing of file extensions from URLs

Signed-off-by: Jakub Sokołowski <jakub@status.im>
This commit is contained in:
Jakub Sokołowski 2019-02-07 11:00:44 +01:00
parent 6116455de3
commit 511b4a7077
No known key found for this signature in database
GPG Key ID: 4EF064D0E6D63020
3 changed files with 30 additions and 21 deletions

View File

@ -14,9 +14,11 @@ const formatDate = (data) => new Handlebars.SafeString(
/* extracts file extension from url */
const fileExt = (data) => {
let ext = data.split('.').pop()
if (ext.includes('/')) {
ext = ext.split('/').pop()
let ext = 'pkg' /* generic option for unexpected situations */
if (data.includes('diawi')) {
ext = 'ipa' /* diawi urls don't contain file extension */
} else if (data.includes('StatusIm-')) {
ext = data.split('.').pop()
}
return new Handlebars.SafeString(ext)
}

View File

@ -12,8 +12,8 @@ const COMMENT = `
### Jenkins Builds
| :grey_question: | Commit | :hash: | Finished (UTC) | Duration | Platform | Result |
|-|-|-|-|-|-|-|
| :heavy_check_mark: | COMMIT-0 | [ID-1](URL-1) | 2018-12-20 08:25:56 | DURATION-1 | \`PLATFORM-1\` | [:package: ext1](PKG_URL-1.ext1) |
| :heavy_check_mark: | COMMIT-0 | [ID-2](URL-2) | 2018-12-20 08:26:53 | DURATION-2 | \`PLATFORM-2\` | [:package: ext2](PKG_URL-2.ext2) |
| :heavy_check_mark: | COMMIT-0 | [ID-1](URL-1/) | 2018-12-20 08:25:56 | DURATION-1 | \`PLATFORM-1\` | [:package: exe](https://example.org/StatusIm-123-456-abc-pr.exe) |
| :heavy_check_mark: | COMMIT-0 | [ID-2](URL-2/) | 2018-12-20 08:26:53 | DURATION-2 | \`PLATFORM-2\` | [:package: ipa](https://i.diawi.com/ABCDxyz1) |
`
const COMMENT_FOLDED = `
@ -23,24 +23,24 @@ const COMMENT_FOLDED = `
| :grey_question: | Commit | :hash: | Finished (UTC) | Duration | Platform | Result |
|-|-|-|-|-|-|-|
| :heavy_check_mark: | COMMIT-0 | [ID-1](URL-1) | 2018-12-20 08:25:56 | DURATION-1 | \`PLATFORM-1\` | [:package: ext1](PKG_URL-1.ext1) |
| :heavy_check_mark: | COMMIT-0 | [ID-2](URL-2) | 2018-12-20 08:26:53 | DURATION-2 | \`PLATFORM-2\` | [:package: ext2](PKG_URL-2.ext2) |
| :x: | COMMIT-0 | [ID-3](URL-3) | 2018-12-20 08:27:50 | DURATION-3 | \`PLATFORM-3\` | [:page_facing_up: build log](URL-3consoleText) |
| :heavy_check_mark: | COMMIT-0 | [ID-1](URL-1/) | 2018-12-20 08:25:56 | DURATION-1 | \`PLATFORM-1\` | [:package: exe](https://example.org/StatusIm-123-456-abc-pr.exe) |
| :heavy_check_mark: | COMMIT-0 | [ID-2](URL-2/) | 2018-12-20 08:26:53 | DURATION-2 | \`PLATFORM-2\` | [:package: ipa](https://i.diawi.com/ABCDxyz1) |
| :x: | COMMIT-0 | [ID-3](URL-3/) | 2018-12-20 08:27:50 | DURATION-3 | \`PLATFORM-3\` | [:page_facing_up: build log](URL-3/consoleText) |
| | | | | | | |
| :heavy_check_mark: | COMMIT-1 | [ID-4](URL-4) | 2018-12-20 08:28:47 | DURATION-4 | \`PLATFORM-4\` | [:package: ext4](PKG_URL-4.ext4) |
| :heavy_check_mark: | COMMIT-1 | [ID-5](URL-5) | 2018-12-20 08:29:43 | DURATION-5 | \`PLATFORM-5\` | [:package: ext5](PKG_URL-5.ext5) |
| :x: | COMMIT-1 | [ID-6](URL-6) | 2018-12-20 08:30:40 | DURATION-6 | \`PLATFORM-6\` | [:page_facing_up: build log](URL-6consoleText) |
| :heavy_check_mark: | COMMIT-1 | [ID-7](URL-7) | 2018-12-20 08:31:37 | DURATION-7 | \`PLATFORM-7\` | [:package: ext7](PKG_URL-7.ext7) |
| :heavy_check_mark: | COMMIT-1 | [ID-4](URL-4/) | 2018-12-20 08:28:47 | DURATION-4 | \`PLATFORM-4\` | [:package: apk](https://example.org/StatusIm-123-456-abc-pr.apk) |
| :heavy_check_mark: | COMMIT-1 | [ID-5](URL-5/) | 2018-12-20 08:29:43 | DURATION-5 | \`PLATFORM-5\` | [:package: exe](https://example.org/StatusIm-123-456-abc-pr.exe) |
| :x: | COMMIT-1 | [ID-6](URL-6/) | 2018-12-20 08:30:40 | DURATION-6 | \`PLATFORM-6\` | [:page_facing_up: build log](URL-6/consoleText) |
| :heavy_check_mark: | COMMIT-1 | [ID-7](URL-7/) | 2018-12-20 08:31:37 | DURATION-7 | \`PLATFORM-7\` | [:package: pkg](https://unknown.example.org/path/package) |
</details>
| :grey_question: | Commit | :hash: | Finished (UTC) | Duration | Platform | Result |
|-|-|-|-|-|-|-|
| :heavy_check_mark: | COMMIT-2 | [ID-8](URL-8) | 2018-12-20 08:32:34 | DURATION-8 | \`PLATFORM-8\` | [:package: ext8](PKG_URL-8.ext8) |
| :x: | COMMIT-2 | [ID-9](URL-9) | 2018-12-20 08:33:31 | DURATION-9 | \`PLATFORM-9\` | [:page_facing_up: build log](URL-9consoleText) |
| :heavy_check_mark: | COMMIT-2 | [ID-10](URL-10) | 2018-12-20 08:34:27 | DURATION-10 | \`PLATFORM-10\` | [:package: ext10](PKG_URL-10.ext10) |
| :heavy_check_mark: | COMMIT-2 | [ID-11](URL-11) | 2018-12-20 08:35:24 | DURATION-11 | \`PLATFORM-11\` | [:package: ext11](PKG_URL-11.ext11) |
| :heavy_check_mark: | COMMIT-2 | [ID-8](URL-8/) | 2018-12-20 08:32:34 | DURATION-8 | \`PLATFORM-8\` | [:package: apk](https://example.org/StatusIm-123-456-abc-pr.apk) |
| :x: | COMMIT-2 | [ID-9](URL-9/) | 2018-12-20 08:33:31 | DURATION-9 | \`PLATFORM-9\` | [:page_facing_up: build log](URL-9/consoleText) |
| :heavy_check_mark: | COMMIT-2 | [ID-10](URL-10/) | 2018-12-20 08:34:27 | DURATION-10 | \`PLATFORM-10\` | [:package: ipa](https://i.diawi.com/ABCDxyz1) |
| :heavy_check_mark: | COMMIT-2 | [ID-11](URL-11/) | 2018-12-20 08:35:24 | DURATION-11 | \`PLATFORM-11\` | [:package: pkg](https://unknown.example.org/path/package) |
| | | | | | | |
| :x: | COMMIT-3 | [ID-12](URL-12) | 2018-12-20 08:36:21 | DURATION-12 | \`PLATFORM-12\` | [:page_facing_up: build log](URL-12consoleText) |
| :x: | COMMIT-3 | [ID-12](URL-12/) | 2018-12-20 08:36:21 | DURATION-12 | \`PLATFORM-12\` | [:page_facing_up: build log](URL-12/consoleText) |
`
describe('Comments', () => {

View File

@ -1,3 +1,10 @@
const PKG_URLS = [
'https://example.org/StatusIm-123-456-abc-pr.apk',
'https://example.org/StatusIm-123-456-abc-pr.exe',
'https://i.diawi.com/ABCDxyz1',
'https://unknown.example.org/path/package',
]
/* example valid build */
const BUILD = {
id: 'ID-1',
@ -5,8 +12,8 @@ const BUILD = {
success: true,
platform: 'PLATFORM-1',
duration: 'DURATION-1',
url: 'https://example.com/some/url/path',
pkg_url: 'https://example.com/some/pkg/path.ext',
url: 'https://example.com/some/url/path/',
pkg_url: 'https://example.com/some/pkg/StatusIm-123-456-789.apk',
}
const getBuild = (idx) => ({
@ -15,8 +22,8 @@ const getBuild = (idx) => ({
success: (idx%3) ? true : false,
platform: `PLATFORM-${idx}`,
duration: `DURATION-${idx} 12 sec`,
url: `URL-${idx}`,
pkg_url: `PKG_URL-${idx}.ext${idx}`,
url: `URL-${idx}/`,
pkg_url: PKG_URLS[idx%PKG_URLS.length],
meta: { created: 1545294300000+(idx*56789) },
})