Пример #1
0
def _waitwait_crontab( ):
    parser = ArgumentParser( )
    parser.add_argument(
        '--level', dest='level', action='store', type=str, default = 'NONE',
        choices = sorted( logging_dict ),
        help = 'choose the debug level for downloading NPR Wait Wait episodes or their XML representation of episode info. Can be one of %s. Default is NONE.' % sorted( logging_dict ) )
    args = parser.parse_args( )
    logger.setLevel( logging_dict[ args.level ] )
    
    #
    ## get current date
    current_date = datetime.date.fromtimestamp( time.time() )
    current_year = current_date.year
    #
    ## if not on a saturday, go first saturday back
    if not is_saturday( current_date ):
        day_of_week = current_date.weekday( )
        if day_of_week >= 5: days_back = day_of_week - 5
        else: days_back = days_back = day_of_week + 2
        days_back = relativedelta( days = days_back )
        current_date = current_date - days_back
        if current_date.year != current_year: return
    
    #
    ## now download the episode into the correct directory
    get_waitwait(_default_inputdir, current_date)
Пример #2
0
def _waitwait_by_year( ):
    parser = ArgumentParser( )
    parser.add_argument('--year', dest='year', action='store', type=int, default = _default_year,
                        help = 'Year in which to write out all Wait Wait episodes. Default is %d.' %
                        _default_year )
    parser.add_argument('--inputdir', dest = 'inputdir', action='store', type = str,
                        default = _default_inputdir, help = 'Directory into which ' +
                        'to store the NPR Wait Wait episodes. Default is %s.' %
                        _default_inputdir)
    parser.add_argument('--level', dest='level', action='store', type=str, default = 'NONE',
                        choices = sorted( logging_dict ),
                        help = 'choose the debug level for downloading NPR Wait Wait episodes or their XML representation of episode info. Can be one of %s. Default is NONE.' % sorted( logging_dict ) )
    args = parser.parse_args( )
    logger.setLevel( logging_dict[ args.level ] )
    get_all_waitwaits_year( args.year, args.inputdir )
Пример #3
0
def _waitwait( ):
    parser = ArgumentParser( )
    parser.add_argument('--dirname', dest='dirname', type=str,
                        action = 'store', default = _default_inputdir,
                        help = 'Name of the directory to store the file. Default is %s.' %
                        _default_inputdir )
    parser.add_argument('--date', dest='date', type=str,
                        action = 'store', default =
                        get_datestring(_get_last_saturday( datetime.datetime.now())),
                        help = 'The date, in the form of "January 1, 2014." The default is last Saturday, %s.' %
                        get_datestring( _get_last_saturday( datetime.datetime.now() ) ) )
    parser.add_argument('--dump', dest='do_dump', action='store_true', default = False,
                        help = 'If chosen, download the NPR XML data sheet for this Wait Wait episode.')
    parser.add_argument('--level', dest='level', action='store', type=str, default = 'NONE',
                        choices = sorted( logging_dict ),
                        help = 'choose the debug level for downloading NPR Wait Wait episodes or their XML representation of episode info. Can be one of %s. Default is NONE.' % sorted( logging_dict ) )
    parser.add_argument('--justfix', dest='do_justfix', action='store_true', default = False,
                        help = "If chosen, just fix the title of an existing NPR Wait Wait episode's file.")
    args = parser.parse_args( )
    logger.setLevel( logging_dict[ args.level ] )
    fname = get_waitwait(
        args.dirname, get_time_from_datestring( args.date ),
        dump = args.do_dump, justFix = args.do_justfix )
Пример #4
0
def _freshair():
    parser = ArgumentParser()
    parser.add_argument(
        '--dirname',
        dest='dirname',
        type=str,
        action='store',
        default=_default_inputdir,
        help='Name of the directory to store the file. Default is %s.' %
        _default_inputdir)
    parser.add_argument(
        '-d',
        '--date',
        dest='date',
        type=str,
        action='store',
        default=npr_utils.get_datestring(datetime.datetime.now()),
        help=
        'The date, in the form of "January 1, 2014." The default is today\'s date, %s.'
        % npr_utils.get_datestring(datetime.datetime.now()))
    parser.add_argument(
        '--mp3exist',
        dest='mp3_exist',
        action='store_true',
        default=False,
        help=' '.join([
            'If chosen, then do not download the transitional mp3 files.',
            'Use the ones that already exist.'
        ]))
    parser.add_argument(
        '-D',
        '--debug',
        dest='debug',
        action='store_true',
        help='If chosen, dump out NPR Freshair webpage as XML.',
        default=False)
    parser.add_argument(
        '-L',
        '--level',
        dest='level',
        action='store',
        type=str,
        default='NONE',
        choices=sorted(logging_dict),
        help=
        'choose the debug level for downloading NPR Fresh Air episodes or their XML representation of episode info. Can be one of %s. Default is NONE.'
        % sorted(logging_dict))
    parser.add_argument(
        '-r',
        '--relax',
        dest='relax_date_check',
        action='store_true',
        default=False,
        help=
        'If chosen, then do NOT do a date check validation of NPR URL articles.'
    )
    args = parser.parse_args()
    dirname = os.path.expanduser(args.dirname)
    logger.setLevel(logging_dict[args.level])
    fname = freshair.get_freshair(dirname,
                                  npr_utils.get_time_from_datestring(
                                      args.date),
                                  debug=args.debug,
                                  mp3_exist=args.mp3_exist,
                                  relax_date_check=args.relax_date_check)
