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