Esempio n. 1
0
        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;
            }
        }
Esempio n. 2
0
 public BadgeBase(BadgeQueryData d, ILanguage language)
 {
     BadgeQueryData    = d;
     _language         = language;
     _defaultFontStyle = d.FontStyle;
     _sections         = new Section[] { };
 }
Esempio n. 3
0
        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;
            }
        }
Esempio n. 4
0
        // 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));
        }
Esempio n. 5
0
        // 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());
            }
        }
Esempio n. 7
0
        // 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));
        }
Esempio n. 8
0
        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;
            }
        }
Esempio n. 9
0
        // 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));
        }
Esempio n. 10
0
 public LanguageBadge(BadgeQueryData bqd, ILanguage language) : base(bqd, language)
 {
     GenerateSections(language, bqd);
 }
Esempio n. 11
0
 public Top1000Badge(BadgeQueryData bqd, string place, ILanguage language) : base(bqd, language)
 {
     _place = place;
     GenerateSections(language, bqd);
 }
Esempio n. 12
0
 public TopRatedBadge(BadgeQueryData bqd, string percent, ILanguage language) : base(bqd, language)
 {
     _percent = percent;
     GenerateSections(language, bqd);
 }