Пример #5
0
def _freshair_by_year():
    default_year = datetime.datetime.now().year
    parser = ArgumentParser()
    parser.add_argument(
        '--year',
        dest='year',
        action='store',
        type=int,
        default=default_year,
        help='Year in which to write out all Fresh Air episodes. Default is %d.'
        % default_year)
    parser.add_argument('--inputdir',
                        dest='inputdir',
                        action='store',
                        type=str,
                        default=_default_inputdir,
                        help=' '.join([
                            'Directory into which',
                            'to store the NPR Fresh Air episodes.',
                            'Default is %s.' % _default_inputdir
                        ]))
    parser.add_argument(
        '--quiet',
        dest='is_verbose',
        action='store_false',
        default=True,
        help=' '.join([
            'If chosen, do not print verbose output from the action of this',
            'script. By default this is false.'
        ]))
    parser.add_argument(
        '--coverage',
        dest='get_coverage',
        action='store_true',
        default=False,
        help=
        'If chosen, just give the list of missing Fresh Air episodes and nothing else.'
    )
    parser.add_argument('--audit',
                        dest='do_audit',
                        action='store_true',
                        default=False,
                        help='If chosen, do the audit picture here.')
    parser.add_argument(
        '--level',
        dest='level',
        action='store',
        type=str,
        default='NONE',
        choices=sorted(logging_dict),
        help=
        'choose the debug level for downloading NPR Fresh Air episodes or their XML representation of episode info. Can be one of %s. Default is NONE.'
        % sorted(logging_dict))
    args = parser.parse_args()
    logger.setLevel(logging_dict[args.level])
    if not args.do_audit:
        freshair.process_all_freshairs_by_year(args.year,
                                               args.inputdir,
                                               verbose=args.is_verbose,
                                               justCoverage=args.get_coverage)
    else:
        freshair_by_year.create_plot_year(args.year)
Пример #6
0
def _main():
    parser = ArgumentParser()
    parser.add_argument(
        '-e',
        '--episode',
        dest='episode',
        type=int,
        action='store',
        default=150,
        help='Episode number of This American Life to download. Default is 150.'
    )
    parser.add_argument(
        '-d',
        '--directory',
        dest='directory',
        type=str,
        action='store',
        default=_default_inputdir,
        help=
        'Directory into which to download This American Life episodes. Default is %s.'
        % _default_inputdir)
    parser.add_argument(
        '-E',
        '--extra',
        dest='extraStuff',
        type=str,
        action='store',
        help=
        'If defined, some extra stuff in the URL to get a This American Life episode.'
    )
    parser.add_argument(
        '--noverify',
        dest='do_verify',
        action='store_false',
        default=True,
        help='If chosen, then do not verify the SSL connection.')
    parser.add_argument(
        '--dump',
        dest='do_dump',
        action='store_true',
        default=False,
        help=
        'If chosen, just download the TAL episode XML into a file into the specified directory.'
    )
    parser.add_argument(
        '--level',
        dest='level',
        action='store',
        type=str,
        default='NONE',
        choices=sorted(logging_dict),
        help=
        'choose the debug level for downloading NPR Fresh Air episodes or their XML representation of episode info. Can be one of %s. Default is NONE.'
        % sorted(logging_dict))
    args = parser.parse_args()
    logger.setLevel(logging_dict[args.level])
    direct = os.path.expanduser(args.directory)
    get_american_life(args.episode,
                      directory=direct,
                      extraStuff=args.extraStuff,
                      verify=args.do_verify,
                      dump=args.do_dump)
Пример #7
0
def main():
    """
    This either gets (and shows) or sets the following configuration settings.
    
    * the NPR API key.
    * The default download directory for `NPR Fresh Air`_ episodes.
    * The default download directory for `NPR Wait Wait`_ episodes.
    """
    parser = ArgumentParser()
    parser.add_argument('--level',
                        dest='level',
                        action='store',
                        type=str,
                        default='NONE',
                        choices=sorted(logging_dict),
                        help='choose the debug level for. Default is NONE.' %
                        sorted(logging_dict))
    subparsers = parser.add_subparsers(help=' '.join([
        'Choose one of these options:',
        '(show) shows the NPR core functionality settings.',
        '(set) sets the default download directory for NPR Fresh Air and NPR Wait Wait episodes.'
    ]),
                                       dest='choose_option')
    #
    ## just show the configuration options
    parser_showconfig = subparsers.add_parser(
        'show', help='Just show the NPR core functionality settings.')
    #
    ## set the default NPR Fresh Air and NPR Wait Wait download directories
    parser_defaultconfig = subparsers.add_parser(
        'set',
        help=
        'Set the default download directories for NPR Fresh Air and NPR Wait Wait episodes.'
    )
    parser_defaultconfig.add_argument(
        '--freshair',
        dest='defaultconfig_freshair',
        metavar='FRESHAIR',
        type=str,
        action='store',
        help='Sets the default download directory for NPR Fresh Air episodes.')
    parser_defaultconfig.add_argument(
        '--waitwait',
        dest='defaultconfig_waitwait',
        metavar='WAITWAIT',
        type=str,
        action='store',
        help='Sets the default download directory for NPR Wait Wait episodes.')
    parser_defaultconfig.add_argument('--api',
                                      dest='defaultconfig_api',
                                      metavar='API',
                                      type=str,
                                      action='store',
                                      help='Sets the NPR API key.')
    #
    ##
    args = parser.parse_args()
    logger.setLevel(logging_dict[args.level])
    #
    ## just show the NPR configuration
    if args.choose_option == 'show':
        _show_npr_config()
        return
    elif args.choose_option == 'set':
        if args.defaultconfig_freshair is not None:
            npr_utils.store_freshair_downloaddir(args.defaultconfig_freshair)
        if args.defaultconfig_waitwait is not None:
            npr_utils.store_waitwait_downloaddir(args.defaultconfig_waitwait)
        if args.defaultconfig_api is not None:
            npr_utils.store_api_key(args.defaultconfig_api)
        _show_npr_config()
        return