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 9
View file
get_iplayer.changes
Changed
@@ -1,4 +1,12 @@ ------------------------------------------------------------------- +Sun Nov 29 10:36:39 UTC 2020 - Luigi Baldoni <aloisio@gmx.com> + +- Update to version 3.26 (see + https://github.com/get-iplayer/get_iplayer/wiki/release320to329 + for the changelog) +- Spec cleanup + +------------------------------------------------------------------- Wed Apr 3 18:43:39 UTC 2019 - olaf@aepfle.de - Updated to version 3.20
View file
get_iplayer.spec
Changed
@@ -5,67 +5,62 @@ # package are under the same license as the package itself. # -%if ! %{defined _fillupdir} - %define _fillupdir /var/adm/fillup-templates -%endif - Name: get_iplayer -Version: 3.20 -Release: 1 -License: GPL-3.0 +Version: 3.26 +Release: 0 Summary: Downloads H.264 BBC IPlayer TV, Radio, and Podcast Programs -Url: http://www.infradead.org/get_iplayer/html/get_iplayer.html +License: GPL-3.0-only Group: Productivity/Networking/File-Sharing -Source0: get_iplayer-%{version}.tar.gz +URL: https://www.infradead.org/get_iplayer/html/get_iplayer.html +Source0: https://github.com/get-iplayer/get_iplayer/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz Source1: get_iplayer.options Source2: sysconfig.get_iplayer -Source3: get_iplayer_pvr -BuildRequires: update-desktop-files -Requires: AtomicParsley -Requires: ffmpeg -Requires: perl(CGI) -Requires: perl(CGI::Cookie) -Requires: perl(Cwd) -Requires: perl(Encode) -Requires: perl(Env) -Requires: perl(Fcntl) -Requires: perl(File::Basename) -Requires: perl(File::Copy) -Requires: perl(File::Path) -Requires: perl(File::Spec) -Requires: perl(File::stat) -Requires: perl(Getopt::Long) -Requires: perl(HTML::Entities) -Requires: perl(HTML::Parser) -Requires: perl(HTTP::Cookies) -Requires: perl(HTTP::Headers) -Requires: perl(IO::File) -Requires: perl(IO::Handle) -Requires: perl(IO::Seekable) -Requires: perl(IO::Select) -Requires: perl(IO::Socket) -Requires: perl(IPC::Open3) -Requires: perl(JSON::PP) -Requires: perl(LWP::ConnCache) -Requires: perl(LWP::Protocol::https) -Requires: perl(LWP::UserAgent) -Requires: perl(List::Util) -Requires: perl(Mojo::UserAgent) -Requires: perl(PerlIO::encoding) -Requires: perl(Socket) -Requires: perl(Storable) -Requires: perl(Symbol) -Requires: perl(Text::ParseWords) -Requires: perl(Text::Wrap) -Requires: perl(Time::Local) -Requires: perl(Time::Piece) -Requires: perl(URI) -Requires: perl(Unicode::Normalize) -Requires: perl(XML::LibXML) -Requires: perl(XML::LibXML::XPathContext) -BuildRoot: %{_tmppath}/%{name}-%{version}-build -BuildArch: noarch +Source3: get_iplayer_pvr +BuildRequires: update-desktop-files +Requires: AtomicParsley +Requires: ffmpeg +Requires: perl(CGI) +Requires: perl(CGI::Cookie) +Requires: perl(Cwd) +Requires: perl(Encode) +Requires: perl(Env) +Requires: perl(Fcntl) +Requires: perl(File::Basename) +Requires: perl(File::Copy) +Requires: perl(File::Path) +Requires: perl(File::Spec) +Requires: perl(File::stat) +Requires: perl(Getopt::Long) +Requires: perl(HTML::Entities) +Requires: perl(HTML::Parser) +Requires: perl(HTTP::Cookies) +Requires: perl(HTTP::Headers) +Requires: perl(IO::File) +Requires: perl(IO::Handle) +Requires: perl(IO::Seekable) +Requires: perl(IO::Select) +Requires: perl(IO::Socket) +Requires: perl(IPC::Open3) +Requires: perl(JSON::PP) +Requires: perl(LWP::ConnCache) +Requires: perl(LWP::Protocol::https) +Requires: perl(LWP::UserAgent) +Requires: perl(List::Util) +Requires: perl(Mojo::UserAgent) +Requires: perl(PerlIO::encoding) +Requires: perl(Socket) +Requires: perl(Storable) +Requires: perl(Symbol) +Requires: perl(Text::ParseWords) +Requires: perl(Text::Wrap) +Requires: perl(Time::Local) +Requires: perl(Time::Piece) +Requires: perl(URI) +Requires: perl(Unicode::Normalize) +Requires: perl(XML::LibXML) +Requires: perl(XML::LibXML::XPathContext) Requires(post): %fillup_prereq +BuildArch: noarch %description get_iplayer allows a user to download or stream any iPlayer program from the @@ -84,21 +79,23 @@ %prep %autosetup -p1 +# Fix shebang +sed -i "/^#.*perl/c#\!$(which perl)" get_iplayer get_iplayer.cgi %build -#No build required +# No build required %install install -Dm 0755 get_iplayer %{buildroot}%{_bindir}/get_iplayer mkdir -p %{buildroot}%{_mandir}/man1 install -Dm 0644 get_iplayer.1 %{buildroot}%{_mandir}/man1/ mkdir -p %{buildroot}%{_sysconfdir}/%{name} -install -Dm 0644 %{S:1} %{buildroot}%{_sysconfdir}/%{name}/options +install -Dm 0644 %{SOURCE1} %{buildroot}%{_sysconfdir}/%{name}/options # Install pvr files install -Dm 0755 get_iplayer.cgi %{buildroot}%{_datadir}/%{name}/get_iplayer.cgi mkdir -p %{buildroot}%{_fillupdir} -install -Dm 0644 %{S:2} %{buildroot}%{_fillupdir}/sysconfig.get_iplayer -install -Dm 0755 %{S:3} %{buildroot}%{_bindir}/get_iplayer_pvr +install -Dm 0644 %{SOURCE2} %{buildroot}%{_fillupdir}/sysconfig.get_iplayer +install -Dm 0755 %{SOURCE3} %{buildroot}%{_bindir}/get_iplayer_pvr # Add desktop file cat > get_iplayer_pvr.desktop <<EOF [Desktop Entry] @@ -118,15 +115,14 @@ %fillup_only %files -%defattr(-,root,root,-) -%doc LICENSE.txt README.md +%license LICENSE.txt +%doc README.md %{_bindir}/get_iplayer -%{_mandir}/man1/get_iplayer.1* +%{_mandir}/man1/get_iplayer.1%{?ext_man} %dir %{_sysconfdir}/%{name} %config (noreplace) %{_sysconfdir}/%{name}/options %files pvr -%defattr(-,root,root,-) %{_bindir}/get_iplayer_pvr %{_datadir}/%{name} %{_fillupdir}/sysconfig.%{name}
View file
get_iplayer-3.20.tar.gz/CONTRIBUTORS -> get_iplayer-3.26.tar.gz/CONTRIBUTORS
Changed
@@ -6,6 +6,7 @@ Caius Durling Chris Reed, BBR Crispin Flowerday +David Llewellyn-Jones David Woodhouse Edward Betts HenderHobbit @@ -36,6 +37,7 @@ dinkypumpkin fs ck fsck +hintswen linuxcentrenet notnac wiehe
View file
get_iplayer-3.20.tar.gz/README.md -> get_iplayer-3.26.tar.gz/README.md
Changed
@@ -1,40 +1,36 @@ -## get_iplayer: BBC iPlayer Indexing Tool and PVR +## get_iplayer: BBC iPlayer/BBC Sounds Indexing Tool and PVR ## Features -* Downloads TV and radio programmes from BBC iPlayer +* 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 catch-up programmes from previous 30 days (not BBC Three, Red Button or iPlayer Exclusive) +* Indexing of most available iPlayer/Sounds catch-up programmes from previous 30 days (not BBC Three, Red Button, iPlayer Exclusive, or Podcast-only) * Caching of programme index with automatic updating -* Regex search on programme name +* Regex search on programme name * Regex search on programme description and episode title * Filter search results by channel * Direct download via programme ID or URL * PVR capability (may be used with cron or Task Scheduler) * HTTP proxy support -* Perl 5.10.1+ required, plus LWP, LWP::Protocol::https, XML::LibXML and Mojolicious modules +* Perl 5.16+ required, plus LWP, LWP::Protocol::https, XML::LibXML, Mojolicious, and CGI modules * Requires ffmpeg for conversion to MP4 and AtomicParsley for metadata tagging -* Runs on Linux/BSD (Ubuntu, Fedora, OpenBSD and others), macOS (10.10+), Windows (7/8/10 - XP/Vista not supported) +* Runs on Linux/BSD (Ubuntu, Fedora, OpenBSD and others), macOS (10.10+), Windows (7/8/10) -**NOTE:** +**NOTE:** -- **get_iplayer can only search for programmes that were scheduled for broadcast on BBC linear services within the previous 30 days, even if some are available for more than 30 days on the iPlayer site. It may be possible to download other content directly via PID or URL, but such use is not supported.** -- **get_iplayer does not support downloading news/sport videos, other embedded media, archive sites, special collections, educational material, programme clips or any content other than whole episodes of programmes broadcast on BBC linear services within the previous 30 days, plus episodes of BBC Three programmes posted within the same period. It may be possible to download other content directly via PID or URL, but such use is not supported.** +- **get_iplayer can only search for programmes that were scheduled for broadcast on BBC linear services within the previous 30 days, even if some are available for more than 30 days on the iPlayer/Sounds sites. BBC Three programmes, red button programmes, iPlayer box sets, iPlayer exclusives, and BBC podcasts are not searchable. Old programmes that are still available after 30 days must be located on the iPlayer/Sounds sites and downloaded directly via PID or URL, but such use is not supported.**. +- **get_iplayer does not support downloading news/sport videos, other embedded media, archive sites, special collections, educational material, programme clips or any content other than whole episodes of programmes broadcast on BBC linear services within the previous 30 days, plus episodes of BBC Three programmes posted within the same period. It may be possible to download other content such as red button programmes or iPlayer box sets directly via PID or URL, but such use is not supported. get_iplayer DOES NOT support live recording from BBC channels.** ## Documentation <https://github.com/get-iplayer/get_iplayer/wiki> - -## Support - -<https://squarepenguin.co.uk/forums/> ## Installation <https://github.com/get-iplayer/get_iplayer/wiki/installation> -## Usage - +## Usage + get_iplayer --help get_iplayer --basic-help get_iplayer --long-help @@ -54,7 +50,7 @@ ... Format = `<index>: <name> - <episode>, <channel>, <pid>` - + * List all TV programmes with long descriptions: `get_iplayer --long ".*"` @@ -78,7 +74,7 @@ * List Radio 4 and Radio 4 Extra programmes with "Book at Bedtime" in the title: `get_iplayer --type=radio --channel="Radio 4" "Book at Bedtime"` - + * List only Radio 4 programmes with "Book at Bedtime" in the title: `get_iplayer --type=radio --channel="Radio 4$" "Book at Bedtime"` @@ -87,13 +83,13 @@ * Record TV programme number 208 (index from search results) in HD, with SD fallback if HD not available: - `get_iplayer --get 208` [default is to download best available] - - OR + `get_iplayer --get 208` [default is to download best available (max 1280x720)] + + OR `get_iplayer --get 208 --tvmode=best` -* Record TV programme number 208 with lower resolution (704x396): +* Record TV programme number 208 with lower resolution (max 704x396): `get_iplayer --get 208 --tvmode=good` @@ -101,39 +97,39 @@ `get_iplayer --get 208 --subtitles` -* Record multiple TV programmes (using index numbers from search results): +* Record multiple TV programmes (using index numbers from search results): `get_iplayer --get 208 209 210` * Record a TV programme using its iPlayer URL: - `get_iplayer http://www.bbc.co.uk/iplayer/episode/b01sc0wf/Doctors_Series_15_Perfect/` + `get_iplayer https://www.bbc.co.uk/iplayer/episode/b01sc0wf/Doctors_Series_15_Perfect/` * Record a TV programme using the PID (b01sc0wf) from its iPlayer URL: `get_iplayer --pid=b01sc0wf` - -* Record a radio programme using its iPlayer URL: - `get_iplayer http://www.bbc.co.uk/programmes/b07gcv34` -* Record a radio programme using the PID (b07gcv34) from its iPlayer URL in highest quality (320k), with fallback to lower quality if not available: +* 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] - - OR + + OR `get_iplayer --pid=b07gcv34 --radiomode=best` -* Record a radio programme using the PID (b07gcv34) from its iPlayer URL with lower bit rate (96k): +* Record a radio programme using the PID (b07gcv34) from its Sounds URL with lower bit rate (96k): `get_iplayer --pid=b07gcv34 --radiomode=good` -* Record multiple radio programmes (using PIDs from iPlayer URLs): +* Record multiple radio programmes (using PIDs from Sounds URLs): `get_iplayer --pid=b07gcv34,b07h60ld` [comma-separated list] - OR + OR `get_iplayer --pid=b07gcv34 --pid=b07h60ld` [multiple arguments] -NOTE: Sometimes you may not be able to download a listed programme immediately after broadcast (usually available within 24hrs of airing). Some BBC programmes may not be available from iPlayer. +NOTE: Sometimes you may not be able to download a listed programme immediately after broadcast (usually available within 24hrs of airing). Some BBC programmes may not be available from iPlayer/Sounds.
View file
get_iplayer-3.20.tar.gz/get_iplayer -> get_iplayer-3.26.tar.gz/get_iplayer
Changed
@@ -24,7 +24,7 @@ # # package main; -my $version = 3.20; +my $version = 3.26; my $version_text; $version_text = sprintf("v%.2f", $version) unless $version_text; # @@ -62,8 +62,12 @@ use Time::Local; use Unicode::Normalize; use URI; +use version 0.77; +use if $^O eq 'MSWin32', "Win32::Unicode::Process" => qw(); use constant DIVIDER => "-==-" x 20; use constant FB_EMPTY => sub { '' }; +use constant IS_MACOS => $^O eq 'darwin' ? 1 : 0; +use constant IS_WIN32 => $^O eq 'MSWin32' ? 1 : 0; $PerlIO::encoding::fallback = XMLCREF; # Save default SIG actions @@ -81,13 +85,12 @@ 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."], - excludesupplier => [ 1, "excludesupplier|exclude-supplier=s", 'Recording', '--exclude-supplier <supplier>,<supplier>,...', "Comma-separated list of media stream suppliers to skip. Possible values: akamai,limelight,bidi"], + 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. 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."], - includesupplier => [ 1, "includesupplier|include-supplier=s", 'Recording', '--include-supplier <supplier>,<supplier>,...', "Comma-separated list of media stream suppliers to use if not included by default. Possible values: akamai,limelight,bidi"], + 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. Synonym: --include-cdn."], hash => [ 1, "hash!", 'Recording', '--hash', "Show recording progress as hashes"], - hlslqaudio => [ 1, "hlslqaudio|hls-lq-audio!", 'Recording', '--hls-lq-audio', "Use default lower-quality audio for 'hvf' modes (TV only). Instead of 320k audio, output file will contain 128k or 96k audio, depending on the stream downloaded."], 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)."], @@ -95,11 +98,12 @@ 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"], partialproxy => [ 1, "partial-proxy!", 'Recording', '--partial-proxy', "Only uses web proxy where absolutely required (try this extra option if your proxy fails)."], - _url => [ 2, "", 'Recording', '--url <url>,<url>,...', "Record the PIDs contained in the specified iPlayer episode URLs."], + _url => [ 2, "", 'Recording', '--url <url>,<url>,...', "Record the PIDs contained in the specified iPlayer episode URLs. Alias for --pid."], pid => [ 2, "pid|url=s@", 'Recording', '--pid <pid>,<pid>,...', "Record arbitrary PIDs that do not necessarily appear in the index."], pidindex => [ 1, "pidrefresh|pid-refresh|pidindex|pid-index!", 'Recording', '--pid-index', "Update (if necessary) and use programme index cache with --pid. Cache is not searched for programme by default with --pid. Synonym: --pid-refresh."], pidrecursive => [ 1, "pidrecursive|pid-recursive!", 'Recording', '--pid-recursive', "Record all related episodes if value of --pid is a series or brand PID. Requires --pid."], pidrecursivelist => [ 1, "pidrecursivelist|pid-recursive-list!", 'Recording', '--pid-recursive-list', "If value of --pid is a series or brand PID, list available episodes but do not download. Implies --pid-recursive. Requires --pid."], + pidrecursivetype => [ 1, "pidrecursivetype|pid-recursive-type=s", 'Recording', '--pid-recursive-type <type>', "Download only programmes of <type> (radio or tv) with --pid-recursive. Requires --pid-recursive."], proxy => [ 0, "proxy|p=s", 'Recording', '--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."], start => [ 1, "start=s", 'Recording', '--start <secs|hh:mm:ss>', "Recording/streaming start offset (actual start may be several seconds earlier for HLS and DASH streams)"], stop => [ 1, "stop=s", 'Recording', '--stop <secs|hh:mm:ss>', "Recording/streaming stop offset (actual stop may be several seconds later for HLS and DASH streams)"], @@ -129,11 +133,15 @@ # Output command => [ 1, "c|command=s", 'Output', '--command, -c <command>', "User command to run after successful recording of programme. Use substitution parameters in command string (see docs for list)."], credits => [ 1, "credits!", 'Output', '--credits', "Download programme credits, if available."], - creditsonly => [ 1, "creditsonly|credits-only!", 'Output', '--credits-only', "Only download programme credits (if available), not programme."], + creditsonly => [ 1, "creditsonly|credits-only!", 'Output', '--credits-only', "Only download programme credits, if available."], + cuesheet => [ 1, "cuesheet|cue-sheet!", 'Output', '--cuesheet', "Create cue sheet (.cue file) for programme, if data available. Radio programmes only. Cue sheet will be very inaccurate and will required further editing. Cue sheet may require addition of UTF-8 BOM (byte-order mark) for some applications to identify encoding."], + cuesheetoffset => [ 1, "tracklistoffset|tracklist-offset|track-list-offset|cuesheetoffset|cuesheet-offset|cue-sheet-offset=n", 'Output', '--cuesheet-offset [-]<offset>', "Offset track times in cue sheet and track list by the specified number of seconds. Synonym: --tracklist-offset"], + cuesheetonly => [ 1, "cuesheetonly|cuesheet-only|cue-sheet-only!", 'Output', '--cuesheet-only', "Only create cue sheet (.cue file) for programme, if data available. Radio programmes only."], fileprefix => [ 1, "file-prefix|fileprefix=s", 'Output', '--file-prefix <format>', "The filename prefix template (excluding dir and extension). Use substitution parameters in template (see docs for list). Default: <name> - <episode> <pid> <version>"], limitprefixlength => [ 1, "limit-prefix-length|limitprefixlength=n", "Output", '--limitprefixlength <length>', "The maximum length for a file prefix. Defaults to 240 to allow space within standard 256 limit."], - metadata => [ 1, "metadata:s", 'Output', '--metadata', "Create metadata info file after recording."], + metadata => [ 1, "metadata:s", 'Output', '--metadata', "Create metadata info file after recording. Valid values: generic,json. XML generated for 'generic', JSON for 'json'. If no value specified, 'generic' is used."], metadataonly => [ 1, "metadataonly|metadata-only!", 'Output', '--metadata-only', "Create specified metadata info file without any recording or streaming."], + mpegts => [ 1, "mpegts|mpeg-ts!", 'Output', '--mpeg-ts', "Ensure raw audio and video files are re-muxed into MPEG-TS file regardless of stream format. Overrides --raw."], nometadata => [ 1, "nometadata|no-metadata!", 'Output', '--no-metadata', "Do not create metadata info file after recording (overrides --metadata)."], nosanitise => [ 1, "nosanitize|nosanitise|no-sanitize|no-sanitise!", 'Output', '--no-sanitise', "Do not sanitise output file and directory names. Implies --whitespace. Invalid characters for Windows (\"*:<>?|) and macOS (:) will be removed."], output => [ 2, "output|o=s", 'Output', '--output, -o <dir>', "Recording output directory"], @@ -141,8 +149,8 @@ subdir => [ 1, "subdirs|subdir|s!", 'Output', '--subdir, -s', "Save recorded files into subdirectory of output directory. Default: same name as programme (see --subdir-format)."], subdirformat => [ 1, "subdirformat|subdirsformat|subdirs-format|subdir-format=s", 'Output', '--subdir-format <format>', "The format to be used for subdirectory naming. Use substitution parameters in format string (see docs for list)."], suboffset => [ 1, "suboffset=n", 'Output', '--suboffset <offset>', "Offset the subtitle timestamps by the specified number of milliseconds. Requires --subtitles."], - subsembed => [ 1, "subtitlesembed|subsembed|subtitles-embed|subs-embed!", 'Output', '--subs-embed', "Embed soft subtitles in MP4 output file. Ignored with --audio-only and --ffmpeg-obsolete. Requires --subtitles."], - subsmono => [ 1, "subtitlesmono|subsmono|subtitles-mono|subs-mono!", 'Output', '--subs-mono', "Create monochrome titles, with leading hyphen used to denote change of speaker. Requires --subtitles."], + subsembed => [ 1, "subtitlesembed|subsembed|subtitles-embed|subs-embed!", 'Output', '--subs-embed', "Embed soft subtitles in MP4 output file. Ignored with --audio-only and --ffmpeg-obsolete. Requires --subtitles. Implies --subs-mono."], + subsmono => [ 1, "subtitlesmono|subsmono|subtitles-mono|subs-mono!", 'Output', '--subs-mono', "Create monochrome titles, with leading hyphen used to denote change of speaker. Requires --subtitles. Not required with --subs-embed."], subsonly => [ 1, "subtitlesonly|subsonly|subtitles-only|subs-only!", 'Output', '--subtitles-only', "Only download the subtitles, not the programme"], subsraw => [ 1, "subtitlesraw|subsraw|subtitles-raw|subs-raw!", 'Output', '--subs-raw', "Additionally save the raw subtitles file. Requires --subtitles."], subtitles => [ 2, "subtitles|subs!", 'Output', '--subtitles', "Download subtitles into srt/SubRip format if available and supported"], @@ -152,10 +160,10 @@ thumbext => [ 1, "thumbext|thumb-ext=s", 'Output', '--thumb-ext <ext>', "Thumbnail filename extension to use"], thumbonly => [ 1, "thumbonly|thumbnailonly|thumbnail-only|thumb-only!", 'Output', '--thumbnail-only', "Only download thumbnail image if available, not the programme"], thumbseries => [ 1, "thumbseries|thumbnailseries|thumb-series|thumbnail-series!", 'Output', '--thumbnail-series', "Force use of series/brand thumbnail (series preferred) instead of episode thumbnail"], - thumbsize => [ 1, "thumbsize|thumb-size|thumbsizemeta|thumbnailsize|thumbnail-size=n", 'Output', '--thumbnail-size <width>', "Thumbnail size to use for the current recording and metadata. Specify width: 192,256,384,448,512,640,704,832,960,1280,1920. Invalid values will be mapped to nearest available. Default: 192"], - thumbsquare => [ 1, "thumbsquare|thumbnailsquare|thumb-square|thumbnail-square!", 'Output', '--thumbnail-square', "Download square version of thumbnail image."], - tracklist => [ 1, "tracklist!", 'Output', '--tracklist', "Download track list of music played in programme, if available. Track times and durations may be missing or incorrect."], - tracklistonly => [ 1, "tracklistonly|tracklist-only!", 'Output', '--tracklist-only', "Only download track list of music played in programme (if available), not programme."], + thumbsize => [ 1, "thumbsize|thumb-size|thumbsizemeta|thumbnailsize|thumbnail-size=n", 'Output', '--thumbnail-size <width>', "Thumbnail size to use for the current recording and metadata. Specify width: 192,256,384,448,512,640,704,832,960,1280,1920. Invalid values will be mapped to nearest available. Default: 1920 (1280 with --thumbnail-square)"], + thumbsquare => [ 1, "thumbsquare|thumbnailsquare|thumb-square|thumbnail-square!", 'Output', '--thumbnail-square', "Download square version of thumbnail image. Limits --thumbnail-size to 1280."], + tracklist => [ 1, "tracklist!", 'Output', '--tracklist', "Create track list of music played in programme, if data available. Track times and durations may be missing or incorrect."], + tracklistonly => [ 1, "tracklistonly|tracklist-only!", 'Output', '--tracklist-only', "Only create track list of music played in programme, if data available."], whitespace => [ 1, "whitespace|ws|w!", 'Output', '--whitespace, -w', "Keep whitespace in file and directory names. Default behaviour is to replace whitespace with underscores."], # Config @@ -184,8 +192,8 @@ refreshlimit => [ 1, "refreshlimit|refresh-limit=n", 'Config', '--refresh-limit <days>', "Minimum number of days of programmes to cache. Makes cache updates slow. Default: 7 Min: 1 Max: 30"], refreshlimitradio => [ 1, "refreshlimitradio|refresh-limit-radio=n", 'Config', '--refresh-limit-radio <days>', "Number of days of radio programmes to cache. Makes cache updates slow. Default: 7 Min: 1 Max: 30"], refreshlimittv => [ 1, "refreshlimittv|refresh-limit-tv=n", 'Config', '--refresh-limit-tv <days>', "Number of days of TV programmes to cache. Makes cache updates slow. Default: 7 Min: 1 Max: 30"], - skipdeleted => [ 1, "skipdeleted!", 'Config', "--skipdeleted", "Skip the download of metadata/thumbs/subs if the media file no longer exists. Use with --history & --metadataonly/subsonly/thumbonly."], - webrequest => [ 1, "webrequest=s", 'Config', '--webrequest <urlencoded string>', 'Specify all options as a urlencoded string of "name=val&name=val&..."' ], + skipdeleted => [ 1, "skipdeleted|skip-deleted!", 'Config', "--skipdeleted", "Skip the download of metadata/thumbs/subs if the media file no longer exists. Use with --history & --metadataonly/subsonly/thumbonly."], + webrequest => [ 1, "webrequest|web-request=s", 'Config', '--webrequest <urlencoded string>', 'Specify all options as a urlencoded string of "name=val&name=val&..."' ], # Display conditions => [ 1, "conditions!", 'Display', '--conditions', 'Shows GPLv3 conditions'], @@ -227,6 +235,7 @@ 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"], @@ -329,7 +338,7 @@ if ( $ENV{GETIPLAYER_PROFILE} ) { $profile_dir = $opt_pre->{profiledir} || $ENV{GETIPLAYER_PROFILE}; # Otherwise look for windows style file locations -} elsif ( $ENV{USERPROFILE} && $^O eq "MSWin32" ) { +} elsif ( $ENV{USERPROFILE} && IS_WIN32 ) { $profile_dir = $opt_pre->{profiledir} || File::Spec->catfile($ENV{USERPROFILE}, '.get_iplayer'); # Options on unix-like systems } elsif ( $ENV{HOME} ) { @@ -345,7 +354,7 @@ if ( $ENV{GETIPLAYER_DEFAULTS} ) { $optfile_system = $ENV{GETIPLAYER_DEFAULTS}; # Otherwise look for windows style file locations -} elsif ( $ENV{ALLUSERSPROFILE} && $^O eq "MSWin32" ) { +} elsif ( $ENV{ALLUSERSPROFILE} && IS_WIN32 ) { $optfile_system = File::Spec->catfile($ENV{ALLUSERSPROFILE}, 'get_iplayer', 'options'); # System options on unix-like systems } else { @@ -358,12 +367,12 @@ # default output directory on desktop for Windows/macOS if ( ! $ENV{GETIPLAYER_OUTPUT} ) { my $desktop; - if ( $^O eq "MSWin32" ) { + if ( IS_WIN32 ) { eval 'use Win32 qw(CSIDL_DESKTOPDIRECTORY); $desktop = Win32::GetFolderPath(CSIDL_DESKTOPDIRECTORY);'; if ( $@ ) { undef $desktop } - } elsif ( $^O eq "darwin" ) { + } elsif ( IS_MACOS ) { $desktop = File::Spec->catfile($ENV{HOME}, "Desktop") } if ( $desktop && -d $desktop) { @@ -388,7 +397,9 @@ # ensure --metadata value if ( defined $opt_cmdline->{metadata} ) { - $opt_cmdline->{metadata} = "generic"; + if ( $opt_cmdline->{metadata} ne "json" ) { + $opt_cmdline->{metadata} = "generic"; + } } # Set the personal options according to the specified preset @@ -579,6 +590,7 @@ # Set some class-wide values $pvr->setvar('pvr_dir', File::Spec->catfile($profile_dir, "pvr")); +release_check(); my $retcode = 0; # Trim history if ( defined($opt->{trimhistory}) ) { @@ -672,19 +684,16 @@ unlink $lockfile; exit 5; }; - # PVR Lockfile detection (with 12 hrs stale lockfile check) - lockfile( 43200 ) if ! $opt->{test}; + lockfile() if ! $opt->{test}; $pvr->run_scheduler(); } elsif ( $opt->{pvr} ) { - # PVR Lockfile detection (with 12 hrs stale lockfile check) - lockfile( 43200 ) if ! $opt->{test}; + lockfile() if ! $opt->{test}; $retcode = $pvr->run( @search_args ); unlink $lockfile; } elsif ( $opt->{pvrsingle} ) { - # PVR Lockfile detection (with 12 hrs stale lockfile check) - lockfile( 43200 ) if ! $opt->{test}; + lockfile() if ! $opt->{test}; $retcode = $pvr->run( '^'.$opt->{pvrsingle}.'$' ); unlink $lockfile; @@ -712,6 +721,64 @@ } exit $retcode; +sub release_check { + my $force_check; + if ( $opt_cmdline->{releasecheck} ) { + $force_check = 1; + } else { + return 0 unless $opt->{releasecheck};
View file
get_iplayer-3.20.tar.gz/get_iplayer.1 -> get_iplayer-3.26.tar.gz/get_iplayer.1
Changed
@@ -1,4 +1,4 @@ -.TH GET_IPLAYER "1" "February 2019" "Phil Lewis" "get_iplayer Manual" +.TH GET_IPLAYER "1" "June 2020" "Phil Lewis" "get_iplayer Manual" .SH NAME get_iplayer \- Stream Recording tool and PVR for BBC iPlayer .SH SYNOPSIS @@ -174,7 +174,7 @@ 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. .TP \fB\-\-exclude\-supplier <supplier>,<supplier>,... -Comma\-separated list of media stream suppliers to skip. Possible values: akamai,limelight,bidi +Comma\-separated list of media stream suppliers (CDNs) to skip. Possible values: akamai,limelight,bidi. Synonym: \-\-exclude\-cdn. .TP \fB\-\-force Ignore programme history (unsets \-\-hide option also). @@ -188,11 +188,8 @@ \fB\-\-hash Show recording progress as hashes .TP -\fB\-\-hls\-lq\-audio -Use default lower\-quality audio for 'hvf' modes (TV only). Instead of 320k audio, output file will contain 128k or 96k audio, depending on the stream downloaded. -.TP \fB\-\-include\-supplier <supplier>,<supplier>,... -Comma\-separated list of media stream suppliers to use if not included by default. Possible values: akamai,limelight,bidi +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. Synonym: \-\-include\-cdn. .TP \fB\-\-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. @@ -233,6 +230,9 @@ \fB\-\-pid\-recursive\-list If value of \-\-pid is a series or brand PID, list available episodes but do not download. Implies \-\-pid\-recursive. Requires \-\-pid. .TP +\fB\-\-pid\-recursive\-type <type> +Download only programmes of <type> (radio or tv) with \-\-pid\-recursive. Requires \-\-pid\-recursive. +.TP \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 @@ -252,10 +252,10 @@ 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,hlshd,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). +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). .TP \fB\-\-url <url>,<url>,... -Record the PIDs contained in the specified iPlayer episode URLs. +Record the PIDs contained in the specified iPlayer episode URLs. Alias for \-\-pid. .TP \fB\-\-versions <versions> Version of programme to record. List is processed from left to right and first version found is downloaded. Example: '\-\-versions=audiodescribed,default' will prefer audiodescribed programmes if available. @@ -274,7 +274,16 @@ Download programme credits, if available. .TP \fB\-\-credits\-only -Only download programme credits (if available), not programme. +Only download programme credits, if available. +.TP +\fB\-\-cuesheet +Create cue sheet (.cue file) for programme, if data available. Radio programmes only. Cue sheet will be very inaccurate and will required further editing. Cue sheet may require addition of UTF\-8 BOM (byte\-order mark) for some applications to identify encoding. +.TP +\fB\-\-cuesheet\-offset [\-]<offset> +Offset track times in cue sheet and track list by the specified number of seconds. Synonym: \-\-tracklist\-offset +.TP +\fB\-\-cuesheet\-only +Only create cue sheet (.cue file) for programme, if data available. Radio programmes only. .TP \fB\-\-file\-prefix <format> The filename prefix template (excluding dir and extension). Use substitution parameters in template (see docs for list). Default: <name> \- <episode> <pid> <version> @@ -283,11 +292,14 @@ The maximum length for a file prefix. Defaults to 240 to allow space within standard 256 limit. .TP \fB\-\-metadata -Create metadata info file after recording. +Create metadata info file after recording. Valid values: generic,json. XML generated for 'generic', JSON for 'json'. If no value specified, 'generic' is used. .TP \fB\-\-metadata\-only Create specified metadata info file without any recording or streaming. .TP +\fB\-\-mpeg\-ts +Ensure raw audio and video files are re\-muxed into MPEG\-TS file regardless of stream format. Overrides \-\-raw. +.TP \fB\-\-no\-metadata Do not create metadata info file after recording (overrides \-\-metadata). .TP @@ -297,10 +309,10 @@ \fB\-\-output, \-o <dir> Recording output directory .TP -\fB\-\-outputradio <dir> +\fB\-\-output\-radio <dir> Output directory for radio recordings (overrides \-\-output) .TP -\fB\-\-outputtv <dir> +\fB\-\-output\-tv <dir> Output directory for tv recordings (overrides \-\-output) .TP \fB\-\-raw @@ -316,10 +328,10 @@ Offset the subtitle timestamps by the specified number of milliseconds. Requires \-\-subtitles. .TP \fB\-\-subs\-embed -Embed soft subtitles in MP4 output file. Ignored with \-\-audio\-only and \-\-ffmpeg\-obsolete. Requires \-\-subtitles. +Embed soft subtitles in MP4 output file. Ignored with \-\-audio\-only and \-\-ffmpeg\-obsolete. Requires \-\-subtitles. Implies \-\-subs\-mono. .TP \fB\-\-subs\-mono -Create monochrome titles, with leading hyphen used to denote change of speaker. Requires \-\-subtitles. +Create monochrome titles, with leading hyphen used to denote change of speaker. Requires \-\-subtitles. Not required with \-\-subs\-embed. .TP \fB\-\-subs\-raw Additionally save the raw subtitles file. Requires \-\-subtitles. @@ -349,16 +361,16 @@ Force use of series/brand thumbnail (series preferred) instead of episode thumbnail .TP \fB\-\-thumbnail\-size <width> -Thumbnail size to use for the current recording and metadata. Specify width: 192,256,384,448,512,640,704,832,960,1280,1920. Invalid values will be mapped to nearest available. Default: 192 +Thumbnail size to use for the current recording and metadata. Specify width: 192,256,384,448,512,640,704,832,960,1280,1920. Invalid values will be mapped to nearest available. Default: 1920 (1280 with \-\-thumbnail\-square) .TP \fB\-\-thumbnail\-square -Download square version of thumbnail image. +Download square version of thumbnail image. Limits \-\-thumbnail\-size to 1280. .TP \fB\-\-tracklist -Download track list of music played in programme, if available. Track times and durations may be missing or incorrect. +Create track list of music played in programme, if data available. Track times and durations may be missing or incorrect. .TP \fB\-\-tracklist\-only -Only download track list of music played in programme (if available), not programme. +Only create track list of music played in programme, if data available. .TP \fB\-\-whitespace, \-w Keep whitespace in file and directory names. Default behaviour is to replace whitespace with underscores. @@ -508,6 +520,9 @@ \fB\-\-tag\-credits Add programme credits (if available) to lyrics field. .TP +\fB\-\-tag\-encoding <name> +(Windows only) Single\-byte character encoding for non\-ASCII characters in metadata tags. Encoding name must be known to Perl Encode module. Unicode (UTF* or UCS*) character encodings are not supported. Default: cp1252 (Windows code page 1252) +.TP \fB\-\-tag\-format\-show Format template for programme name in tag metadata. Use substitution parameters in template (see docs for list). Default: <name> .TP @@ -517,20 +532,20 @@ \fB\-\-tag\-isodate Use ISO8601 dates (YYYY\-MM\-DD) in album/show names and track titles .TP +\fB\-\-tag\-no\-unicode +(Windows only) Do not attempt to perform Unicode tagging and use single\-byte character encoding instead (see \-\-tag\-encoding) +.TP \fB\-\-tag\-podcast -Tag downloaded radio and tv programmes as iTunes podcasts +Tag downloaded radio and tv programmes as iTunes podcasts (incompatible with Music/Podcasts/TV apps on macOS 10.15 and higher) .TP \fB\-\-tag\-podcast\-radio -Tag only downloaded radio programmes as iTunes podcasts +Tag only downloaded radio programmes as iTunes podcasts (incompatible with Music/Podcasts/TV apps on macOS 10.15 and higher) .TP \fB\-\-tag\-podcast\-tv -Tag only downloaded tv programmes as iTunes podcasts +Tag only downloaded tv programmes as iTunes podcasts (incompatible with Music/Podcasts/TV apps on macOS 10.15 and higher) .TP \fB\-\-tag\-tracklist Add track list of music played in programme (if available) to lyrics field. -.TP -\fB\-\-tag\-utf8 -Use UTF\-8 encoding for non\-ASCII characters in AtomicParsley parameter values (Linux/Unix/macOS only). Use only if auto\-detect fails. .SS "Misc Options:" .TP \fB\-\-encoding\-console\-in <name> @@ -551,6 +566,9 @@ \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 @@ -565,7 +583,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.20, Copyright (C) 2008\-2010 Phil Lewis +get_iplayer v3.26, 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.20.tar.gz/get_iplayer.cgi -> get_iplayer-3.26.tar.gz/get_iplayer.cgi
Changed
@@ -24,7 +24,7 @@ # License: GPLv3 (see LICENSE.txt) # -my $VERSION = 3.20; +my $VERSION = 3.26; my $VERSION_TEXT; $VERSION_TEXT = sprintf("v%.2f", $VERSION) unless $VERSION_TEXT; @@ -154,8 +154,8 @@ # Lookup table for nice field name headings my %fieldname = ( index => 'Index', - pid => 'Pid', - available => 'Availability', + pid => 'PID', + available => 'Available', expires => 'Expires', type => 'Type', name => 'Name', @@ -632,6 +632,7 @@ print $fh "<strong><p>The PVR will auto-run every $opt->{AUTOPVRRUN}->{current} hour(s) if you leave this page open</p></strong>" if $opt->{AUTOPVRRUN}->{current}; if ( IS_WIN32 ) { print $fh "<strong><p>Windows users: You may encounter errors if you perform other tasks in the Web PVR Manager while this page is reloading</p></strong>" if $opt->{AUTOPVRRUN}->{current}; + print $fh "<strong><p>Windows users: The Web PVR Manager may crash if you leave this window open for a long period of time</p></strong>" if $opt->{AUTOPVRRUN}->{current}; } print $se "INFO: Starting PVR Run\n"; my @cmd = ( @@ -2477,7 +2478,7 @@ -override => 1, "aria-labelledby" => "label_option_${webvar}_$val", ), - span({ -id=> "label_option_${webvar}_$val" }, $label->{$val}) + label( { -for => "option_${webvar}_$val"}, span({ -id=> "label_option_${webvar}_$val" }, $label->{$val} ) ) ] ) ) ) ); # Spread over more rows if there are many elements @@ -2535,6 +2536,7 @@ print $fh "<strong><p>The cache will auto-refresh every $opt->{AUTOWEBREFRESH}->{current} hour(s) if you leave this page open</p></strong>" if $opt->{AUTOWEBREFRESH}->{current}; if ( IS_WIN32 ) { print $fh "<strong><p>Windows users: You may encounter errors if you perform other tasks in the Web PVR Manager while this page is reloading</p></strong>" if $opt->{AUTOWEBREFRESH}->{current}; + print $fh "<strong><p>Windows users: The Web PVR Manager may crash if you leave this window open for a long period of time</p></strong>" if $opt->{AUTOWEBREFRESH}->{current}; } print $se "INFO: Refreshing\n"; my @cmd = ( @@ -4030,25 +4032,25 @@ img { border: 0; } - + input, select { - background: #ddd; - border: 0; + background: #ddd; + border: 0; } - + input { font-size: 1em; } - a { - color: #fff; - text-decoration: none; + a { + color: #fff; + text-decoration: none; } a[href], a[onclick], label[onclick], :link, :visited { cursor: pointer; } - + ul.nav, ul.options_tab, ul.action { @@ -4056,7 +4058,7 @@ margin: 8px 0; padding: 0; } - + ul.nav, ul.action { font-size: 1em; } @@ -4068,7 +4070,7 @@ ul.options_tab { border-bottom: 2px solid #888; } - + ul.nav > li, ul.options_tab > li, ul.action > li { @@ -4077,12 +4079,12 @@ vertical-align: bottom; margin: 0 4px; } - - ul.nav > li, + + ul.nav > li, ul.action > li { padding: 4px 16px; } - + ul.options_tab > li { padding: 2px 8px; } @@ -4092,19 +4094,19 @@ ul.action > li:hover { background: #666; } - + ul.nav > li.nav_tab_sel, ul.options_tab > li.options_tab_sel { background: #888; } - + table.options_outer > tbody > tr { font-size: 0.875em; } - table.options_outer td, + table.options_outer td, table.options_outer th, - table.info td, + table.info td, table.info th { vertical-align: top; text-align: left; @@ -4121,15 +4123,15 @@ margin-top: 8px; margin-bottom: 8px; font-size: 1em; - font-weight: bold; - border-spacing: 10px 0; + font-weight: bold; + border-spacing: 10px 0; padding: 0px; } - + label.pagetrail-current { color: #F54997; } - + table.search, table.info { border: 2px solid #333; @@ -4150,30 +4152,30 @@ table.search > tbody > tr > th, table.info > tbody > tr > th { - background: #000; - text-align: center; + background: #000; + text-align: center; } - - table.search > tbody > tr > td, + + table.search > tbody > tr > td, table.search > tbody > tr > th, - table.info > tbody > tr > td, + table.info > tbody > tr > td, table.info > tbody > tr > th { border: 1px solid #333; padding: 4px 8px; } - + table.searchhead { - width: 100%; + width: 100%; } label.sorted { color: #CFC; } - + label.sorted_reverse { color: #FCC; } - + b.footer { color: #777; font-size: 0.75em; @@ -4188,7 +4190,7 @@ background: none; margin: 0;
View file
get_iplayer.options
Changed
@@ -1,2 +1,2 @@ # Disable Updating -packagemanager = disable \ No newline at end of file +# packagemanager = disable
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
.