Skip to content

Instantly share code, notes, and snippets.

@rootart
Created March 13, 2017 16:07
Show Gist options
  • Select an option

  • Save rootart/b0cb4beb33c1e83eea90499abf148424 to your computer and use it in GitHub Desktop.

Select an option

Save rootart/b0cb4beb33c1e83eea90499abf148424 to your computer and use it in GitHub Desktop.
import os
import json
from termcolor import cprint
def bower_json_deps():
deps = {}
with open('bower.json', 'r') as bower_file:
data = json.load(bower_file)
for package, version in data['dependencies'].items():
deps[package] = [version, ]
return deps
def compare_version():
bower_deps = os.listdir('bower_components/')
deps = bower_json_deps()
for package_name in bower_deps:
with open('bower_components/{}/.bower.json'.format(package_name), 'r') as bower_file:
data = json.load(bower_file)
try:
deps[package_name].append(data.get('version'))
except KeyError:
with open('bower_components/{}/bower.json'.format(package_name), 'r') as bower_file:
data = json.load(bower_file)
try:
deps[package_name].append(data.get('version'))
except KeyError:
pass
for name, versions in deps.items():
bower_version, current = versions
if not current or not bower_version:
cprint('{} has version {} in bower.json, but installed {}'.format(name, bower_version, current), 'blue')
elif current not in bower_version:
cprint('{} has version {} in bower.json, but installed {}'.format(name, bower_version, current), 'red')
else:
cprint('{} has version {} in bower.json and installed {}'.format(name, bower_version, current), 'green')
if __name__ == '__main__':
compare_version()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment