#! /usr/bin/env python
# -*- coding: utf-8 -*-

from __future__ import with_statement

import sys

try:
    from omniORB import CORBA
    import omniORB
    omniORB.importIDL('./idl/forum.idl')
except:
    print "Failed to initialise CORBA"


from ForumAPI import Forum, ForumAdmin, Message, Reject

def get_proxy(orb, forum_ior, forum_admin_ior):
    return (orb.string_to_object(forum_ior)._narrow(Forum),
            orb.string_to_object(forum_admin_ior)._narrow(ForumAdmin))

def get_ior():

    #open('/path/to/IOR_FORUM')
    with(open('ObjectRef1')) as file:
        forum_ior = file.read()

    #open('/path/to/IOR_FORUM_ADMIN')
    with (open('ObjectRef2')) as file:
        forum_ior_admin = file.read()

    return forum_ior, forum_ior_admin
    

if __name__ == "__main__":

    orb = CORBA.ORB_init(sys.argv,CORBA.ORB_ID)

    forum_proxy, forum_admin_proxy = get_proxy(orb, *get_ior())


    try:
        forum_proxy.postMessage(Message("Test Python", "Moi", "Today", "Body"))

        print forum_proxy.getMessage("Test Python")

    except Reject, value:

        print value.message

    forum_admin_proxy._set_Moderateur('Nouveau moderateur')

    print forum_proxy._get_moderator()
        
        
