Projects
Extra
get_iplayer
Sign Up
Log In
Username
Password
We truncated the diff of some files because they were too big. If you want to see the full diff for every file,
click here
.
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
Expand all
Collapse all
Changes of Revision 11
View file
get_iplayer.changes
Changed
@@ -1,4 +1,12 @@ ------------------------------------------------------------------- +Tue Feb 8 10:40:09 UTC 2022 - Andrei Dziahel <develop7@develop7.info> + +- get_iplayer 3.29 + + See https://github.com/get-iplayer/get_iplayer/wiki/release320to329#release329 + for upstream release notes + +------------------------------------------------------------------- Mon Feb 7 18:56:44 UTC 2022 - Andrei Dziahel <develop7@develop7.info> - get_iplayer v3.28
View file
get_iplayer.spec
Changed
@@ -6,7 +6,7 @@ # Name: get_iplayer -Version: 3.28 +Version: 3.29 Release: 0 Summary: Downloads H.264 BBC IPlayer TV, Radio, and Podcast Programs License: GPL-3.0-only
View file
get_iplayer-3.28.tar.gz/.github/ISSUE_TEMPLATE/bug_report.md
Deleted
@@ -1,35 +0,0 @@ ---- -name: Bug report -about: Create a bug report -title: '' -labels: '' -assignees: '' - ---- -### *Remove this line and all the text below before submitting your bug report* - -#### Read first - -- Do not request help with using get_iplayer. No user support will be provided. -- Do not request new features. Feature requests will not be accepted. -- All bug reports will automatically be closed and locked upon receipt. -- If your report identifies a reproducible bug in get_iplayer, it will be re-opened until a fix is released. -- You will receive no communication from the developers, so provide all the information required. - -#### What you need to provide - -- A clear and concise description of the bug. -- The **complete get_iplayer command line** used. -- The PID or URL of the programme you attempted to download, if applicable. **Only provide one programme**. -- A complete verbose log. Add logs as attachments. Do not paste logs into your bug report. Create a verbose log [e.g., log.txt] with: - - get_iplayer [your options here] --verbose > log.txt 2>&1 - -- Screenshots, if the bug appears to be in the Web PVR Manager user interface. -- OS and version [e.g. Windows 10 2004, macOS 10.15.5, Ubuntu 20.04.1] -- Browser and version [e.g. Chrome 83.0.4103, Edge 83.0.478.56, Firefox 78.0.1, Safari 13.1.1] -- get_iplayer version [e.g. 3.26, 3.26.0-MSWin32, 3.26.1-darwin] - use `get_iplayer -V` - -#### Documentation changes - -If you would like to contribute documentation changes, submit a bug report with your suggested changes and provide the full URL for the wiki page you wish to change. Direct editing of the wiki has been restricted to project developers due to attempted link hijacking by spambots.
View file
get_iplayer-3.29.tar.gz/.github/ISSUE_TEMPLATE/bug_report.yaml
Added
@@ -0,0 +1,86 @@ +name: Bug Report +description: File a bug report +body: +- type: markdown + attributes: + value: | + ## Read First + * Do not request help with using get_iplayer. User support will not be provided. + * Do not request new features for get_iplayer. Feature requests will not be accepted. + * All bug reports will automatically be closed and locked upon receipt. + * If your report identifies a reproducible bug in get_iplayer, it will be re-opened until a fix is released. + * You will receive no communication from the developers, so provide all the information required. +- type: checkboxes + attributes: + label: Do not file a bug report if you are using get_iplayer outside the UK. If you do, your report will be ignored. + options: + - label: I am not using get_iplayer outside the UK + required: true +- type: checkboxes + attributes: + label: Do not file a bug report if you are using get_iplayer with a VPN or proxy from any location, including the UK. If you do, your report will be ignored. + options: + - label: I am not using get_iplayer with a VPN or proxy from any location, including the UK + required: true +- type: checkboxes + attributes: + label: Search the repository (search field at top left) to see if a report already exists for the bug in the issue tracker. Do not create a duplicate report. Duplicate reports will be ignored. + description: See - **[Issue Tracker](https://github.com/get-iplayer/get_iplayer/issues)** + options: + - label: I have searched the repository and found no existing reports of the bug in the issue tracker + required: true +- type: checkboxes + attributes: + label: Review recent open and closed entries in the issue tracker to see if a report already exists for the bug. Do not create a duplicate report. Duplicate reports will be ignored. + description: See - [Open Issues](https://github.com/get-iplayer/get_iplayer/issues?q=is%3Aopen+is%3Aissue), [Closed Issues](https://github.com/get-iplayer/get_iplayer/issues?q=is%3Aclosed+is%3Aissue) + options: + - label: I have reviewed recent open and closed entries in the issue tracker and found no existing reports of the bug + required: true +- type: checkboxes + attributes: + label: Ensure that you are using get_iplayer 3.29 or higher. If not, your report will be ignored. + description: Check version with **`get_iplayer -V` or see the bottom of the Web PVR search page** + options: + - label: I am using get_iplayer 3.29 or higher + required: true +- type: input + attributes: + label: Identify the operating system and version where get_iplayer demonstrates the bug + description: Examples - Ubuntu 20.04, Fedora 34, Arch, OpenBSD 6.8, macOS 10.14, macOS Monterey (M1), Windows 10 + validations: + required: true +- type: textarea + attributes: + label: Provide a clear and concise description of the bug. Do not paste get_iplayer output or screenshots into the field below. If you do, your report will be ignored. + validations: + required: true +- type: input + attributes: + label: Provide the PID or URL of the programme you are attempting to download, if applicable. Provide the PID or URL for only one programme. + validations: + required: false +- type: textarea + attributes: + label: Provide the complete get_iplayer command line that demonstrates the bug. Do not truncate or excerpt the command. If you do, your report will be ignored. If you are using the Web PVR, list the steps necessary to reproduce the bug, in as much detail as possible. + validations: + required: true +- type: markdown + attributes: + value: | + ## Create a verbose log file for the bug, e.g., "log.txt" using the `--verbose` option: + ```bash + get_iplayer [your options here] --verbose > log.txt 2>&1 + ``` + ### Do not truncate or excerpt the log file. If you do, your report will be ignored. If you are using the Web PVR, copy output from both your web browser and the Web PVR console window and paste it into a plain text file. Do not omit the console window output showing the get_iplayer command(s) invoked by the Web PVR. If you do, your report will be ignored. To minimise the amount of output in the console window, quit and restart the Web PVR, then immediately execute the command that demonstrates the bug. + ### Do not submit screenshots instead of a log file. If you do, your report will be ignored. +- type: textarea + attributes: + label: Drag the log file into the field below to create an attachment. The log file must be added as an attachment. Do not paste its contents into the field below. If you do, your report will be ignored. You may enter a URL linking to your log file on a pastebin site. If the bug prevents get_iplayer from running, enter "N/A" in the field below. If you enter any other text in the field below, your report will be ignored. + validations: + required: true +- type: input + attributes: + label: If you are using the Web PVR, provide your web browser name and version. This information typically can be found from the application menu via Chrome/Firefox/Safari->About... (macOS) or Help->About... (Linux/Windows) + description: Examples - Chrome 83.0.4103, Edge 83.0.478.56, Firefox 78.0.1, Safari 13.1.1 + validations: + required: false
View file
get_iplayer-3.29.tar.gz/.github/PULL_REQUEST_TEMPLATE.md
Added
@@ -0,0 +1,11 @@ +### Read first + +- Fixes for reproducible bugs are welcome. +- Do not submit new features. New features will not be merged. +- Do not submit enhancements. Enhancements will not be merged. +- Do not submit changes to existing behaviour. Changes to existing behaviour will not be merged. +- All pull requests will automatically be closed and locked upon receipt. +- If your pull request fixes a reproducible bug, it will be re-opened until it is merged. +- You will receive no communication from the developers, so ensure your pull request is complete. + +#### Delete this line and all text above before submitting your pull request.
View file
get_iplayer-3.29.tar.gz/.github/workflows/auto-close-lock-pr-action.yml
Added
@@ -0,0 +1,29 @@ +on: + pull_request: + types: + - opened +jobs: + auto-close-lock-pr-action_job: + runs-on: ubuntu-latest + name: auto-close-lock-pr-action_job + steps: + - name: auto-close-lock-pr-action_close-step + id: auto-close-lock-pr-action_close-step + uses: maxkomarychev/octions/octions/issues/update@master + with: + token: ${{ secrets.GITHUB_TOKEN }} + issue_number: ${{ github.event.number }} + state: closed + - name: auto-close-lock-pr-action_lock-step + id: auto-close-lock-pr-action_lock-step + uses: maxkomarychev/octions/octions/issues/lock@master + with: + token: ${{ secrets.GITHUB_TOKEN }} + issue_number: ${{ github.event.number }} + - name: auto-close-lock-pr-action_label-step + id: auto-close-lock-pr-action_label-step + uses: maxkomarychev/octions/octions/issues/add-labels@master + with: + token: ${{ secrets.GITHUB_TOKEN }} + issue_number: ${{ github.event.number }} + labels: invalid
View file
get_iplayer-3.28.tar.gz/Makefile -> get_iplayer-3.29.tar.gz/Makefile
Changed
@@ -9,13 +9,14 @@ @git checkout master @sed -i.bak -e 's/^\(my $$version = \).*/\1$(VERSION);/' get_iplayer @sed -i.bak -e 's/^\(my $$VERSION = \).*/\1$(VERSION);/' get_iplayer.cgi - @rm -f get_iplayer.bak get_iplayer.cgi.bak + @sed -i.bak -e 's/\(get_iplayer \)[0-9.]\{1,\}\( or higher\)/\1$(VERSION)\2/g' .github/ISSUE_TEMPLATE/bug_report.yaml + @rm -f get_iplayer.bak get_iplayer.cgi.bak .github/ISSUE_TEMPLATE/bug_report.yaml.bak @./get_iplayer --nocopyright --manpage get_iplayer.1 @git diff --exit-code get_iplayer.1 > /dev/null || \ sed -i.bak -e 's/\(\.TH GET_IPLAYER "1" "\)[^"]*"/\1$(shell date +"%B %Y")\"/' get_iplayer get_iplayer.1 @rm -f get_iplayer.bak get_iplayer.1.bak @git log --format='%aN' | sort -u > CONTRIBUTORS; git add CONTRIBUTORS - @git commit -m "Release $(VERSION)" get_iplayer get_iplayer.cgi get_iplayer.1 CONTRIBUTORS + @git commit -m "Release $(VERSION)" get_iplayer get_iplayer.cgi get_iplayer.1 CONTRIBUTORS .github/ISSUE_TEMPLATE/bug_report.yaml @git tag v$(VERSION) tarball:
View file
get_iplayer-3.28.tar.gz/README.md -> get_iplayer-3.29.tar.gz/README.md
Changed
@@ -4,7 +4,7 @@ * Downloads TV and radio programmes from BBC iPlayer/BBC Sounds * Allows multiple programmes to be downloaded using a single command -* Indexing of most available iPlayer/Sounds catch-up programmes from previous 30 days (not BBC Three, Red Button, iPlayer Exclusive, or Podcast-only) +* Indexing of most available iPlayer/Sounds catch-up programmes from previous 30 days (not Red Button, iPlayer Exclusive, or Podcast-only) * Caching of programme index with automatic updating * Regex search on programme name * Regex search on programme description and episode title @@ -81,17 +81,17 @@ *(The `$` regular expression metacharacter matches "Radio 4" only at the end of the channel name, thus avoiding matches against "Radio 4 Extra")* -* Record TV programme number 208 (index from search results) in HD, with SD fallback if HD not available: +* Record TV programme number 208 (index from search results) in HD, with fallback to lower quality if not available: - `get_iplayer --get 208` [default is to download best available (max 1280x720)] + `get_iplayer --get 208` [default setting] - OR - - `get_iplayer --get 208 --tvmode=best` + or + + `get_iplayer --get 208 --tv-quality=hd,sd,web,mobile` [explicit setting] -* Record TV programme number 208 with lower resolution (max 704x396): +* Record TV programme number 208 in lower resolution only (704x396@50): - `get_iplayer --get 208 --tvmode=good` + `get_iplayer --get 208 --tv-quality=web` * Record TV programme number 208 and download subtitles in SubRip (SRT) format: @@ -112,17 +112,18 @@ * Record a radio programme using its Sounds URL: `get_iplayer https://www.bbc.co.uk/sounds/play/b07gcv34` -* Record a radio programme using the PID (b07gcv34) from its Sounds URL in highest quality (320k), with fallback to lower quality if not available: - `get_iplayer --pid=b07gcv34` [default is to download best available] +* Record a radio programme using the PID (b07gcv34) from its Sounds URL in high quality (320k), with fallback to lower quality if not available (default setting): + + `get_iplayer --pid=b07gcv34` [default setting] OR - `get_iplayer --pid=b07gcv34 --radiomode=best` + `get_iplayer --pid=b07gcv34 --radio-quality=high,std,med,low` [explicit setting] -* Record a radio programme using the PID (b07gcv34) from its Sounds URL with lower bit rate (96k): +* Record a radio programme using the PID (b07gcv34) from its Sounds URL with lower bit rate only (96k): - `get_iplayer --pid=b07gcv34 --radiomode=good` + `get_iplayer --pid=b07gcv34 --radio-quality=med` * Record multiple radio programmes (using PIDs from Sounds URLs):
View file
get_iplayer-3.28.tar.gz/get_iplayer -> get_iplayer-3.29.tar.gz/get_iplayer
Changed
@@ -24,7 +24,7 @@ # # package main; -my $version = 3.28; +my $version = 3.29; my $version_text; $version_text = sprintf("v%.2f", $version) unless $version_text; # @@ -83,17 +83,18 @@ my $opt_format = { # Recording attempts => [ 1, "attempts=n", 'Recording', '--attempts <number>', "Number of attempts to make or resume a failed connection. --attempts is applied per-stream, per-mode. Many modes have two or more streams available."], - audioonly => [ 1, "audioonly|audio-only!", 'Recording', '--audio-only', "Only download audio stream for TV programme. 'hls' recording modes are not supported and ignored. Produces .m4a file. Implies --force."], - downloadabortonfail => [ 1, "downloadabortonfail|download-abortonfail!", 'Recording', '--download-abortonfail', "Exit immediately if stream for any recording mode fails to download. Use to avoid repeated failed download attempts if connection is dropped or access is blocked."], + audioonly => [ 1, "audioonly|audio-only!", 'Recording', '--audio-only', "Only download audio stream for TV programme. Produces .m4a file. Implies --force."], + downloadabortonfail => [ 1, "downloadabortonfail||download-abort-onfail|download-abort-onfail!", 'Recording', '--download-abort-onfail', "Exit immediately if any stream to download. Use to avoid repeated failed download attempts if connection is dropped or access is blocked."], + excludeformat => [ 1, "excludeformat|exclude-format=s", 'Recording', '--exclude-format <format>,<format>,...', "Comma-separated list of media stream formats to ignore when recording. Valid values: hls,dash."], excludesupplier => [ 1, "excludecdn|exclude-cdn|excludesupplier|exclude-supplier=s", 'Recording', '--exclude-supplier <supplier>,<supplier>,...', "Comma-separated list of media stream suppliers (CDNs) to skip. Possible values: akamai,limelight,bidi,cloudfront. Synonym: --exclude-cdn."], force => [ 1, "force|force-download!", 'Recording', '--force', "Ignore programme history (unsets --hide option also)."], - fps25 => [ 1, "fps25!", 'Recording', '--fps25', "Use only 25fps streams for TV programmes (HD video not available)."], get => [ 2, "get|record|g!", 'Recording', '--get, -g', "Start recording matching programmes. Search terms required."], + includeformat => [ 1, "includeformat|include-format=s", 'Recording', '--include-format <format>,<format>,...', "Comma-separated list of media stream to use when recording. Overrides --exclude-format. Valid values: hls,dash"], includesupplier => [ 1, "includecdn|include-cdn|includesupplier|include-supplier=s", 'Recording', '--include-supplier <supplier>,<supplier>,...', "Comma-separated list of media stream suppliers (CDNs) to use if not included by default or if previously excluded by --exclude-supplier. Possible values: akamai,limelight,bidi,cloudfront. Synonym: --include-cdn."], hash => [ 1, "hash!", 'Recording', '--hash', "Show recording progress as hashes"], logprogress => [ 1, "log-progress|logprogress!", 'Recording', '--log-progress', "Force HLS/DASH download progress display to be captured when screen output is redirected to file. Progress display is normally omitted unless writing to terminal."], markdownloaded => [ 1, "markdownloaded|mark-downloaded!", 'Recording', '--mark-downloaded', "Mark programmes in search results or specified with --pid/--url as downloaded by inserting records in download history."], - modes => [ 0, "modes=s", 'Recording', '--modes <mode>,<mode>,...', "Recording modes. See --tvmode and --radiomode (with --long-help) for available modes and defaults. Shortcuts: tvbest,tvbetter,tvgood,tvworst,radiobest,radiobetter,radiogood,radioworst (default=default for programme type)."], + modes => [ 0, "modes|quality=s", 'Recording', '--quality <quality>,<quality>,...', "TV and radio recording quality preference. See --tv-quality and --radio-quality for available values and defaults. Default: default for programme type."], nomergeversions => [ 1, "nomergeversions|no-merge-versions!", 'Recording', '--no-merge-versions', "Do not merge programme versions with same name and duration."], noproxy => [ 1, "noproxy|no-proxy!", 'Recording', '--no-proxy', "Ignore --proxy setting in preferences and/or http_proxy environment variable."], overwrite => [ 1, "overwrite|over-write!", 'Recording', '--overwrite', "Overwrite recordings if they already exist"], @@ -170,7 +171,7 @@ cacherebuild => [ 1, "rebuildcache|rebuild-cache|cacherebuild|cache-rebuild!", 'Config', '--cache-rebuild', "Rebuild cache with full 30-day programme index. Use --refresh-limit to restrict cache window."], expiry => [ 1, "expiry|e=n", 'Config', '--expiry, -e <secs>', "Cache expiry in seconds (default 4hrs)"], limitmatches => [ 1, "limitmatches|limit-matches=n", 'Config', '--limit-matches <number>', "Limits the number of matching results for any search (and for every PVR search)"], - nopurge => [ 1, "no-purge|nopurge!", 'Config', '--nopurge', "Don't show warning about programmes recorded over 30 days ago"], + nopurge => [ 1, "no-purge|nopurge!", 'Hidden', '--nopurge', "Don't show warning about programmes recorded over 30 days ago"], prefsadd => [ 0, "addprefs|add-prefs|prefsadd|prefs-add!", 'Config', '--prefs-add', "Add/Change specified saved user or preset options"], prefsdel => [ 0, "del-prefs|delprefs|prefsdel|prefs-del!", 'Config', '--prefs-del', "Remove specified saved user or preset options"], prefsclear => [ 0, "clear-prefs|clearprefs|prefsclear|prefs-clear!", 'Config', '--prefs-clear', "Remove *ALL* saved user or preset options"], @@ -234,10 +235,9 @@ encodinglocalefs => [ 1, "encodinglocalefs|encoding-locale-fs=s", 'Misc', '--encoding-locale-fs <name>', "Character encoding used to encode file and directory names. Encoding name must be known to Perl Encode module. Default (only if auto-detect fails): Linux/Unix/OSX = UTF-8, Windows = cp1252"], indexmaxconn => [ 1, "indexmaxconn|index-maxconn=n", 'Misc', '--index-maxconn <number>', "Maximum number of connections to use for concurrent programme indexing. Default: 5 Min: 1 Max: 10"], noindexconcurrent => [ 1, "noindexconcurrent|no-index-concurrent!", 'Deprecated', '--no-index-concurrent', "Do not use concurrent indexing to update programme cache. Cache updates will be very slow."], - purgefiles => [ 1, "purgefiles|purge-files!", 'Misc', '--purge-files', "Delete downloaded programmes more than 30 days old"], releasecheck => [ 1, "releasecheck|release-check!", 'Misc', '--release-check', "Forces check for new release if used on command line. Checks for new release weekly if saved in preferences."], throttle => [ 1, "bw|throttle=f", 'Misc', '--throttle <Mb/s>', "Bandwidth limit (in Mb/s) for media file download. Default: unlimited. Synonym: --bw"], - trimhistory => [ 1, "trimhistory|trim-history=s", 'Misc', '--trim-history <# days to retain>', "Remove download history entries older than number of days specified in option value. Cannot specify 0 - use 'all' to completely delete download history"], + trimhistory => [ 1, "trimhistory|trim-history=s", 'Hidden', '--trim-history <# days to retain>', "Remove download history entries older than number of days specified in option value. Cannot specify 0 - use 'all' to completely delete download history"], }; @@ -388,6 +388,47 @@ # Parse the cmdline using the opt_format hash Options->usage( 0 ) if not $opt_cmdline->parse(); +# check obsolete options on command ilne +my %nono_remap = ( + "mode" => "quality", + "modes" => "quality", + "tvmode" => "tv-quality", + "radiomode" => "radio-quality", + "fps25" => "tv-lower-bitrate", +); +my $nono_regex = "(" . join("|", keys %nono_remap) . ")"; +my @nono_args = map { $_ =~ s/\-//g; $_ =~ s/=.*$//; $_;} grep(/--${nono_regex}/, @argv_save); +my $nono_found; +for my $nono_arg ( @nono_args ) { + $nono_found = 1; + logger "WARNING: --$nono_arg is deprecated and will be removed in a future release. Use --$nono_remap{$nono_arg}.\n"; + # logger "ERROR: --$nono_arg is no longer supported. Use --$nono_remap{$nono_arg}.\n"; +} +# exit 1 if $nono_found; + +# check invalid quality settings on command ilne +my $regex_quality = { + tvmode => qr/(fhd|hd|sd|web|mobile|1080p?|720p?|540p?|396p?|288p?|default)/, + radiomode => qr/(high|std|med|low|320k?|128k?|96k?|48k?|default)/ +}; +$regex_quality->{modes} = "($regex_quality->{tvmode}|$regex_quality->{radiomode})"; +my $bad_quality; +for my $qp ( "", "tv", "radio" ) { + my $qs = $qp ? "" : "s"; + my $cmd_quality = "${qp}quality"; + my $opt_quality = "${qp}mode${qs}"; + my @bad_quality; + if ( $opt_cmdline->{$opt_quality} ) { + @bad_quality = grep(!/^$regex_quality->{$opt_quality}$/, split(/,/, $opt_cmdline->{$opt_quality})); + if ( @bad_quality ) { + $bad_quality = 1; + logger "WARNING: Invalid values in --${cmd_quality}/--${opt_quality}: '" . join(",", @bad_quality) . "'. This will be a fatal error in a future release.\n"; + # logger "ERROR: Invalid values in --${cmd_quality}/--${opt_quality}: '" . join(",", @bad_quality) . "'\n"; + } + } +} +# exit 1 if $bad_quality; + # process --start and --stop if necessary foreach ('start', 'stop') { if ($opt_cmdline->{$_} && $opt_cmdline->{$_} =~ /(\d\d):(\d\d)(:(\d\d))?/) { @@ -416,9 +457,7 @@ # Sanitize preset file name my $presetname = StringUtils::sanitize_path( $opt_cmdline->{preset}, 0, 1 ); $optfile_preset = File::Spec->catfile($presets_dir, $presetname); - logger "INFO: Using user options preset '${presetname}'\n"; } -logger "DEBUG: User preset options file: $optfile_preset\n" if defined $optfile_preset && $opt->{debug}; # Parse options if we're not saving/adding/deleting options (system-wide options are overridden by personal options) if ( ! ( $opt_pre->{prefsadd} || $opt_pre->{prefsdel} || $opt_pre->{prefsclear} ) ) { @@ -561,7 +600,6 @@ } elsif ( $search_args[0] =~ m{^bbc-ipd:/*download/(\w+)/\w+/(\w+)/} ) { $opt->{pid} = $1; - $opt->{modes} ||= "best" if $2 eq "hd"; } } @@ -592,16 +630,8 @@ release_check(); my $retcode = 0; -# Trim history -if ( defined($opt->{trimhistory}) ) { - my $hist = History->new(); - $hist->trim(); -# purge files -} elsif ( $opt->{purgefiles} ) { - my $hist = History->new(); - purge_downloaded_files( $hist, 30 ); # mark downloaded -} elsif ( $opt->{markdownloaded} ) { +if ( $opt->{markdownloaded} ) { if ( ! $opt->{pid} && $no_search_args ) { main::logger "ERROR: Search term(s) or --pid or --url required with --mark-downloaded\n"; exit 1; @@ -702,7 +732,6 @@ my $hist = History->new(); my @pids = split( /,/, $opt->{pid} ); $retcode = download_pid_matches( $hist, find_pid_matches( $hist, @pids ) ); - purge_warning( $hist, 30 ); # Show history } elsif ( $opt->{history} ) { @@ -717,7 +746,6 @@ } my $hist = History->new(); $retcode = download_matches( $hist, find_matches( $hist, @search_args ) ); - purge_warning( $hist, 30 ); } exit $retcode; @@ -1949,67 +1977,6 @@ } # Generic -# Checks history for files that are over 30 days old and asks user if they should be deleted -# "$prog->{pid}|$prog->{name}|$prog->{episode}|$prog->{type}|".time()."|$prog->{mode}|$prog->{filename}\n"; -sub purge_downloaded_files { - my $hist = shift; - my @delete; - my @proglist; - my $days = shift; - - for my $pid ( $hist->get_pids() ) { - my $record = $hist->get_record( $pid ); - if ( $record->{timeadded} < (time() - $days*86400) && $record->{filename} && -f $record->{filename} ) { - # Calculate the seconds difference between epoch_now and epoch_datestring and convert back into array_time - my @t = gmtime( time() - $record->{timeadded} ); - push @proglist, "$record->{name} - $record->{episode}, Recorded: $t[7] days $t[2] hours ago"; - push @delete, $record->{filename}; - } - } - - if ( @delete ) { - main::logger "\nThese programmes are over 30 days old and should be deleted:\n"; - main::logger "-----------------------------------\n"; - main::logger join "\n", @proglist; - main::logger "\n-----------------------------------\n"; - main::logger "Do you wish to delete them now (Yes/No) ?\n"; - my $answer = <STDIN>; - if ($answer =~ /^yes$/i ) { - for ( @delete ) { - main::logger "INFO: Deleting $_\n"; - unlink $_; - } - main::logger "Programmes deleted\n"; - } else { - main::logger "No Programmes deleted\n"; - } - } - - return 0; -} - -sub purge_warning { - my $hist = shift; - my $days = shift; - my $overdue;
View file
get_iplayer-3.28.tar.gz/get_iplayer.1 -> get_iplayer-3.29.tar.gz/get_iplayer.1
Changed
@@ -1,4 +1,4 @@ -.TH GET_IPLAYER "1" "December 2021" "Phil Lewis" "get_iplayer Manual" +.TH GET_IPLAYER "1" "February 2022" "Phil Lewis" "get_iplayer Manual" .SH NAME get_iplayer \- Stream Recording tool and PVR for BBC iPlayer and BBC Sounds .SH SYNOPSIS @@ -168,10 +168,13 @@ Number of attempts to make or resume a failed connection. \-\-attempts is applied per\-stream, per\-mode. Many modes have two or more streams available. .TP \fB\-\-audio\-only -Only download audio stream for TV programme. 'hls' recording modes are not supported and ignored. Produces .m4a file. Implies \-\-force. +Only download audio stream for TV programme. Produces .m4a file. Implies \-\-force. .TP -\fB\-\-download\-abortonfail -Exit immediately if stream for any recording mode fails to download. Use to avoid repeated failed download attempts if connection is dropped or access is blocked. +\fB\-\-download\-abort\-onfail +Exit immediately if any stream to download. Use to avoid repeated failed download attempts if connection is dropped or access is blocked. +.TP +\fB\-\-exclude\-format <format>,<format>,... +Comma\-separated list of media stream formats to ignore when recording. Valid values: hls,dash. .TP \fB\-\-exclude\-supplier <supplier>,<supplier>,... Comma\-separated list of media stream suppliers (CDNs) to skip. Possible values: akamai,limelight,bidi,cloudfront. Synonym: \-\-exclude\-cdn. @@ -179,15 +182,15 @@ \fB\-\-force Ignore programme history (unsets \-\-hide option also). .TP -\fB\-\-fps25 -Use only 25fps streams for TV programmes (HD video not available). -.TP \fB\-\-get, \-g Start recording matching programmes. Search terms required. .TP \fB\-\-hash Show recording progress as hashes .TP +\fB\-\-include\-format <format>,<format>,... +Comma\-separated list of media stream to use when recording. Overrides \-\-exclude\-format. Valid values: hls,dash +.TP \fB\-\-include\-supplier <supplier>,<supplier>,... Comma\-separated list of media stream suppliers (CDNs) to use if not included by default or if previously excluded by \-\-exclude\-supplier. Possible values: akamai,limelight,bidi,cloudfront. Synonym: \-\-include\-cdn. .TP @@ -197,9 +200,6 @@ \fB\-\-mark\-downloaded Mark programmes in search results or specified with \-\-pid/\-\-url as downloaded by inserting records in download history. .TP -\fB\-\-modes <mode>,<mode>,... -Recording modes. See \-\-tvmode and \-\-radiomode (with \-\-long\-help) for available modes and defaults. Shortcuts: tvbest,tvbetter,tvgood,tvworst,radiobest,radiobetter,radiogood,radioworst (default=default for programme type). -.TP \fB\-\-no\-merge\-versions Do not merge programme versions with same name and duration. .TP @@ -236,8 +236,11 @@ \fB\-\-proxy, \-p <url> Web proxy URL, e.g., http://username:password@server:port or http://server:port. Value of http_proxy environment variable (if present) will be used unless \-\-proxy is specified. Used for both HTTP and HTTPS. Overridden by \-\-no\-proxy. .TP -\fB\-\-radiomode <mode>,<mode>,... -Radio recording modes (overrides \-\-modes): dafhigh,dafstd,dafmed,daflow,hafhigh,hafstd,hafmed,haflow,hlahigh,hlastd,hlsmed,hlalow. Shortcuts: best,better,good,worst,haf,hla,daf,hls,dash,high,std,med,low (default=hafhigh,hlahigh,dafhigh,hafstd,hlastd,dafstd,hafmed,hlamed,dafmed,haflow,hlalow,daflow). +\fB\-\-quality <quality>,<quality>,... +TV and radio recording quality preference. See \-\-tv\-quality and \-\-radio\-quality for available values and defaults. Default: default for programme type. +.TP +\fB\-\-radio\-quality <quality>,<quality>,... +Radio recording quality preference (overrides \-\-quality): high,std,med,low,default (Aliases: 320k,128k,96k,48k). Comma\-delimited list in descending order of preference. Default: high,std,med,low. .TP \fB\-\-start <secs|hh:mm:ss> Recording/streaming start offset (actual start may be several seconds earlier for HLS and DASH streams) @@ -251,8 +254,11 @@ \fB\-\-test, \-t Test only \- no recording (only shows search results with \-\-pvr and \-\-pid\-recursive) .TP -\fB\-\-tvmode <mode>,<mode>,... -TV recording modes (overrides \-\-modes): dvfhd,dvfsd,dvfxsd,dvfhigh,dvfxhigh,dvflow,hvfhd,hvfsd,hvfxsd,hvfhigh,hvfxhigh,hvflow. Shortcuts: best,better,good,worst,dvf,hvf,dash,hls,hd,sd,high,low. 50fps streams (if available) preferred unless \-\-fps25 specified (default=hvfhd,dvfhd,hvfsd,dvfsd,hvfxsd,dvfxsd,hvfhigh,dvfhigh,hvfxhigh,dvfxhigh,hvflow,dvflow). +\fB\-\-tv\-lower\-bitrate +Prefer 25fps (or lower\-bitrate 50fps) streams for TV programmes if available. +.TP +\fB\-\-tv\-quality <quality>,<quality>,... +TV recording quality preference (overrides \-\-quality): fhd,hd,sd,web,mobile,default (Aliases: 1080p,720p,540p,396p,288p). Comma\-delimited list in descending order of preference. Default: hd,sd,web,mobile .TP \fB\-\-url <url>,<url>,... Record the PIDs contained in the specified iPlayer episode URLs. Alias for \-\-pid. @@ -422,9 +428,6 @@ \fB\-\-limit\-matches <number> Limits the number of matching results for any search (and for every PVR search) .TP -\fB\-\-nopurge -Don't show warning about programmes recorded over 30 days ago -.TP \fB\-\-prefs\-add Add/Change specified saved user or preset options .TP @@ -563,17 +566,11 @@ \fB\-\-index\-maxconn <number> Maximum number of connections to use for concurrent programme indexing. Default: 5 Min: 1 Max: 10 .TP -\fB\-\-purge\-files -Delete downloaded programmes more than 30 days old -.TP \fB\-\-release\-check Forces check for new release if used on command line. Checks for new release weekly if saved in preferences. .TP \fB\-\-throttle <Mb/s> Bandwidth limit (in Mb/s) for media file download. Default: unlimited. Synonym: \-\-bw -.TP -\fB\-\-trim\-history <# days to retain> -Remove download history entries older than number of days specified in option value. Cannot specify 0 \- use 'all' to completely delete download history .SS "Deprecated Options:" .TP \fB\-\-no\-index\-concurrent @@ -583,7 +580,7 @@ .PP This manual page was originally written by Jonathan Wiltshire <jmw@debian.org> for the Debian project (but may be used by others). .SH COPYRIGHT NOTICE -get_iplayer v3.28, Copyright (C) 2008\-2010 Phil Lewis +get_iplayer v3.29, Copyright (C) 2008\-2010 Phil Lewis This program comes with ABSOLUTELY NO WARRANTY; for details use \-\-warranty. This is free software, and you are welcome to redistribute it under certain conditions; use \-\-conditions for details.
View file
get_iplayer-3.28.tar.gz/get_iplayer.cgi -> get_iplayer-3.29.tar.gz/get_iplayer.cgi
Changed
@@ -24,7 +24,7 @@ # License: GPLv3 (see LICENSE.txt) # -my $VERSION = 3.28; +my $VERSION = 3.29; my $VERSION_TEXT; $VERSION_TEXT = sprintf("v%.2f", $VERSION) unless $VERSION_TEXT; @@ -3130,8 +3130,8 @@ }; $opt->{MODES} = { - title => 'Recording Modes', # Title - tooltip => 'Comma separated list of recording modes which should be tried in order. Default is "best" for HD TV (if available, with fallback to SD TV). Set to "better" (without quotes) for best available SD TV. Set to "good" (without quotes) for lower-quality SD TV.', # Tooltip + title => 'Recording Quality', # Title + tooltip => 'Comma separated list of recording quality settings which should be tried in order', # Tooltip webvar => 'MODES', # webvar optkey => 'modes', # option type => 'text', # type @@ -3259,8 +3259,8 @@ }; $opt->{FPS25} = { - title => 'Use only 25fps streams', - tooltip => "Use only 25fps media streams. HD video not available.", + title => 'Prefer lower-bitrate TV streams', + tooltip => "Prefer lower-bitrate TV streams", webvar => 'FPS25', optkey => 'fps25', type => 'radioboolean',
Locations
Projects
Search
Status Monitor
Help
Open Build Service
OBS Manuals
API Documentation
OBS Portal
Reporting a Bug
Contact
Mailing List
Forums
Chat (IRC)
Twitter
Open Build Service (OBS)
is an
openSUSE project
.