From 50983107ac32f323909fade67617352888ad11f6 Mon Sep 17 00:00:00 2001 From: "Collin M. Barrett" Date: Mon, 9 Jan 2017 13:14:27 -0600 Subject: [PATCH] combine most code into GeneralFunctions to cut down on copy/paste into each of five spreadsheets' GAS code --- gs/EncodeUrlSlug.gs | 27 ---- gs/GeneralFunctions.gs | 233 ++++++++++++++++++++++++++++++ gs/GenerateHtmlAddLink.gs | 15 -- gs/GenerateHtmlChangelogLink.gs | 15 -- gs/GenerateHtmlDonateLink.gs | 15 -- gs/GenerateHtmlEmailLink.gs | 15 -- gs/GenerateHtmlForksCombosLink.gs | 17 --- gs/GenerateHtmlForumLink.gs | 15 -- gs/GenerateHtmlGuideLink.gs | 15 -- gs/GenerateHtmlHomeLink.gs | 15 -- gs/GenerateHtmlIssuesLink.gs | 15 -- gs/GenerateHtmlListName.gs | 15 -- gs/GenerateHtmlViewLink.gs | 15 -- gs/TrimUrlSlug.gs | 27 ---- 14 files changed, 233 insertions(+), 221 deletions(-) delete mode 100644 gs/EncodeUrlSlug.gs create mode 100644 gs/GeneralFunctions.gs delete mode 100644 gs/GenerateHtmlAddLink.gs delete mode 100644 gs/GenerateHtmlChangelogLink.gs delete mode 100644 gs/GenerateHtmlDonateLink.gs delete mode 100644 gs/GenerateHtmlEmailLink.gs delete mode 100644 gs/GenerateHtmlForksCombosLink.gs delete mode 100644 gs/GenerateHtmlForumLink.gs delete mode 100644 gs/GenerateHtmlGuideLink.gs delete mode 100644 gs/GenerateHtmlHomeLink.gs delete mode 100644 gs/GenerateHtmlIssuesLink.gs delete mode 100644 gs/GenerateHtmlListName.gs delete mode 100644 gs/GenerateHtmlViewLink.gs delete mode 100644 gs/TrimUrlSlug.gs diff --git a/gs/EncodeUrlSlug.gs b/gs/EncodeUrlSlug.gs deleted file mode 100644 index 625d4b221..000000000 --- a/gs/EncodeUrlSlug.gs +++ /dev/null @@ -1,27 +0,0 @@ -function EncodeUrlSlug(slug) { - if (slug instanceof Array) { - for (i in slug) { - slug[i] = EncodeUrlSlug(slug[i]); - } - return slug; - } else { - if (slug) { - var charDict = [ - [" ", "%20"], - ["\"", "%22"], - [":", "%3A"], - ["'", "%27"], - ["+", "%2B"], - ["(", "%28"], - [")", "%29"], - [".", ""] - ]; - for (i = 0; i < charDict.length; ++i) { - slug = slug.split(charDict[i][0]).join(charDict[i][1]); - } - return slug; - } else { - return ""; - } - } -} \ No newline at end of file diff --git a/gs/GeneralFunctions.gs b/gs/GeneralFunctions.gs new file mode 100644 index 000000000..8e698bb5d --- /dev/null +++ b/gs/GeneralFunctions.gs @@ -0,0 +1,233 @@ +function EncodeUrlSlug(slug) { + if (slug instanceof Array) { + for (i in slug) { + slug[i] = EncodeUrlSlug(slug[i]); + } + return slug; + } else { + if (slug) { + var charDict = [ + [" ", "%20"], + ["\"", "%22"], + [":", "%3A"], + ["'", "%27"], + ["+", "%2B"], + ["(", "%28"], + [")", "%29"], + [".", ""] + ]; + for (i = 0; i < charDict.length; ++i) { + slug = slug.split(charDict[i][0]).join(charDict[i][1]); + } + return slug; + } else { + return ""; + } + } +} + +function GenerateHtmlAddLink(url, listName) { + if (url instanceof Array) { + for (i in url) { + url[i] = GenerateHtmlAddLink(url[i], listName[i]); + } + return url; + } else { + if (url && url != "#N/A") { + var html = "Add"; + return html; + } else { + return ""; + } + } +} + +function GenerateHtmlChangelogLink(url, listName) { + if (url instanceof Array) { + for (i in url) { + url[i] = GenerateHtmlChangelogLink(url[i], listName[i]); + } + return url; + } else { + if (url && url != "#N/A") { + var html = "Log"; + return html; + } else { + return ""; + } + } +} + +function GenerateHtmlDonateLink(url, listName) { + if (url instanceof Array) { + for (i in url) { + url[i] = GenerateHtmlDonateLink(url[i], listName[i]); + } + return url; + } else { + if (url && url != "#N/A") { + var html = "Donate"; + return html; + } else { + return ""; + } + } +} + +function GenerateHtmlEmailLink(url, listName) { + if (url instanceof Array) { + for (i in url) { + url[i] = GenerateHtmlEmailLink(url[i], listName[i]); + } + return url; + } else { + if (url && url != "#N/A") { + var html = "Email"; + return html; + } else { + return ""; + } + } +} + +function GenerateHtmlForksCombosLink(forkComboListName, filterListsPageSlug) { + if (forkComboListName instanceof Array) { + for (i in forkComboListName) { + forkComboListName[i] = GenerateHtmlForksCombosLink(forkComboListName[i], filterListsPageSlug[i]); + } + return forkComboListName; + } else { + // return null if no List Name provided + if (forkComboListName == null) { + return null; + // concatenate HTML link tag + } else { + var html = "Forum"; + return html; + } else { + return ""; + } + } +} + +function GenerateHtmlGuideLink(url, listName) { + if (url instanceof Array) { + for (i in url) { + url[i] = GenerateHtmlGuideLink(url[i], listName[i]); + } + return url; + } else { + if (url && url != "#N/A") { + var html = "Guide"; + return html; + } else { + return ""; + } + } +} + +function GenerateHtmlHomeLink(url, listName) { + if (url instanceof Array) { + for (i in url) { + url[i] = GenerateHtmlHomeLink(url[i], listName[i]); + } + return url; + } else { + if (url && url != "#N/A") { + var html = "Home"; + return html; + } else { + return ""; + } + } +} + +function GenerateHtmlIssuesLink(url, listName) { + if (url instanceof Array) { + for (i in url) { + url[i] = GenerateHtmlIssuesLink(url[i], listName[i]); + } + return url; + } else { + if (url && url != "#N/A") { + var html = "Issues"; + return html; + } else { + return ""; + } + } +} + +function GenerateHtmlListName(listName) { + if (listName instanceof Array) { + for (i in listName) { + listName[i] = GenerateHtmlListName(listName[i]); + } + return listName; + } else { + if (listName) { + var html = "

" + listName + "

"; + return html; + } else { + return ""; + } + } +} + +function GenerateHtmlViewLink(url, listName) { + if (url instanceof Array) { + for (i in url) { + url[i] = GenerateHtmlViewLink(url[i], listName[i]); + } + return url; + } else { + if (url && url != "#N/A") { + var html = "View"; + return html; + } else { + return ""; + } + } +} + +function TrimUrlSlug(slug) { + if (slug instanceof Array) { + for (i in slug) { + slug[i] = TrimUrlSlug(slug[i]); + } + return slug; + } else { + if (slug) { + var charDict = [ + [" ", ""], + ["\"", ""], + [":", ""], + ["'", ""], + ["+", ""], + ["(", ""], + [")", ""], + [".", ""] + ]; + for (i = 0; i < charDict.length; ++i) { + slug = slug.split(charDict[i][0]).join(charDict[i][1]); + } + return slug; + } else { + return ""; + } + } +} \ No newline at end of file diff --git a/gs/GenerateHtmlAddLink.gs b/gs/GenerateHtmlAddLink.gs deleted file mode 100644 index 7e2b631e1..000000000 --- a/gs/GenerateHtmlAddLink.gs +++ /dev/null @@ -1,15 +0,0 @@ -function GenerateHtmlAddLink(url, listName) { - if (url instanceof Array) { - for (i in url) { - url[i] = GenerateHtmlAddLink(url[i], listName[i]); - } - return url; - } else { - if (url && url != "#N/A") { - var html = "Add"; - return html; - } else { - return ""; - } - } -} \ No newline at end of file diff --git a/gs/GenerateHtmlChangelogLink.gs b/gs/GenerateHtmlChangelogLink.gs deleted file mode 100644 index dbc2a617f..000000000 --- a/gs/GenerateHtmlChangelogLink.gs +++ /dev/null @@ -1,15 +0,0 @@ -function GenerateHtmlChangelogLink(url, listName) { - if (url instanceof Array) { - for (i in url) { - url[i] = GenerateHtmlChangelogLink(url[i], listName[i]); - } - return url; - } else { - if (url && url != "#N/A") { - var html = "Log"; - return html; - } else { - return ""; - } - } -} \ No newline at end of file diff --git a/gs/GenerateHtmlDonateLink.gs b/gs/GenerateHtmlDonateLink.gs deleted file mode 100644 index 2e45a8377..000000000 --- a/gs/GenerateHtmlDonateLink.gs +++ /dev/null @@ -1,15 +0,0 @@ -function GenerateHtmlDonateLink(url, listName) { - if (url instanceof Array) { - for (i in url) { - url[i] = GenerateHtmlDonateLink(url[i], listName[i]); - } - return url; - } else { - if (url && url != "#N/A") { - var html = "Donate"; - return html; - } else { - return ""; - } - } -} \ No newline at end of file diff --git a/gs/GenerateHtmlEmailLink.gs b/gs/GenerateHtmlEmailLink.gs deleted file mode 100644 index 054ae746f..000000000 --- a/gs/GenerateHtmlEmailLink.gs +++ /dev/null @@ -1,15 +0,0 @@ -function GenerateHtmlEmailLink(url, listName) { - if (url instanceof Array) { - for (i in url) { - url[i] = GenerateHtmlEmailLink(url[i], listName[i]); - } - return url; - } else { - if (url && url != "#N/A") { - var html = "Email"; - return html; - } else { - return ""; - } - } -} \ No newline at end of file diff --git a/gs/GenerateHtmlForksCombosLink.gs b/gs/GenerateHtmlForksCombosLink.gs deleted file mode 100644 index 392c98d85..000000000 --- a/gs/GenerateHtmlForksCombosLink.gs +++ /dev/null @@ -1,17 +0,0 @@ -function GenerateHtmlForksCombosLink(forkComboListName, filterListsPageSlug) { - if (forkComboListName instanceof Array) { - for (i in forkComboListName) { - forkComboListName[i] = GenerateHtmlForksCombosLink(forkComboListName[i], filterListsPageSlug[i]); - } - return forkComboListName; - } else { - // return null if no List Name provided - if (forkComboListName == null) { - return null; - // concatenate HTML link tag - } else { - var html = "Forum"; - return html; - } else { - return ""; - } - } -} \ No newline at end of file diff --git a/gs/GenerateHtmlGuideLink.gs b/gs/GenerateHtmlGuideLink.gs deleted file mode 100644 index 1d411b8c9..000000000 --- a/gs/GenerateHtmlGuideLink.gs +++ /dev/null @@ -1,15 +0,0 @@ -function GenerateHtmlGuideLink(url, listName) { - if (url instanceof Array) { - for (i in url) { - url[i] = GenerateHtmlGuideLink(url[i], listName[i]); - } - return url; - } else { - if (url && url != "#N/A") { - var html = "Guide"; - return html; - } else { - return ""; - } - } -} \ No newline at end of file diff --git a/gs/GenerateHtmlHomeLink.gs b/gs/GenerateHtmlHomeLink.gs deleted file mode 100644 index bd9026827..000000000 --- a/gs/GenerateHtmlHomeLink.gs +++ /dev/null @@ -1,15 +0,0 @@ -function GenerateHtmlHomeLink(url, listName) { - if (url instanceof Array) { - for (i in url) { - url[i] = GenerateHtmlHomeLink(url[i], listName[i]); - } - return url; - } else { - if (url && url != "#N/A") { - var html = "Home"; - return html; - } else { - return ""; - } - } -} \ No newline at end of file diff --git a/gs/GenerateHtmlIssuesLink.gs b/gs/GenerateHtmlIssuesLink.gs deleted file mode 100644 index 5ff420b67..000000000 --- a/gs/GenerateHtmlIssuesLink.gs +++ /dev/null @@ -1,15 +0,0 @@ -function GenerateHtmlIssuesLink(url, listName) { - if (url instanceof Array) { - for (i in url) { - url[i] = GenerateHtmlIssuesLink(url[i], listName[i]); - } - return url; - } else { - if (url && url != "#N/A") { - var html = "Issues"; - return html; - } else { - return ""; - } - } -} \ No newline at end of file diff --git a/gs/GenerateHtmlListName.gs b/gs/GenerateHtmlListName.gs deleted file mode 100644 index c003343b5..000000000 --- a/gs/GenerateHtmlListName.gs +++ /dev/null @@ -1,15 +0,0 @@ -function GenerateHtmlListName(listName) { - if (listName instanceof Array) { - for (i in listName) { - listName[i] = GenerateHtmlListName(listName[i]); - } - return listName; - } else { - if (listName) { - var html = "

" + listName + "

"; - return html; - } else { - return ""; - } - } -} \ No newline at end of file diff --git a/gs/GenerateHtmlViewLink.gs b/gs/GenerateHtmlViewLink.gs deleted file mode 100644 index 7c1b551ef..000000000 --- a/gs/GenerateHtmlViewLink.gs +++ /dev/null @@ -1,15 +0,0 @@ -function GenerateHtmlViewLink(url, listName) { - if (url instanceof Array) { - for (i in url) { - url[i] = GenerateHtmlViewLink(url[i], listName[i]); - } - return url; - } else { - if (url && url != "#N/A") { - var html = "View"; - return html; - } else { - return ""; - } - } -} \ No newline at end of file diff --git a/gs/TrimUrlSlug.gs b/gs/TrimUrlSlug.gs deleted file mode 100644 index 21ae32fee..000000000 --- a/gs/TrimUrlSlug.gs +++ /dev/null @@ -1,27 +0,0 @@ -function TrimUrlSlug(slug) { - if (slug instanceof Array) { - for (i in slug) { - slug[i] = TrimUrlSlug(slug[i]); - } - return slug; - } else { - if (slug) { - var charDict = [ - [" ", ""], - ["\"", ""], - [":", ""], - ["'", ""], - ["+", ""], - ["(", ""], - [")", ""], - [".", ""] - ]; - for (i = 0; i < charDict.length; ++i) { - slug = slug.split(charDict[i][0]).join(charDict[i][1]); - } - return slug; - } else { - return ""; - } - } -} \ No newline at end of file