Exemple #1
0
GIT_BRANCH = "master"

# run bot
try:
    hookserver_message = None
    run_outer = True
    while run_outer:
        logging.info( "Entering outer runloop, starting bot thread..." )
        # init & start new bot thread
        reload( skypebot )
        bot_thread = skypebot.BotThread()
    	bot_thread.start()
        run_inner = True
        logging.info( "Entering inner runloop..." )
    	while( run_inner ):
            hookserver_message = hook_server.pop_message()
            if hookserver_message is not None:        
                # recieved a push notification from github
                if hookserver_message.code == HookServerMessage.RECIEVED_PUSH:
                    ref = hookserver_message.payload[ 'ref' ]
                    # github refs are in the form "refs/heads/<branchname>"
                    ref = "/".join( ref.split( "/" )[2:] )
                    logging.info( "Recieved push notification on branch %s..." % ref )
                    if GIT_BRANCH and (GIT_BRANCH==ref):
                        # construct quit messge for bot
                        commit_author = "A ghost"
                        commit_message = "mysterious games"
                        try:
                            commits = hookserver_message.payload[ 'commits' ]
                            commit_author = commits[0]['author']['name']
                            commit_message = commits[0]['message']
Exemple #2
0
hook_server.start()

# run bot
try:
    hookserver_message = None
    run_outer = True
    while run_outer:
        logging.info("Entering outer runloop, starting bot thread...")
        # init & start new bot thread
        reload(skypebot)
        bot_thread = skypebot.BotThread()
        bot_thread.start()
        run_inner = True
        logging.info("Entering inner runloop...")
        while (run_inner):
            hookserver_message = hook_server.pop_message()
            if hookserver_message is not None:
                # recieved a push notification from github
                if hookserver_message.code == HookServerMessage.RECIEVED_PUSH:
                    logging.info("Recieved push notification...")
                    # construct quit messge for bot
                    commits = hookserver_message.payload['commits']
                    commit_author = commits[0]['author']['name']
                    message_out = housekeeping.update_message_for_name(
                        commit_author)
                    bot_thread.stop(message_out)
                    bot_thread = None
                    # drop to outer loop; restart bot_thread
                    run_inner = False
                    # update from git repo
                    subprocess.call(["git", "pull"])