public void GenerateSections(ILanguage language, BadgeQueryData bqd) { switch (bqd.Size) { case "small": AddIconSection(DefaultTextSectionStyle); AddSection(new Section(language.Name, language.SectionType, LangSectionStyle)); break; case "medium": AddIconSection(DefaultTextSectionStyle); AddSection(new Section("language", SectionType.Text, DefaultTextSectionStyle)); AddSection(new Section(language.Name, language.SectionType, LangSectionStyle)); break; case "big": AddIconSection(DefaultTextSectionStyle); AddSection(new Section("programming language", SectionType.Text, DefaultTextSectionStyle)); AddSection(new Section(language.Name, language.SectionType, LangSectionStyle)); break; default: AddIconSection(DefaultTextSectionStyle); AddSection(new Section("language", SectionType.Text, DefaultTextSectionStyle)); AddSection(new Section(language.Name, language.SectionType, LangSectionStyle)); break; } }
public BadgeBase(BadgeQueryData d, ILanguage language) { BadgeQueryData = d; _language = language; _defaultFontStyle = d.FontStyle; _sections = new Section[] { }; }
public void GenerateSections(ILanguage language, BadgeQueryData bqd) { var topRatedSectionStyle = DefaultTextSectionStyle; topRatedSectionStyle.BackgroundColor = Color.TopRated; switch (bqd.Size) { case "small": AddIconSection(topRatedSectionStyle); AddSection(new Section($"{language.Name} top {_percent}", SectionType.Text, topRatedSectionStyle)); break; case "medium": AddIconSection(DefaultTextSectionStyle); AddSection(new Section("top rated", SectionType.Text, DefaultTextSectionStyle)); AddSection(new Section($"{language.Name} top {_percent}", SectionType.Text, topRatedSectionStyle)); break; case "big": AddIconSection(DefaultTextSectionStyle); AddSection(new Section("top rated repository", SectionType.Text, DefaultTextSectionStyle)); AddSection(new Section($"{language.Name} top {_percent} all over GitHub", SectionType.Text, topRatedSectionStyle)); break; default: AddIconSection(DefaultTextSectionStyle); AddSection(new Section("top rated", SectionType.Text, DefaultTextSectionStyle)); AddSection(new Section($"{language.Name} top {_percent}", SectionType.Text, topRatedSectionStyle)); break; } }
// GET: Simple language badge public ActionResult GetSimpleLanguageBadge() { Response.ContentType = "image/svg+xml"; var req = System.Web.HttpContext.Current.Request; var lang = req.QueryString["lang"] ?? "JavaScript"; var bqd = new BadgeQueryData(req); var badge = new LanguageBadge(bqd, Languages.GetLangByName(lang)); var viewModel = new SimpleLanguageBadgeViewModel(badge); return(View("SimpleLanguageBadge", viewModel)); }
// GET: Language badge public async Task <ActionResult> GetLanguageBadge() { Response.ContentType = "image/svg+xml"; var req = System.Web.HttpContext.Current.Request; var bqd = new BadgeQueryData(req); var c = await GitHubHelper.GetClient(); var rData = await c.GetRepoData(bqd); var badge = new LanguageBadge(bqd, rData.Lang); var viewModel = new LanguageBadgeViewModel(badge); return(View("LanguageBadge", viewModel)); }
public static async Task <RepoData> GetRepoData(this GitHubClient client, BadgeQueryData bqd) { try { var r = await client.Repository.Get(bqd.User, bqd.Repo); var rData = new RepoData( r.Id.ToString(), Languages.GetLangByName(r.Language), r.StargazersCount, 0, bqd.User, bqd.Repo ); return(rData); } catch (Exception) { return(new RepoData()); } }
// GET: Top rated badge public async Task <ActionResult> GetTopRatedBadge() { Response.ContentType = "image/svg+xml"; var req = System.Web.HttpContext.Current.Request; var bqd = new BadgeQueryData(req); var c = await GitHubHelper.GetClient(); var repoData = await c.GetRepoData(bqd); var langTopRatedData = await GitHubHelper.GetTopCategories(repoData.Lang); foreach (var cat in langTopRatedData.Categories) { Debug.WriteLine($"cp: {cat.PercentageString}, f: {cat.From}, t: {cat.To}"); } var badge = new TopRatedBadge(bqd, "0.05%", repoData.Lang); var viewModel = new TopRatedBadgeViewModel(badge); return(View("TopRatedBadge", viewModel)); }
public void GenerateSections(ILanguage language, BadgeQueryData bqd) { var topRatedSectionStyle = DefaultTextSectionStyle; topRatedSectionStyle.BackgroundColor = Color.TopRated; if (_place.Equals("0")) { _place = ">1000"; } switch (bqd.Size) { case "small": AddIconSection(topRatedSectionStyle); AddSection(new Section($"{language.Name} #{_place}", SectionType.Text, topRatedSectionStyle)); break; case "medium": AddIconSection(DefaultTextSectionStyle); AddSection(new Section($"{language.Name} top 1000", SectionType.Text, DefaultTextSectionStyle)); AddSection(new Section($"#{_place}", SectionType.Text, topRatedSectionStyle)); break; case "big": AddIconSection(DefaultTextSectionStyle); AddSection(new Section($"GitHub {language.Name} top 1000", SectionType.Text, DefaultTextSectionStyle)); AddSection(new Section($"#{_place} all over GitHub", SectionType.Text, topRatedSectionStyle)); break; default: AddIconSection(DefaultTextSectionStyle); AddSection(new Section($"{language.Name} top 1000", SectionType.Text, DefaultTextSectionStyle)); AddSection(new Section($"#{_place}", SectionType.Text, topRatedSectionStyle)); break; } }
// GET: Top 1000 badge public async Task <ActionResult> GetTop1000Badge() { Response.ContentType = "image/svg+xml"; var req = System.Web.HttpContext.Current.Request; var bqd = new BadgeQueryData(req); var c = await GitHubHelper.GetClient(); //var repoData = await GitHubHelper.GetRepoData(bqd.User, bqd.Repo); var repoData = await c.GetRepoData(bqd); Debug.Write("GOOOOO!!!!!!!!!!"); foreach (var l in Languages.All) { Debug.WriteLine("l: " + l.Name); var repos = c.Search.SearchRepo(new SearchRepositoriesRequest { Language = l.OctokitLanguage, Order = SortDirection.Descending, SortField = RepoSearchSort.Stars, PerPage = 100, Page = 1 }).Result.Items; Debug.WriteLine("repo: " + repos.FirstOrDefault()?.FullName); } var top1000 = await DataGetter.GetTop1000(repoData.Lang.ApiName); var place = top1000?.Repos?.FirstOrDefault(r => r.UserName.Equals(repoData.UserName) && r.RepoName.Equals(repoData.RepoName))?.Place ?? 0; var badge = new Top1000Badge(bqd, place.ToString(), repoData.Lang); var viewModel = new Top1000BadgeViewModel(badge); return(View("Top1000Badge", viewModel)); }
public LanguageBadge(BadgeQueryData bqd, ILanguage language) : base(bqd, language) { GenerateSections(language, bqd); }
public Top1000Badge(BadgeQueryData bqd, string place, ILanguage language) : base(bqd, language) { _place = place; GenerateSections(language, bqd); }
public TopRatedBadge(BadgeQueryData bqd, string percent, ILanguage language) : base(bqd, language) { _percent = percent; GenerateSections(language, bqd); }