rl404/go-malscraper

View on GitHub
internal/key.go

Summary

Maintainability
A
0 mins
Test Coverage
package internal

import (
    "fmt"
    "strings"
)

// List of cache key used in malscraper.
const (
    KeyAnime               = "mal:anime"
    KeyAnimeVideo          = "mal:anime-video"
    KeyAnimeEpisode        = "mal:anime-episode"
    KeyAnimeReview         = "mal:anime-review"
    KeyAnimeRecommendation = "mal:anime-recommendation"
    KeyAnimeStats          = "mal:anime-stats"
    KeyAnimeCharacter      = "mal:anime-character"
    KeyAnimeStaff          = "mal:anime-staff"
    KeyAnimeNews           = "mal:anime-news"
    KeyAnimeArticle        = "mal:anime-article"
    KeyAnimeClub           = "mal:anime-club"
    KeyAnimePicture        = "mal:anime-picture"
    KeyAnimeMoreInfo       = "mal:anime-more-info"
    KeyManga               = "mal:manga"
    KeyMangaReview         = "mal:manga-review"
    KeyMangaRecommendation = "mal:manga-recommendation"
    KeyMangaStats          = "mal:manga-stats"
    KeyMangaCharacter      = "mal:manga-character"
    KeyMangaNews           = "mal:manga-news"
    KeyMangaArticle        = "mal:manga-article"
    KeyMangaClub           = "mal:manga-club"
    KeyMangaPicture        = "mal:manga-picture"
    KeyMangaMoreInfo       = "mal:manga-more-info"
    KeyCharacter           = "mal:character"
    KeyCharacterArticle    = "mal:character-article"
    KeyCharacterClub       = "mal:character-club"
    KeyCharacterPicture    = "mal:character-picture"
    KeyCharacterOgraphy    = "mal:character-ography"
    KeyCharacterVA         = "mal:character-va"
    KeyPeople              = "mal:people"
    KeyPeopleNews          = "mal:people-news"
    KeyPeopleArticle       = "mal:people-article"
    KeyPeoplePicture       = "mal:people-picture"
    KeyPeopleChar          = "mal:people-character"
    KeyPeopleStaff         = "mal:people-staff"
    KeyPeopleManga         = "mal:people-manga"
    KeyProducers           = "mal:producers"
    KeyProducer            = "mal:producer"
    KeyMagazines           = "mal:magazines"
    KeyMagazine            = "mal:magazine"
    KeyGenres              = "mal:genres"
    KeyAnimeWithGenre      = "mal:anime-with-genre"
    KeyMangaWithGenre      = "mal:manga-with-genre"
    KeyReviews             = "mal:reviews"
    KeyReview              = "mal:review"
    KeyRecommendations     = "mal:recommendations"
    KeyRecommendation      = "mal:recommendation"
    KeyUser                = "mal:user"
    KeyUserStats           = "mal:user-stats"
    KeyUserFavorite        = "mal:user-favorite"
    KeyUserFriend          = "mal:user-friend"
    KeyUserHistory         = "mal:user-history"
    KeyUserReview          = "mal:user-review"
    KeyUserRecommendation  = "mal:user-recommendation"
    KeyUserClub            = "mal:user-club"
    KeyUserAnime           = "mal:user-anime"
    KeyUserManga           = "mal:user-manga"
    KeySearchCharacter     = "mal:search-character"
    KeySearchPeople        = "mal:search-people"
    KeySearchUser          = "mal:search-user"
    KeySearchClub          = "mal:search-club"
    KeySeason              = "mal:season"
    KeyTopAnime            = "mal:top-anime"
    KeyTopManga            = "mal:top-manga"
    KeyTopCharacter        = "mal:top-character"
    KeyTopPeople           = "mal:top-people"
    KeyNewsList            = "mal:news-list"
    KeyNews                = "mal:news"
    KeyNewsTag             = "mal:news-tag"
    KeyArticle             = "mal:article"
    KeyArticleTag          = "mal:article-tag"
    KeyArticleList         = "mal:article-list"
    KeyClubs               = "mal:clubs"
    KeyClub                = "mal:club"
    KeyClubMember          = "mal:club-member"
    KeyClubPicture         = "mal:club-picture"
    KeyClubRelated         = "mal:club-related"
    KeyEmptyAnime          = "mal:empty:anime"
    KeyEmptyManga          = "mal:empty:manga"
    KeyEmptyChar           = "mal:empty:character"
    KeyEmptyPeople         = "mal:empty:people"
    KeyEmptyArticle        = "mal:empty:article"
    KeyEmptyClub           = "mal:empty:club"
    KeyEmptyNews           = "mal:empty:news"
    KeyEmptyReview         = "mal:empty:review"
    KeyEmptyUser           = "mal:empty:user"
)

func GetKey(key string, params ...interface{}) string {
    strParams := []string{key}
    for _, p := range params {
        strParams = append(strParams, fmt.Sprintf("%v", p))
    }
    return strings.Join(strParams, ":")
}