#!/usr/bin/env python
"""lightcast-smart-dataset

Usage:
    lightcast-smart-dataset uk occupation-insight soc
    --username=<username>
    --password=<password>
    --occupation=<occupation> --area=<area>
    [--area-level=<level>]
    [--occupation-level=<level>]

    lightcast-smart-dataset uk occupation-insight occupation
    --username=<username>
    --password=<password>
    --occupation=<occupation> --area=<area>
    [--area-level=<level>]
    [--occupation-level=<level>]

    lightcast-smart-dataset global occupation-insight
    --username=<username>
    --password=<password>
    --occupation=<occupation> --area=<area>
    [--area-level=<level>]
    [--occupation-level=<level>]

    lightcast-smart-dataset -h | --help


Options:
    -h --help                     Show this screen
    uk                            Use the UK Lightcast dataset
    global                        Use the Global Lightcast dataset
    occupation-insight            Use the Occupation Insight API
    soc|occupation                Use the SOC or the Lightcast Occupation library
    --username                    Your username
    --password                    Your password
    --occupation=<occupation>     The label of the desidered occupation
    --area=<area>                 The label of the desidered area
    --area-level=<level>          Level 1,2,3,4 (for UK) or 1,2 (for Global)
    --occupation-level<level>     Level 1,2,3,4 (for Lightcast) or 1,2,3,4 (for SOC)
"""
from client.client import LightcastSmartDataset
from docopt import docopt
import sys


if __name__ == '__main__':
    args = docopt(__doc__)
    username = args.get('--username')
    password = args.get('--password')
    occupation = args.get('--occupation')
    area = args.get('--area')
    occupation_level = args.get('--occupation-level')
    area_level = args.get('--area-level')

    if args.get('uk'):
        client = LightcastSmartDataset(region=username, pasword=password)
        if args.get('soc') and args.get('occupation-insight'):
            response = client.ukDataset().getSocOccupationInsight(
                occupation=occupation,
                occupation_level=occupation_level,
                area=area,
                area_level=area_level
            )
            print(response.raw_response.decode("utf-8"))

    elif args.get('global'):
        client = LightcastSmartDataset(region=username, pasword=password)
        if args.get('occupation-insight'):
            response = client.globalDataset().getOccupationInsight(
                occupation=occupation,
                occupation_level=occupation_level,
                area=area,
                area_level=area_level
            )
            print(response.raw_response.decode("utf-8"))
    else:
        print('[ERROR] Invalid operation, please check usage again',
              file=sys.stderr)
