Skip to content
Snippets Groups Projects
Commit 15da1286 authored by Marek Chrastina's avatar Marek Chrastina
Browse files

Add show option

parent f428108a
No related branches found
No related tags found
1 merge request!1Add py script
Pipeline #8109 passed
......@@ -7,14 +7,16 @@ Python 2.7 is required.
## Usage
```console
usage: pipdeps [-h] (-l | -u)
$ pipdeps.py --help
usage: pipdeps.py [-h] (-l | -u | -s SHOW [SHOW ...])
Pipdeps shows/upgrades outdated packages with respect to existing
dependencies.
optional arguments:
-h, --help show this help message and exit
-l, --list show upgradable packages and versions
-u, --upgrade upgrade upgradable packages
-l, --list show upgradeable packages and versions
-u, --upgrade upgrade upgradeable packages
-s SHOW [SHOW ...], --show SHOW [SHOW ...]
show detailed info about upgradeable packages
```
......@@ -5,10 +5,11 @@ import argparse
import json
import distutils.version
import os
import urllib2
import pprint
import re
import subprocess
import sys
import urllib2
import tarfile
import tempfile
import zipfile
......@@ -32,6 +33,9 @@ def arg_parse():
group.add_argument('-u', '--upgrade',
action='store_true',
help="upgrade upgradeable packages")
group.add_argument('-s', '--show',
nargs='+',
help="show detailed info about upgradeable packages")
return parser.parse_args()
def get_pyver():
......@@ -312,6 +316,23 @@ def select_pkgs(packages_data, rkey):
result[pkg] = pkg_data
return result
def print_list(upgradeable_pkgs):
"""
Provides list option
"""
if upgradeable_pkgs:
data = []
for pkg, pkg_data in sorted(upgradeable_pkgs.iteritems(), key=lambda x: x[0].lower()):
data.append([pkg, pkg_data['installed_version'], pkg_data['upgradeable_version']])
print tabulate.tabulate(
data,
['package', 'installed_version', 'upgradeable_version']
)
sys.exit(1)
else:
print "There is nothing to upgrade."
sys.exit(0)
def main():
"""
main function
......@@ -339,17 +360,10 @@ def main():
upgradeable_pkgs = select_pkgs(packages_data, 'upgradeable_version')
if arguments.list:
if upgradeable_pkgs:
data = []
for pkg, pkg_data in sorted(upgradeable_pkgs.iteritems(), key=lambda x: x[0].lower()):
data.append([pkg, pkg_data['installed_version'], pkg_data['upgradeable_version']])
print tabulate.tabulate(
data,
['package', 'installed_version', 'upgradeable_version']
)
sys.exit(1)
else:
print "There is nothing to upgrade."
print_list(upgradeable_pkgs)
if arguments.show:
for pkg in arguments.show:
pprint.pprint({pkg: packages_data[pkg]})
sys.exit(0)
if arguments.upgrade:
if 'pip' in upgradeable_pkgs.keys():
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment