diff --git a/scripts/commands/channels/editor.js b/scripts/commands/channels/editor.js index 33f46702..a3cda58e 100644 --- a/scripts/commands/channels/editor.js +++ b/scripts/commands/channels/editor.js @@ -118,6 +118,7 @@ async function getSimilar(list, channelId) { function generateCode(name, country) { const id = transliterate(name) .replace(/\+/gi, 'Plus') + .replace(/^\&/gi, 'And') .replace(/[^a-z\d]+/gi, '') return `${id}.${country}` diff --git a/scripts/commands/channels/parse.js b/scripts/commands/channels/parse.js index 84e8f175..8d996436 100644 --- a/scripts/commands/channels/parse.js +++ b/scripts/commands/channels/parse.js @@ -45,7 +45,7 @@ async function main() { channels = _.uniqBy(channels, c => c.site_id + c.lang) - channels = _.sortBy(channels, ['lang', 'xmltv_id']) + channels = _.sortBy(channels, ['lang', c => c.xmltv_id || '_', 'site_id']) const output = xml.create(channels, config.site)