add region count and format the numbers
All checks were successful
Fetch new Pia Servers / docker (ubuntu-latest, 2.44.0, 17, 3.8.5) (push) Successful in 15s
All checks were successful
Fetch new Pia Servers / docker (ubuntu-latest, 2.44.0, 17, 3.8.5) (push) Successful in 15s
This commit is contained in:
parent
4bffef5254
commit
0b88b0ab34
@ -10,12 +10,14 @@ import java.io.File;
|
|||||||
import java.io.InputStream;
|
import java.io.InputStream;
|
||||||
import java.nio.file.Files;
|
import java.nio.file.Files;
|
||||||
import java.nio.file.StandardCopyOption;
|
import java.nio.file.StandardCopyOption;
|
||||||
|
import java.text.DecimalFormat;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
public class ReadMeManager {
|
public class ReadMeManager {
|
||||||
|
private final DecimalFormat decimalFormat = new DecimalFormat("#,###.00");
|
||||||
|
|
||||||
@SneakyThrows
|
@SneakyThrows
|
||||||
public ReadMeManager() {
|
public ReadMeManager() {
|
||||||
@ -31,16 +33,18 @@ public class ReadMeManager {
|
|||||||
// Get the contents of the README.md
|
// Get the contents of the README.md
|
||||||
String contents = new String(readmeStream.readAllBytes());
|
String contents = new String(readmeStream.readAllBytes());
|
||||||
|
|
||||||
// Replace the placeholders in the README.md file
|
|
||||||
contents = contents.replace("{server_count}", String.valueOf(PiaManager.SERVERS.size()));
|
|
||||||
contents = contents.replace("{last_update}", new Date().toString().replaceAll(" ", "_"));
|
|
||||||
|
|
||||||
// Write total servers per-region
|
|
||||||
Map<String, Integer> regionCounts = new HashMap<>();
|
Map<String, Integer> regionCounts = new HashMap<>();
|
||||||
for (PiaServer server : PiaManager.SERVERS) {
|
for (PiaServer server : PiaManager.SERVERS) {
|
||||||
String region = server.getRegion();
|
String region = server.getRegion();
|
||||||
regionCounts.put(region, regionCounts.getOrDefault(region, 0) + 1);
|
regionCounts.put(region, regionCounts.getOrDefault(region, 0) + 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Replace the placeholders in the README.md file
|
||||||
|
contents = contents.replace("{server_count}", decimalFormat.format(PiaManager.SERVERS.size()));
|
||||||
|
contents = contents.replace("{last_update}", new Date().toString().replaceAll(" ", "_"));
|
||||||
|
contents = contents.replace("{region_count}", decimalFormat.format(regionCounts.size()));
|
||||||
|
|
||||||
|
// Write total servers per-region
|
||||||
contents = contents.replace("{server_table}", regionCounts.entrySet().stream()
|
contents = contents.replace("{server_table}", regionCounts.entrySet().stream()
|
||||||
.sorted((a, b) -> Integer.compare(b.getValue(), a.getValue())) // Sort from highest to lowest
|
.sorted((a, b) -> Integer.compare(b.getValue(), a.getValue())) // Sort from highest to lowest
|
||||||
.map(entry -> "| " + entry.getKey() + " | " + entry.getValue() + " |") // Map the region to the count
|
.map(entry -> "| " + entry.getKey() + " | " + entry.getValue() + " |") // Map the region to the count
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
# PIA Server List
|
# PIA Server List
|
||||||
|
|
||||||
![Servers](https://img.shields.io/badge/servers-{server_count}-blue) ![Last update](https://img.shields.io/badge/last_updated-{last_update}-blue)
|
![Servers](https://img.shields.io/badge/servers-{server_count}-blue) ![Regions](https://img.shields.io/badge/regions-{region_count}-blue) ![Last update](https://img.shields.io/badge/last_updated-{last_update}-blue)
|
||||||
|
|
||||||
This is a list of the OpenVPN servers provided by Private Internet Access (PIA). The list is updated hourly.
|
This is a list of the OpenVPN servers provided by Private Internet Access (PIA). The list is updated hourly.
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user