def read_all_revisions(self, dist): """Read revision from egg directory.""" for egg_info_dir in [os.path.join(dist.location, 'EGG-INFO'), os.path.join(dist.location, '%s.egg-info' % dist.project_name)]: all_revs_fname = os.path.join(egg_info_dir, 'allrevisions.txt') if os.path.exists(all_revs_fname): revisions = read_allrevisions_file(all_revs_fname) for rev_data in revisions: if pkg_resources.safe_name(rev_data[0]) == dist.project_name: return tuple(rev_data) # name,version,url,rev return None
def read_all_revisions(self, dist): """Read revision from egg directory.""" from path import path dist_dir = path(dist.location) for egg_info_dir in [dist_dir / 'EGG-INFO', dist_dir / '{}.egg-info'.format(dist.project_name)]: all_revs_fname = egg_info_dir / 'allrevisions.txt' if all_revs_fname.exists(): revisions = read_allrevisions_file(all_revs_fname) for rev_data in revisions: if pkg_resources.safe_name(rev_data[0]) == dist.project_name: return tuple(rev_data) # name,version,url,rev return None
def test_egg_revisions(pypi_chishop, svn_repo, workspace, pytestconfig): #pypi_chishop.restore() package1_metadata = dict( version='1.2.3', ) package2_metadata = dict( version='4.5.6', install_requires='\n'.join(['acme.er_package1==1.2.3']), ) package3_metadata = dict( version='7.8.9', install_requires='\n'.join(['acme.er_package2==4.5.6']), ) with pkglib_testing.pypi.create_pkg(pypi_chishop, svn_repo, 'acme.er_package1', metadata=package1_metadata, dev=False) as pkg1: with pkglib_testing.pypi.create_pkg(pypi_chishop, svn_repo, 'acme.er_package2', metadata=package2_metadata, dev=False) as pkg2: with PkgTemplate(name='acme.package3', repo_base=svn_repo.uri, metadata=package3_metadata) as pkg3: pkg3.run('%s/bin/easy_install -i %s/simple acme.er_package2' \ % (pkg3.virtualenv, pypi_chishop.uri)) egg_info_dir = pkg3.virtualenv + \ '/lib/python2.6/site-packages/acme.er_package2-4.5.6-py2.6.egg/EGG-INFO' all_revisions_fname = os.path.join(egg_info_dir, 'allrevisions.txt') assert os.path.isfile(all_revisions_fname) name_to_revno = {} for rev_data in read_allrevisions_file(all_revisions_fname): # name => revision name_to_revno[rev_data[0]] = str(rev_data[3]) assert len(name_to_revno) == 2 assert name_to_revno['acme.er_package1'] == _svn_info_revision(pkg3, pkg1.workspace, 'acme.er_package1') assert name_to_revno['acme.er_package2'] == _svn_info_revision(pkg3, pkg2.workspace, 'acme.er_package2')