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. ...@@ -7,14 +7,16 @@ Python 2.7 is required.
## Usage ## Usage
```console ```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 Pipdeps shows/upgrades outdated packages with respect to existing
dependencies. dependencies.
optional arguments: optional arguments:
-h, --help show this help message and exit -h, --help show this help message and exit
-l, --list show upgradable packages and versions -l, --list show upgradeable packages and versions
-u, --upgrade upgrade upgradable packages -u, --upgrade upgrade upgradeable packages
-s SHOW [SHOW ...], --show SHOW [SHOW ...]
show detailed info about upgradeable packages
``` ```
...@@ -5,10 +5,11 @@ import argparse ...@@ -5,10 +5,11 @@ import argparse
import json import json
import distutils.version import distutils.version
import os import os
import urllib2 import pprint
import re import re
import subprocess import subprocess
import sys import sys
import urllib2
import tarfile import tarfile
import tempfile import tempfile
import zipfile import zipfile
...@@ -32,6 +33,9 @@ def arg_parse(): ...@@ -32,6 +33,9 @@ def arg_parse():
group.add_argument('-u', '--upgrade', group.add_argument('-u', '--upgrade',
action='store_true', action='store_true',
help="upgrade upgradeable packages") help="upgrade upgradeable packages")
group.add_argument('-s', '--show',
nargs='+',
help="show detailed info about upgradeable packages")
return parser.parse_args() return parser.parse_args()
def get_pyver(): def get_pyver():
...@@ -312,6 +316,23 @@ def select_pkgs(packages_data, rkey): ...@@ -312,6 +316,23 @@ def select_pkgs(packages_data, rkey):
result[pkg] = pkg_data result[pkg] = pkg_data
return result 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(): def main():
""" """
main function main function
...@@ -339,17 +360,10 @@ def main(): ...@@ -339,17 +360,10 @@ def main():
upgradeable_pkgs = select_pkgs(packages_data, 'upgradeable_version') upgradeable_pkgs = select_pkgs(packages_data, 'upgradeable_version')
if arguments.list: if arguments.list:
if upgradeable_pkgs: print_list(upgradeable_pkgs)
data = [] if arguments.show:
for pkg, pkg_data in sorted(upgradeable_pkgs.iteritems(), key=lambda x: x[0].lower()): for pkg in arguments.show:
data.append([pkg, pkg_data['installed_version'], pkg_data['upgradeable_version']]) pprint.pprint({pkg: packages_data[pkg]})
print tabulate.tabulate(
data,
['package', 'installed_version', 'upgradeable_version']
)
sys.exit(1)
else:
print "There is nothing to upgrade."
sys.exit(0) sys.exit(0)
if arguments.upgrade: if arguments.upgrade:
if 'pip' in upgradeable_pkgs.keys(): 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