diff options
author | trizen <trizen@protonmail.com> | 2020-02-26 11:37:02 +0200 |
---|---|---|
committer | trizen <trizen@protonmail.com> | 2020-02-26 11:37:02 +0200 |
commit | f898eac5f4c62e0f2e279fc5c27c7c4892523f89 (patch) | |
tree | a139da2f26bc49f9eb8aad7c56c767567b0b9337 | |
parent | 69da41f41ef6a23a4f7430bc0b00b7436e374b25 (diff) | |
download | fair-viewer-f898eac5f4c62e0f2e279fc5c27c7c4892523f89.tar.lz fair-viewer-f898eac5f4c62e0f2e279fc5c27c7c4892523f89.tar.xz fair-viewer-f898eac5f4c62e0f2e279fc5c27c7c4892523f89.zip |
- Fixed the "Author -> Uploads" entry.
- Set the default cache directory in /tmp
-rwxr-xr-x | bin/gtk-straw-viewer | 14 | ||||
-rwxr-xr-x | bin/straw-viewer | 16 | ||||
-rw-r--r-- | lib/WWW/StrawViewer.pm | 3 | ||||
-rw-r--r-- | lib/WWW/StrawViewer/Channels.pm | 5 |
4 files changed, 21 insertions, 17 deletions
diff --git a/bin/gtk-straw-viewer b/bin/gtk-straw-viewer index 432f31f..b244978 100755 --- a/bin/gtk-straw-viewer +++ b/bin/gtk-straw-viewer @@ -218,10 +218,10 @@ my %CONFIG = ( # Subtitle options srt_languages => ['en', 'es'], - captions_dir => tmpdir(), get_captions => 1, auto_captions => 0, - cache_dir => undef, # will be defined later + captions_dir => catdir(tmpdir(), 'straw-viewer'), + cache_dir => catdir(tmpdir(), 'straw-viewer'), # Others env_proxy => 1, @@ -464,11 +464,11 @@ if (not defined $CONFIG{cache_dir}) { $CONFIG{cache_dir} = catdir($cache_dir, 'straw-viewer'); } -# Create the cache directory (if needed) -if (not -d $CONFIG{cache_dir}) { +foreach my $path($CONFIG{cache_dir}, $CONFIG{captions_dir}) { + next if -d $path; require File::Path; - File::Path::make_path($CONFIG{cache_dir}) - or warn "[!] Can't create dir `$CONFIG{cache_dir}': $!"; + File::Path::make_path($path) + or warn "[!] Can't create path <<$path>>: $!"; } { @@ -2524,7 +2524,7 @@ sub display_results { #use Data::Dump qw(pp); #pp $items; - if (ref($items) eq 'HASH' and $items->{type} eq 'playlist') { + if (ref($items) eq 'HASH') { $items = $items->{videos}; } diff --git a/bin/straw-viewer b/bin/straw-viewer index 147e16e..9ee0dea 100755 --- a/bin/straw-viewer +++ b/bin/straw-viewer @@ -211,11 +211,11 @@ my %CONFIG = ( # Subtitle options srt_languages => ['en', 'es'], - captions_dir => tmpdir(), get_captions => 1, auto_captions => 0, copy_caption => 0, - cache_dir => undef, # auto-defined + captions_dir => catdir(tmpdir(), 'straw-viewer'), + cache_dir => catdir(tmpdir(), 'straw-viewer'), # API api_host => "https://invidio.us", @@ -552,12 +552,12 @@ sub load_config { dump_configuration($config_file) if $update_config; - # Create the cache directory (if needed) - if (not -d $CONFIG{cache_dir}) { - require File::Path; - File::Path::make_path($CONFIG{cache_dir}) - or warn "[!] Can't create dir `$CONFIG{cache_dir}': $!"; - } +foreach my $path($CONFIG{cache_dir}, $CONFIG{captions_dir}) { + next if -d $path; + require File::Path; + File::Path::make_path($path) + or warn "[!] Can't create path <<$path>>: $!"; +} @opt{keys %CONFIG} = values(%CONFIG); } diff --git a/lib/WWW/StrawViewer.pm b/lib/WWW/StrawViewer.pm index 097d218..38fa317 100644 --- a/lib/WWW/StrawViewer.pm +++ b/lib/WWW/StrawViewer.pm @@ -284,8 +284,7 @@ sub set_lwp_useragent { my ($response) = @_; my $code = $response->code; - $code >= 500 # do not cache any bad response - or $code == 401 # don't cache an unauthorized response + $code >= 400 # do not cache any bad response or $response->request->method ne 'GET' # cache only GET requests # don't cache if "cache-control" specifies "max-age=0" or "no-store" diff --git a/lib/WWW/StrawViewer/Channels.pm b/lib/WWW/StrawViewer/Channels.pm index 309aa07..b2c2c99 100644 --- a/lib/WWW/StrawViewer/Channels.pm +++ b/lib/WWW/StrawViewer/Channels.pm @@ -28,6 +28,11 @@ sub videos_from_channel_id { return $self->_get_results($self->_make_feed_url("channels/$channel_id/videos")); } +sub videos_from_username { + my ($self, $channel_id) = @_; + return $self->_get_results($self->_make_feed_url("channels/$channel_id/videos")); +} + =head2 channels_from_categoryID($category_id) Return the YouTube channels associated with the specified category. |