Esempio n. 1
0
File: main.py Progetto: kudlav/dnf
def main(args):
    conf_fn = dnf.const.CONF_AUTOMATIC_FILENAME
    if len(args) == 1:
        conf_fn = args[0]
    elif len(args) > 1:
        return synopsis()

    try:
        conf = AutomaticConfig(conf_fn)
        with dnf.Base() as base:
            cli = dnf.cli.Cli(base)
            cli.read_conf_file(conf.commands.base_config_file,
                               overrides=conf.base_overrides)
            base_conf = base.conf
            base_conf.cachedir, _alt_dir = dnf.cli.cli.cachedir_fit(base_conf)
            logger.debug('Started dnf-automatic.')
            base.read_all_repos()
            base.fill_sack()
            upgrade(base, conf.commands.upgrade_type)
            base.resolve()
            output = dnf.cli.output.Output(base, base.conf)
            trans = base.transaction
            if not trans:
                return 0

            lst = output.list_transaction(trans)
            emitters = build_emitters(conf)
            emitters.notify_available(lst)
            if not conf.commands.download_updates:
                emitters.commit()
                return 0
	
            sleep(random.randint(random_sleep(conf.command.random_sleep)))
		

            base.download_packages(trans.install_set)
            emitters.notify_downloaded()
            if not conf.commands.apply_updates:
                emitters.commit()
                return 0

            base.do_transaction()
            emitters.notify_applied()
            emitters.commit()
    except dnf.exceptions.Error as exc:
        logger.error(_('Error: %s'), ucd(exc))
        return 1
    return 0
Esempio n. 2
0
def main(args):
    (opts, parser) = parse_arguments(args)

    try:
        conf = AutomaticConfig(opts.conf_path)
        with dnf.Base() as base:
            cli = dnf.cli.Cli(base)
            cli.read_conf_file(conf.commands.base_config_file,
                               overrides=conf.base_overrides)
            base_conf = base.conf
            base_conf.cachedir, _alt_dir = dnf.cli.cli.cachedir_fit(base_conf)
            logger.debug('Started dnf-automatic.')

            if opts.timer:
                sleeper = random.randint(0, conf.commands.random_sleep)
                logger.debug('Sleep for %s seconds', sleeper)
                time.sleep(sleeper)

            base.read_all_repos()
            base.fill_sack()
            upgrade(base, conf.commands.upgrade_type)
            base.resolve()
            output = dnf.cli.output.Output(base, base.conf)
            trans = base.transaction
            if not trans:
                return 0

            lst = output.list_transaction(trans)
            emitters = build_emitters(conf)
            emitters.notify_available(lst)
            if not conf.commands.download_updates:
                emitters.commit()
                return 0

            base.download_packages(trans.install_set)
            emitters.notify_downloaded()
            if not conf.commands.apply_updates:
                emitters.commit()
                return 0

            base.do_transaction()
            emitters.notify_applied()
            emitters.commit()
    except dnf.exceptions.Error as exc:
        logger.error(_('Error: %s'), ucd(exc))
        return 1
    return 0
Esempio n. 3
0
File: main.py Progetto: whydoubt/dnf
def main(args):
    (opts, parser) = parse_arguments(args)

    try:
        conf = AutomaticConfig(opts.conf_path)
        with dnf.Base() as base:
            cli = dnf.cli.Cli(base)
            cli.read_conf_file(conf.commands.base_config_file,
                               overrides=conf.base_overrides)
            base_conf = base.conf
            base_conf.cachedir, _alt_dir = dnf.cli.cli.cachedir_fit(base_conf)
            logger.debug('Started dnf-automatic.')

            if opts.timer:
                sleeper = random.randint(0, conf.commands.random_sleep)
                logger.debug('Sleep for %s seconds', sleeper)
                time.sleep(sleeper)

            base.read_all_repos()
            base.fill_sack()
            upgrade(base, conf.commands.upgrade_type)
            base.resolve()
            output = dnf.cli.output.Output(base, base.conf)
            trans = base.transaction
            if not trans:
                return 0

            lst = output.list_transaction(trans)
            emitters = build_emitters(conf)
            emitters.notify_available(lst)
            if not conf.commands.download_updates:
                emitters.commit()
                return 0

            base.download_packages(trans.install_set)
            emitters.notify_downloaded()
            if not conf.commands.apply_updates:
                emitters.commit()
                return 0

            base.do_transaction()
            emitters.notify_applied()
            emitters.commit()
    except dnf.exceptions.Error as exc:
        logger.error(_('Error: %s'), ucd(exc))
        return 1
    return 0
Esempio n. 4
0
File: main.py Progetto: IMFTC/dnf
def main(args):
    conf_fn = dnf.const.CONF_AUTOMATIC_FILENAME
    if len(args) == 1:
        conf_fn = args[0]
    elif len(args) > 1:
        return synopsis()

    try:
        conf = AutomaticConfig(conf_fn)
        with dnf.Base() as base:
            cli = dnf.cli.Cli(base)
            cli.read_conf_file(conf.commands.base_config_file,
                               overrides=conf.base_overrides)
            base_conf = base.conf
            base_conf.cachedir, _alt_dir = dnf.cli.cli.cachedir_fit(base_conf)
            logger.debug('Started dnf-automatic.')
            base.read_all_repos()
            base.fill_sack()
            upgrade(base, conf.commands.upgrade_type)
            base.resolve()
            output = dnf.cli.output.Output(base, base.conf)
            trans = base.transaction
            if not trans:
                return 0

            lst = output.list_transaction(trans)
            emitters = build_emitters(conf)
            emitters.notify_available(lst)
            if not conf.commands.download_updates:
                emitters.commit()
                return 0

            base.download_packages(trans.install_set)
            emitters.notify_downloaded()
            if not conf.commands.apply_updates:
                emitters.commit()
                return 0

            base.do_transaction()
            emitters.notify_applied()
            emitters.commit()
    except dnf.exceptions.Error as exc:
        logger.error(_('Error: %s'), ucd(exc))
        return 1
    return 0