Пример #1
0
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()
Пример #2
0
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)
Пример #3
0
        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'
    ],
Пример #4
0
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()
Пример #5
0
def test_git_describe(git_describe, version):
    fmt = '{tag}.dev{commitcount}+{gitsha}'
    assert format_version(git_describe, fmt) == version
Пример #6
0
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)