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)
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 )
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 )
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)
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)
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)
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