Skip to content
Snippets Groups Projects
Select Git revision
  • ed9bf255bddfbf9b451c52efa2ce0a22acf0610f
  • master default protected
  • rohlfing/update-matplotlib-dependencies
  • jupyterlab-extension-upgrade
  • development
  • v0.1.9-a
  • v0.1.9
  • v0.1.8
  • v0.1.7
  • v0.1.6
  • v0.1.5
  • v0.1.4
  • v0.1.3
  • v0.1.2
  • v0.1.1
  • v0.1.0
16 results

setup.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));
    }