Exemplo n.º 1
0
    def test_upgrade(self):
        d_package = SnapshotRequest(self.p)
        all_versions = d_package.list_all_available_source_versions()
        random_version = random.randint(0, len(all_versions) - 1)
        time_stamp = d_package.info_from_hash(all_versions[random_version], arch='amd64')['result'][0]['first_seen']
        COMPLETE_SNAPSHOT_URL = SNAPSHOT_URL.format(time_stamp=time_stamp)
        print "picked version: {v}".format(v=all_versions[random_version])

        os.system('echo normaluse|sudo -S python sources_handler.py {arg}'.format(arg=COMPLETE_SNAPSHOT_URL))
        update()
        pv = VersionParser(self.p)
        # print pv
        # print "CANDIDATES:",[pv.get_candidates()], all_versions[random_version]
        assert (all_versions[random_version] in pv.get_candidates())
Exemplo n.º 2
0
def main(args=None):
    args = create_parser(args)
    timeout = args.time_out
    if timeout == DEFAULT_TIMEOUT:
        package = SnapshotRequest(args.package_name)
    else:
        package = SnapshotRequest(args.package_name, timeout=float(args.time_out[0]))

    if args.package_version is None:
        if args.all_source_versions:
            loggerCLI.debug(args)
            # pprint.pprint(package.list_all_available_source_versions())
            result = package.list_all_available_source_versions()
            print(tabulate([[i] for i in result], tablefmt='grid', headers=["version"]))
            print('\nNumber of versions: ', len(result))
            # else:
            #     package = SnapshotRequest(args.package_name)
            #     result = package.list_all_sources_for_this_package_at_version(args.version[0])
            #     print(tabulate(result['result'], tablefmt='grid', headers='keys'))
        elif args.all_binary_versions:
            package = SnapshotRequest(args.package_name)
            result = package.find_binary_package_versions_and_corresponding_source_names_and_versions(package)
            print(tabulate(result['result'], tablefmt='grid', headers='keys'))  # , tablefmt='simple'))
            print('\nNumber of packages: %d' % len(result['result']))
        else:
            loggerCLI.debug(args)
            # package = SnapshotRequest(args.package_name, timeout=timeout)
            result = package.general_info()
            print(tabulate(result, tablefmt='grid', headers='keys'))  # , tablefmt='simple'))

    elif args.package_version is not None:
        if args.all_source_versions:
            result = package.list_all_sources_for_this_package_at_version(args.package_version)
            print(tabulate(result['result'], tablefmt='grid', headers='keys'))
        elif args.all_binpackages_for_package_version:
            result = package.list_all_binary_packages_for_this_package_at_version(args.package_version)
            print(tabulate(result, tablefmt='grid', headers='keys'))
        elif args.first_seen and args.architecture:
            loggerCLI.debug(args)
            package = SnapshotRequest(args.package_name)
            result = package.info_from_hash(args.package_version, check_port(args.architecture[0]))
            result['result'][0].setdefault('hash', result['hash'])
            print('\n')
            print(tabulate(result['result'], headers='keys'))
            print('\n')
            time_stamp = result['result'][0]['first_seen']
            url = SNAPSHOT_URL.format(time_stamp=time_stamp)
            result = {'URL': url}
            print(tabulate([result], headers="keys"))
            if not args.write_to_file:
                sys.exit()
            # print('URL: ' + SNAPSHOT_URL.format(time_stamp=time_stamp))
            else:
                print('\n')
                print("Append this URL to /etc/apt/sources.list.d/snapshot.list?")
                proceed = raw_input("do you want to continue [y/n/Y/N]:")
                ans = lambda x: x.strip().lower()
                if ans(proceed) == 'y':
                    print("Please enter your sudo password:")
                    check(time_stamp, package=args.package_name, version=args.package_version)
                elif ans == 'n':
                    print('\nBye!')
                    sys.exit()