#!python

import sys
import urlparse

from bibos_utils.bibos_config import BibOSConfig
from bibos_client.admin_client import BibOSAdmin


config = BibOSConfig()
data = config.get_data()

mac = data['mac']
hostname = data['hostname']
site = data['site']
distribution = data['distribution']
admin_url = data.get('admin_url', 'http://bibos.magenta-aps.dk/')
xml_rpc_url = data.get('xml_rpc_url', '/admin-xml/')
urlparse.urljoin(admin_url, xml_rpc_url)

admin = BibOSAdmin(urlparse.urljoin(admin_url, xml_rpc_url))

# Data collected, now register computer.

try:
    uid = admin.register_new_computer(mac, hostname, distribution, site, data)
    config.set_value('uid', uid)
    config.save()

except Exception as e:
    print >> sys.stderr, 'Error:', str(e)
    sys.exit(1)

# Computer created, now upload package data.

# TODO: Do NOT do this. Factor to new program.
"""
os.system('get_package_data /tmp/packages.csv')

with open('/tmp/packages.csv') as f:
    package_reader = csv.reader(f, delimiter=';')
    package_data = [p for p in package_reader]

try:
    admin.send_status_info(uid, package_data, None)
except Exception as e:
    print >> sys.stderr, 'Error:', str(e)
    sys.exit(1)
"""
