aboutsummaryrefslogtreecommitdiffstats
path: root/dlpcvp.py
diff options
context:
space:
mode:
Diffstat (limited to 'dlpcvp.py')
-rwxr-xr-xdlpcvp.py26
1 files changed, 21 insertions, 5 deletions
diff --git a/dlpcvp.py b/dlpcvp.py
index ee44474..7b74a20 100755
--- a/dlpcvp.py
+++ b/dlpcvp.py
@@ -65,6 +65,7 @@ def suse_packages(proj: str) -> Iterable[str]:
with open('exceptions.json') as exc_f:
exc_dict = json.load(exc_f)
+ exc_list = [] # type: List[str]
if proj in exc_dict:
exc_list = exc_dict[proj]
@@ -74,6 +75,10 @@ def suse_packages(proj: str) -> Iterable[str]:
root = raw_xml_data.getroot()
for elem in root.iter('entry'):
pkg_name = elem.get('name')
+ # We don't want -doc subpackages
+ if pkg_name.endswith('-doc'):
+ continue
+ # Nor we want packages which we specifically excluded
if pkg_name in exc_list:
continue
yield pkg_name
@@ -226,6 +231,8 @@ def package_version(proj: str, pkg_name: str,
def main(prj):
db_name = osp.splitext(osp.basename(osp.realpath(__file__)))[0] + ".db"
+ to_be_upgraded = [] # type: List[Tuple[str, LooseVersion, LooseVersion]]
+ missing_on_PyPI = [] # type: List[str]
with sqlite3.connect(db_name) as conn:
if not conn.execute(TB_EXISTS).fetchone():
conn.execute(TB_CREATE)
@@ -248,23 +255,32 @@ def main(prj):
try:
if pypi_ver > suse_ver:
- print(
- f'We need to upgrade {pkg} ({suse_ver} -> {pypi_ver})')
+ to_be_upgraded.append((pkg, suse_ver, pypi_ver))
except TypeError:
log.warning(f'{pkg} pypi_ver = {pypi_ver}')
log.warning(f'{pkg} suse_ver = {suse_ver}')
continue
else:
- print(f'Is {pkg} on PyPI?')
+ missing_on_PyPI.append(pkg)
+
+ sys.stdout.flush()
+ if missing_on_PyPI:
+ print("\nThese packages don't seem to be available on PyPI:")
+ print("{}\n".format('\n'.join(missing_on_PyPI)))
+
+ if to_be_upgraded:
+ print('These packages need to be upgraded:')
+ for pkg_upgr in to_be_upgraded:
+ print(f'{pkg_upgr[0]} ({pkg_upgr[1]} -> {pkg_upgr[2]})')
if __name__ == '__main__':
parser = argparse.ArgumentParser(description='Check available versions '
'of the upstream packages on PyPI')
- parser.add_argument('--opensuse-project',
+ parser.add_argument('project', nargs='?',
default='devel:languages:python:numeric',
help='The OpenBuildService project. Defaults '
'to %(default)s')
args = parser.parse_args()
- sys.exit(main(args.opensuse_project))
+ sys.exit(main(args.project))