예제 #1
0
        /// <summary>
        /// Get downloads information about packages for selected period.
        /// </summary>
        /// <param name="period">Requested period - year, month</param>
        /// <param name="filter">Specify packages type</param>
        /// <returns>Information about package downloads.</returns>
        public async Task <PackageDownloads[]> GetDownloadsAsync(DateTimeOffset period, PackageFilter filter = PackageFilter.All)
        {
            AssertIsLoggedIn();

            CheckYear(period);

            var publisherInfo = await GetPublisherInfoAsync();

            var date       = period.ToString(ClientConsts.PERIOD_DT_FORMAT);
            var parameters = new Dictionary <string, string>()
            {
                { "package_filter", filter.ToString().ToLowerInvariant() }
            };

            var response = await FetchDataAsync <DownloadsResponse>($"/api/publisher-info/downloads/{publisherInfo.Id}/{date}.json" + ToQueryString(parameters));

            var downloads = new PackageDownloads[response.Payload.Length];

            for (int i = 0; i < response.Payload.Length; i++)
            {
                downloads[i] = new PackageDownloads(response.Payload[i], response.Links[i].ShortUrl);
            }

            return(downloads);
        }
예제 #2
0
        private static string GetFilterDisplayName(PackageFilter filter)
        {
            switch (filter)
            {
            case PackageFilter.All:
                return("All packages");

            case PackageFilter.Local:
                return("In Project");

            case PackageFilter.Modules:
                return("Built-in packages");

            default:
                return(filter.ToString());
            }
        }
        private static string GetFilterDisplayName(PackageFilter filter)
        {
            switch (filter)
            {
            case PackageFilter.Unity:
                return("Unity Registry");

            case PackageFilter.Other:
                return("My Registries");

            case PackageFilter.Local:
                return("In Project");

            case PackageFilter.Modules:
                return("Built-in");

            case PackageFilter.None:
                return("None");

            default:
                return(filter.ToString());
            }
        }
예제 #4
0
 public static void SetLastUsedPackageFilter(string str, PackageFilter filter)
 {
     EditorPrefs.SetString(lastUsedFilterPrefix + GetHascodeHexString(str), filter.ToString());
 }