Skip to content
Snippets Groups Projects
Select Git revision
  • 2032bd2733fc02459d27fb871c19d5bca2e3ec9c
  • master default protected
  • backport/docs_ci
  • improve/V30RC02
  • improve/V30RC01
  • feature/http_api
  • backport/http_api
  • feature/couchdb_update_commit
  • fix/tutorial_dynamic_model
  • v0.2.3 protected
  • v0.2.2 protected
  • v0.2.1 protected
  • v0.2.0 protected
  • v0.1.0 protected
14 results

test_provider.py

Blame
  • Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    Helpers.cs 1.33 KiB
    using Coscine.KpiGenerator.Models;
    using System.Text;
    using System.Web;
    
    namespace Coscine.KpiGenerator.Utils;
    
    public static class Helpers
    {
        public static IEnumerable<Organization> GetTopLevelOrganizationsFromEntries(IEnumerable<Organization> organizations)
        {
            var result = new List<Organization>();
            foreach (var org in organizations.Where(o => o.RorUrl is not null))
            {
                var ror = org.RorUrl;
                result.Add(new Organization
                {
                    RorUrl = ror.Contains('#') ? ror[..ror.IndexOf('#')] : ror, // e.g. <https://ror.org/04xfq0f34#ORG-42NHW> turns into <https://ror.org/04xfq0f34>
                    Name = org.Name
                });
            }
            return result.DistinctBy(r => r.RorUrl);
        }
    
        public static string GetReportingPathGeneral(string fileName) => string.Format("General/{0}", fileName);
    
        public static string GetReportingPathOrganization(string organizationRor, string fileName) => string.Format("Organizations/{0}/{1}", SanitizeOrganizationRor(organizationRor), fileName);
    
        public static string SanitizeOrganizationRor(string organizationRor) => HttpUtility.UrlEncode(organizationRor.Replace("https://ror.org/", "").ToLower());
    
        public static Stream ConvertStringContentsToStream(string contents) => new MemoryStream(Encoding.UTF8.GetBytes(contents));
    }