#!/usr/bin/python

import sys
import os
import pyxnat

tr_by_tarball = {}
for line in open('tr_by_tarball'):
    (tarball, tr) = line.split()
    tr_by_tarball[tarball] = int(tr)

tr_by_subject = {}
for line in open('subject_by_tarball'):
    (tarball, subject) = line.split()
    # strip '.tar'
    tarball = tarball[:-4]
    # check for (and strip) trailing '_part?'
    if tarball[-6:-1] == '_part':
        tarball = tarball[:-6]
    site = tarball.split('_')[0]
    subject = '%s_%s' % (site, subject)
    tr_by_subject[subject] = tr_by_tarball[tarball]

interface = pyxnat.Interface(os.environ['XNAT_URL'].rstrip('/'), 
                             os.environ['XNAT_USER'], 
                             os.environ['XNAT_PASSWORD'])

project = interface.select.project('fcon_1000')
assert project.exists()

for subject in project.subjects():
    print subject.label()
    tr = tr_by_subject[subject.label()]
    for experiment in subject.experiments():
        experiment.attrs.set('xnat:mrSessionData/RestingTR', str(tr))
        for scan in experiment.scans():
            if '_rest' in scan.label():
                scan.attrs.set('xnat:mrScanData/parameters/tr', str(tr))

sys.exit(0)

# eof
