#!/usr/bin/env python3

from collections import OrderedDict
import glob
import json
import os
import os.path
import subprocess

import lib
argv = lib.cli_config()

if len(argv) > 1:
    extension = argv[1]
else:
    extension = None


def update(package_json):
    os.chdir(os.path.dirname(package_json))
    print(package_json.split('/')[-2])
    updating = []
    out = subprocess.check_output(['git', 'diff', '--name-only']).decode()
    if 'package.json' in out:
        print('WARNING: package.json has local changes')
        return
    with open(package_json, 'r') as f:
        j = json.load(f, object_pairs_hook=OrderedDict)
        for package, version in j['devDependencies'].items():
            if lib.get_npm_version(package) != version:
                i = (package, version, lib.get_npm_version(package))
#!/usr/bin/env python3

from collections import defaultdict
import os
import os.path
import subprocess
import tempfile

import lib
lib.cli_config()


def main():

    cidir = os.path.join(lib.SRC, 'integration-config')
    if not os.path.exists(cidir):
        # Standard layout
        cidir = os.path.join(lib.SRC, 'integration/config')

    if lib.ON_LABS:
        lib.git_pull(cidir)
    config = os.path.join(cidir, 'zuul/layout.yaml')

    ZUUL_OUTPUT = os.path.join(cidir, 'zuul/output')  # noqa
    PROJECTS = ('mediawiki/extensions/', 'mediawiki/skins/')

    f = tempfile.NamedTemporaryFile(delete=False)
    zuul_cmd = lib.ZUUL_SERVER.split()
    zuul_cmd.extend(['-t', '-l', config])

    subprocess.call(zuul_cmd, stderr=f)