view json2iframe.py @ 1:f7d57e56f322 draft

planemo upload for repository https://github.com/TAMU-CPT/galaxy-webapollo commit 0f3c6e906c4d32843f451990b55bfa2954235a42
author eric-rasche
date Tue, 03 May 2016 13:46:14 -0400
parents 6002cc0df04e
children d4ae83dedb14
line wrap: on
line source

#!/usr/bin/env python
import json
import base64
import argparse

if __name__ == '__main__':
    parser = argparse.ArgumentParser(description='Sample script to add an attribute to a feature via web services')
    parser.add_argument('apollo', help='Complete Apollo URL')
    parser.add_argument('json', type=file, help='JSON Data')

    args = parser.parse_args()


    # https://cpt.tamu.edu/apollo/annotator/loadLink?loc=NC_005880:0..148317&organism=326&tracks=
    data = json.load(args.json)
    print data
    if len(data) > 1:
        raise Exception("More than one organism listed. Contact your local admin for help.")

    # This is base64 encoded to get past the toolshed's filters.
    HTML_TPL = """
    PGh0bWw+PGhlYWQ+PHRpdGxlPkVtYmVkZGVkIEFwb2xsbyBBY2Nlc3M8L3RpdGxlPjxzdHlsZSB0
    eXBlPSJ0ZXh0L2NzcyI+Ym9keSB7e21hcmdpbjogMDt9fSBpZnJhbWUge3tib3JkZXI6IDA7d2lk
    dGg6IDEwMCU7aGVpZ2h0OiAxMDAlfX08L3N0eWxlPjwvaGVhZD48Ym9keT48aWZyYW1lIHNyYz0i
    e2Jhc2VfdXJsfS9hbm5vdGF0b3IvbG9hZExpbms/bG9jPXtjaHJvbX0mb3JnYW5pc209e29yZ0lk
    fSZ0cmFja2xpc3Q9MSI+PC9pZnJhbWU+PC9ib2R5PjwvaHRtbD4K
    """
    HTML_TPL = base64.b64decode(HTML_TPL.replace('\n', ''))

    print HTML_TPL.format(base_url=args.apollo, chrom="", orgId=data[0]['id'])