def main(argv): """Import and analyze Microsoft Health data.""" parser = argparse.ArgumentParser() parser.add_argument("-v", "--version", help="print the program's version", action='version', version=format_version(sys.argv[0])) parser.add_argument("-t", "--trace", help="Turn on debug tracing", type=int, default=0) modes_group = parser.add_argument_group('Modes') modes_group.add_argument( "-i", "--input_file", help="Specifiy the CSV file to import into the database") modes_group.add_argument("--delete_db", help="Delete FiBit db file.", action="store_true", default=False) args = parser.parse_args() root_logger = logging.getLogger() if args.trace: root_logger.setLevel(logging.DEBUG) else: root_logger.setLevel(logging.INFO) db_params = GarminDBConfigManager.get_db_params() if args.delete_db: MSHealthDB.MSHealthDB.delete_db(db_params) sys.exit() mshealth_dir = GarminDBConfigManager.get_or_create_mshealth_dir() metric = GarminDBConfigManager.get_metric() msd = MSHealthData(args.input_file, mshealth_dir, db_params, metric, args.trace) if msd.file_count() > 0: msd.process_files() mshv = MSVaultData(args.input_file, mshealth_dir, db_params, metric, args.trace) if mshv.file_count() > 0: mshv.process_files() analyze = Analyze(db_params) analyze.get_years() analyze.summary()
def main(argv): """Generate graphs based on commandline options.""" def date_from_string(date_string): return dateutil.parser.parse(date_string).date() parser = argparse.ArgumentParser() parser.add_argument("-v", "--version", help="print the program's version", action='version', version=format_version(sys.argv[0])) parser.add_argument("-t", "--trace", help="Turn on debug tracing", type=int, default=0) parser.add_argument("-S", "--save", help="Save graphs to images files.", action="store_true", default=False) # stat types to operate on stats_group = parser.add_argument_group( 'Statistics', 'Graph statistics over a period of time') stats_group.add_argument("-A", "--all", help="Graph data for all enabled statistics.", action='store_const', dest='stats', const=gc_config.enabled_stats(), default=[]) stats_group.add_argument("-m", "--monitoring", help="Graph monitoring data.", dest='stats', action='append_const', const=Statistics.monitoring) stats_group.add_argument("-r", "--hr", help="Graph heart rate data.", dest='stats', action='append_const', const=Statistics.rhr) stats_group.add_argument("-s", "--steps", help="Graph steps data.", dest='stats', action='append_const', const=Statistics.sleep) stats_group.add_argument("-w", "--weight", help="Graph weight data.", dest='stats', action='append_const', const=Statistics.weight) stats_group.add_argument("-p", "--period", help="Graph the latest data.", dest='period', type=int, default=None) daily_group = parser.add_argument_group('Daily') daily_group.add_argument("-d", "--day", help="Graph composite data for a single day.", type=date_from_string) modifiers_group = parser.add_argument_group('Modifiers') modifiers_group.add_argument("-l", "--latest", help="Graph the latest data.", dest='days', type=int, default=None) args = parser.parse_args() if args.trace > 0: root_logger.setLevel(logging.DEBUG) else: root_logger.setLevel(logging.INFO) graph = Graph(args.trace, args.save) if Statistics.rhr in args.stats: graph.graph_activity('hr', args.period, args.days) if Statistics.itime in args.stats: graph.graph_activity('itime', args.period, args.days) if Statistics.steps in args.stats: graph.graph_activity('steps', args.period, args.days) if Statistics.weight in args.stats: graph.graph_activity('weight', args.period, args.days) if args.day: graph.graph_date(args.day)
for f in files: if os.path.splitext(f)[1] not in ['.py', '.pyc', '.pyo']: data.append(f) package_name = rel_dir.replace(os.sep, '.') package_dir = root packages.append(package_name) data_files[package_name] = data else: # use previous package name filepaths = [os.path.join(root, f) for f in files] data_files[package_name].extend([os.path.relpath(f, package_dir) for f in filepaths]) scripts = [os.path.join('scripts', s) for s in os.listdir('scripts')] devlib_version = format_version(required_devlib_version) params = dict( name='wlauto', description='A framework for automating workload execution and measurement collection on ARM devices.', version=get_wa_version_with_commit(), packages=packages, package_data=data_files, include_package_data=True, scripts=scripts, url='https://github.com/ARM-software/workload-automation', license='Apache v2', maintainer='ARM Architecture & Technology Device Lab', maintainer_email='*****@*****.**', setup_requires=[ 'numpy' ],
def main(argv): """Run a data checkup of the user's choice.""" parser = argparse.ArgumentParser() parser.add_argument("-v", "--version", help="print the program's version", action='version', version=format_version(sys.argv[0])) parser.add_argument("-t", "--trace", help="Turn on debug tracing", type=int, default=0) checks_group = parser.add_argument_group('Checks') checks_group.add_argument("-b", "--battery", help="Check for low battery levels.", action="store_true", default=False) checks_group.add_argument("-c", "--course", help="Show statistics from all workouts for a single course.", type=int, default=None) checks_group.add_argument("-g", "--goals", help="Run a checkup on the user\'s goals.", action="store_true", default=False) args = parser.parse_args() checkup = CheckUp(args.trace) if args.battery: checkup.battery_status() if args.course: checkup.activity_course(args.course) if args.goals: checkup.goals()
def test_git_describe(git_describe, version): fmt = '{tag}.dev{commitcount}+{gitsha}' assert format_version(git_describe, fmt) == version
def main(argv): """Manage Garmin device data.""" python_version_check(sys.argv[0]) parser = argparse.ArgumentParser() parser.add_argument("-v", "--version", help="print the program's version", action='version', version=format_version(sys.argv[0])) parser.add_argument("-t", "--trace", help="Turn on debug tracing", type=int, default=0) modes_group = parser.add_argument_group('Modes') modes_group.add_argument("-d", "--download", help="Download data from Garmin Connect for the chosen stats.", dest='download_data', action="store_true", default=False) modes_group.add_argument("-c", "--copy", help="copy data from a connected device", dest='copy_data', action="store_true", default=False) modes_group.add_argument("-i", "--import", help="Import data for the chosen stats", dest='import_data', action="store_true", default=False) modes_group.add_argument("--analyze", help="Analyze data in the db and create summary and derived tables.", dest='analyze_data', action="store_true", default=False) modes_group.add_argument("--delete_db", help="Delete Garmin DB db files for the selected activities.", action="store_true", default=False) modes_group.add_argument("-e", "--export-activity", help="Export an activity to a TCX file based on the activity\'s id", type=int) modes_group.add_argument("-b", "--basecamp-activity", help="Export an activity to Garmin BaseCamp", type=int) modes_group.add_argument("-g", "--google-earth-activity", help="Export an activity to Google Earth", type=int) # stat types to operate on stats_group = parser.add_argument_group('Statistics') stats_group.add_argument("-A", "--all", help="Download and/or import data for all enabled stats.", action='store_const', dest='stats', const=gc_config.enabled_stats(), default=[]) stats_group.add_argument("-a", "--activities", help="Download and/or import activities data.", dest='stats', action='append_const', const=Statistics.activities) stats_group.add_argument("-m", "--monitoring", help="Download and/or import monitoring data.", dest='stats', action='append_const', const=Statistics.monitoring) stats_group.add_argument("-r", "--rhr", help="Download and/or import resting heart rate data.", dest='stats', action='append_const', const=Statistics.rhr) stats_group.add_argument("-s", "--sleep", help="Download and/or import sleep data.", dest='stats', action='append_const', const=Statistics.sleep) stats_group.add_argument("-w", "--weight", help="Download and/or import weight data.", dest='stats', action='append_const', const=Statistics.weight) modifiers_group = parser.add_argument_group('Modifiers') modifiers_group.add_argument("-l", "--latest", help="Only download and/or import the latest data.", action="store_true", default=False) modifiers_group.add_argument("-o", "--overwrite", help="Overwite existing files when downloading. The default is to only download missing files.", action="store_true", default=False) args = parser.parse_args() log_version(sys.argv[0]) if args.trace > 0: root_logger.setLevel(logging.DEBUG) else: root_logger.setLevel(logging.INFO) root_logger.info("Enabled statistics: %r", args.stats) if args.delete_db: delete_dbs([stats_to_db_map[stat] for stat in args.stats] + summary_dbs) sys.exit() if args.copy_data: copy_data(args.overwrite, args.latest, args.stats) if args.download_data: download_data(args.overwrite, args.latest, args.stats) if args.import_data: import_data(args.trace, args.latest, args.stats) if args.analyze_data: analyze_data(args.trace) if args.export_activity: export_activity(args.trace, os.getcwd(), args.export_activity) if args.basecamp_activity: basecamp_activity(args.trace, args.basecamp_activity) if args.google_earth_activity: google_earth_activity(args.trace, args.google_earth_activity)