Skip to content

Commit 761fea2

Browse files
committed
supported ZZ pseudo-code to --exclude-countries
1 parent 75ce554 commit 761fea2

File tree

5 files changed

+11
-6
lines changed

5 files changed

+11
-6
lines changed

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
# 0.28.0 (2026-02-15)
2+
3+
- added `ZZ` pseudo-code to `--exclude-countries` to filter out mirrors with undefined country
4+
15
# 0.27.0 (2026-02-08)
26

37
- added Arch4edu support (`arch4edu`)

Cargo.lock

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "rate_mirrors"
3-
version = "0.27.0"
3+
version = "0.28.0"
44
authors = ["Nikita Almakov <nikita.almakov@gmail.com>"]
55
edition = "2024"
66
description = "Everyday-use client-side map-aware mirror ranking tool (Arch Linux; Manjaro; custom ones)"

src/config.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ use crate::target_configs::openbsd::OpenBSDTarget;
1515
use crate::target_configs::rebornos::RebornOSTarget;
1616
use crate::target_configs::stdin::StdinTarget;
1717
// use crate::target_configs::ubuntu::UbuntuTarget;
18-
use ambassador::{delegatable_trait, Delegate};
18+
use ambassador::{Delegate, delegatable_trait};
1919
use clap::{Parser, Subcommand};
2020
use serde::de::DeserializeOwned;
2121
use std::collections::HashSet;
@@ -245,6 +245,7 @@ pub struct Config {
245245
pub entry_country: String,
246246

247247
/// Exclude countries from mirror selection (comma-separated 2-letter ISO country codes).
248+
/// Use ZZ to filter out mirrors with undefined country.
248249
#[arg(
249250
env = "RATE_MIRRORS_EXCLUDE_COUNTRIES",
250251
long = "exclude-countries",

src/main.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ mod target_configs;
99
mod targets;
1010

1111
use crate::config::{AppError, Config, FetchMirrors};
12-
use crate::speed_test::{test_speed_by_countries, SpeedTestResult, SpeedTestResults};
12+
use crate::speed_test::{SpeedTestResult, SpeedTestResults, test_speed_by_countries};
1313
use chrono::prelude::*;
1414
use config::LogFormatter;
1515
use itertools::Itertools;
@@ -20,8 +20,8 @@ use std::fmt::Display;
2020
use std::fs::File;
2121
use std::io;
2222
use std::io::prelude::*;
23-
use std::sync::mpsc;
2423
use std::sync::Arc;
24+
use std::sync::mpsc;
2525
use std::thread;
2626

2727
struct OutputSink<'a, T: LogFormatter> {
@@ -140,7 +140,7 @@ fn main() -> Result<(), AppError> {
140140
mirrors.retain(|m| {
141141
m.country
142142
.map(|c| !config.is_country_excluded(c.code))
143-
.unwrap_or(true)
143+
.unwrap_or(!config.excluded_countries_set.contains("zz"))
144144
});
145145
if mirrors.len() < before_country {
146146
tx_progress

0 commit comments

Comments
 (0)