aboutsummaryrefslogtreecommitdiffstats
path: root/lib/WWW/FairViewer.pm
diff options
context:
space:
mode:
authortrizen <trizen@protonmail.com>2020-11-21 05:00:44 +0200
committerJesús <heckyel@hyperbola.info>2020-12-02 13:10:45 -0500
commit1e1ff5349fb5c6a72012063709de1807f0a6696d (patch)
tree721ae582029f7f9e2b076cd28275f79e478209b2 /lib/WWW/FairViewer.pm
parentbdd6cda8011504e1d2dff30e8a3dd45cfeac3021 (diff)
downloadfair-viewer-1e1ff5349fb5c6a72012063709de1807f0a6696d.tar.lz
fair-viewer-1e1ff5349fb5c6a72012063709de1807f0a6696d.tar.xz
fair-viewer-1e1ff5349fb5c6a72012063709de1807f0a6696d.zip
More entries in the list of invidious instances in `_extract_from_invidious()`.
Signed-off-by: Jesús <heckyel@hyperbola.info>
Diffstat (limited to 'lib/WWW/FairViewer.pm')
-rw-r--r--lib/WWW/FairViewer.pm17
1 files changed, 11 insertions, 6 deletions
diff --git a/lib/WWW/FairViewer.pm b/lib/WWW/FairViewer.pm
index 41a5033..04dabf2 100644
--- a/lib/WWW/FairViewer.pm
+++ b/lib/WWW/FairViewer.pm
@@ -703,15 +703,20 @@ sub _make_feed_url {
sub _extract_from_invidious {
my ($self, $videoID) = @_;
- my @instances = $self->select_good_invidious_instances();
+ my @candidates = $self->select_good_invidious_instances();
+ my @extra_candidates = $self->select_good_invidious_instances(lax => 1);
- if (not @instances) {
- @instances = $self->select_good_invidious_instances(lax => 1);
- }
+ require List::Util;
+
+#<<<
+ my %seen;
+ my @instances = grep { !$seen{$_}++ } (
+ List::Util::shuffle(map { $_->[0] } @candidates),
+ List::Util::shuffle(map { $_->[0] } @extra_candidates),
+ );
+#>>>
if (@instances) {
- require List::Util;
- @instances = List::Util::shuffle(map { $_->[0] } @instances);
push @instances, 'invidious.snopyta.org';
}
else {