App-YTDL

 view release on metacpan or  search on metacpan

Changes  view on Meta::CPAN


0.216   2015-05-18
        - Code refactoring.

0.215   2015-05-15
        - Bugfix: filter negated regexp.
        - Removed old history format support.

0.214   2015-05-14
        - Removed option "Logging".
        - Bugfix visibility cursor.
        - Update documentation.

0.213   2015-05-13
        - New option "download archive".
        - New option "Skip archived videos".
        - Deprecated option "Logging".
        - Bugfix: handle undefined preferred qualities.
        - Code refactoring.
        - Update documentation.

bin/getvideo  view on Meta::CPAN


use Encode                qw( encode decode );
use File::Path            qw( make_path );
use File::Spec::Functions qw( catdir catfile curdir );
use Getopt::Long          qw( GetOptions );
use Pod::Usage            qw( pod2usage );

use Encode::Locale   qw( decode_argv );
use File::HomeDir    qw();
use File::Which      qw( which );
use Term::ANSIScreen qw( :cursor :screen );
use Term::Choose     qw( choose );
use Term::Form       qw();

use App::YTDL::Arguments  qw( from_arguments_to_choices );
use App::YTDL::Download   qw( download );
use App::YTDL::Helper     qw( uni_capture );
use App::YTDL::History    qw( add_uploaders_to_history read_history_files choose_videos_from_saved_uploaders edit_sticky_file );
use App::YTDL::Video_Info qw( print_video_infos );
use App::YTDL::Options    qw( read_config_file set_options get_defaults );

lib/App/YTDL/Download.pm  view on Meta::CPAN

package # hide from PAUSE
App::YTDL::Download;

use warnings;
use strict;
use 5.010000;

use Exporter qw( import );
our @EXPORT_OK = qw( download );

use Term::ANSIScreen qw( :cursor :screen );
use Term::Choose     qw( choose );

use App::YTDL::Helper qw( HIDE_CURSOR SHOW_CURSOR uni_system );

END { print SHOW_CURSOR }


sub _choose_fmts {
    my ( $data, $ex, $up, $id, $title ) = @_;
    my $fmt_to_info = $data->{$ex}{$up}{$id}{fmt_to_info};

lib/App/YTDL/Video_Info.pm  view on Meta::CPAN

App::YTDL::Video_Info;

use warnings;
use strict;
use 5.010000;

use Exporter qw( import );
our @EXPORT_OK = qw( print_video_infos );

use List::MoreUtils        qw( none );
use Term::ANSIScreen       qw( :cursor :screen );
use Term::Choose::LineFold qw( line_fold print_columns cut_to_printwidth );
use Term::Choose::Util     qw( get_term_size );

use App::YTDL::GetData     qw( get_download_info );
use App::YTDL::ExtractData qw( extract_data_single );


sub print_video_infos {
    my ( $set, $opt, $data, $chosen ) = @_;
    if ( ! %$data ) {



( run in 0.258 second using v1.01-cache-2.11-cpan-4d50c553e7e )