예제 #1
0
 def stop_execution_gently(
         self,
         listeners=[],
         server_to_push=None):  # TODO : Refactor, only for ServerListener
     "Asks listeners to stop the task execution gently if the execution was aborted by user"
     listener = MultiListener(listeners)
     listener.listen_end_task_gently(self.name)
     if server_to_push:
         server_to_push.update_static_html_files()
예제 #2
0
	def do_checking_for_new_commits(self, listeners, verbose=False):
		"Checks if there is a new commit in the version control system"
		listener = MultiListener(listeners)

		if not self._has_new_commits(verbose) :
			listener.listen_found_new_commits( False, self.seconds_idle )
			return False

		for sandbox in self.sandboxes :
			for author, revision, msg in sandbox.guilty() :
				self.changes.append(
					(os.path.basename(sandbox.sandbox), revision, author))
				print os.path.basename(sandbox.sandbox), revision, author

		listener.listen_found_new_commits( True, self.seconds_idle )
		return True
예제 #3
0
    def do_checking_for_new_commits(self, listeners, verbose=False):
        "Checks if there is a new commit in the version control system"
        listener = MultiListener(listeners)

        if not self._has_new_commits(verbose):
            listener.listen_found_new_commits(False, self.seconds_idle)
            return False

        for sandbox in self.sandboxes:
            for author, revision, msg in sandbox.guilty():
                self.changes.append(
                    (os.path.basename(sandbox.sandbox), revision, author))
                print os.path.basename(sandbox.sandbox), revision, author

        listener.listen_found_new_commits(True, self.seconds_idle)
        return True
예제 #4
0
 def stop_execution_gently(self,
                           listeners=[]
                           ):  # TODO : Refactor, only for ServerListener
     "Asks listeners to stop the task execution gently if the execution was aborted by user"
     listener = MultiListener(listeners)
     listener.listen_end_task_gently(self.name)
예제 #5
0
    def do_subtasks(self, listeners=[NullResultListener()], verbose=False):
        "Executes all subtasks and sends results"
        listener = MultiListener(listeners)
        all_ok = True
        failed_subtasks = []
        listener.listen_task_info(self)
        listener.listen_begin_task(self.name, self.changes)
        if self.sandboxes:
            sub_task_name = "Update Sandbox"
            listener.listen_begin_subtask(sub_task_name)
            for sandbox in self.sandboxes:
                fake_command = "Change log for %s" % sandbox.location()
                listener.listen_begin_command(fake_command)
                output = ''.join([
                    ":: %s - %s\n%s\n\n" % (revision, author, message)
                    for revision, author, message in sandbox.guilty()
                ])
                listener.listen_end_command(fake_command, True, '', output, {})
            for sandbox in self.sandboxes:
                fake_command = "Updating %s, %s -> %s" % (
                    sandbox.location(),
                    sandbox.state(),
                    sandbox.remoteState(),
                )
                listener.listen_begin_command(fake_command)
                sandbox.update()
                listener.listen_end_command(fake_command, True, '', '', {})
            listener.listen_end_subtask(sub_task_name)

        for subtask in self.subtasks:
            subtask_ok = subtask.do_subtask(listener, verbose=verbose)
            all_ok = all_ok and subtask_ok
            if not subtask_ok and subtask.is_mandatory(
            ):  # if it is a failing mandatory task, force the end of repository
                break
            if not subtask_ok:
                failed_subtasks.append(subtask.name)  # TODO
        listener.listen_end_task(self.name, all_ok)

        return all_ok
예제 #6
0
	def stop_execution_gently(self, listeners = [], server_to_push = None): # TODO : Refactor, only for ServerListener
		"Asks listeners to stop the task execution gently if the execution was aborted by user"
		listener = MultiListener(listeners)
		listener.listen_end_task_gently(self.name)
		if server_to_push :
			server_to_push.update_static_html_files()
예제 #7
0
	def do_subtasks( self, listeners = [ NullResultListener() ], server_to_push = None, verbose=False):
		"Executes all subtasks and sends results"
		listener = MultiListener(listeners)
		all_ok = True
		failed_subtasks = []
		listener.listen_task_info(self)
		listener.listen_begin_task( self.name, self.changes )
		if self.sandboxes :
			sub_task_name = "Update Sandbox"
			listener.listen_begin_subtask(sub_task_name)
			for sandbox in self.sandboxes :
				fake_command = "Change log for %s"%sandbox.location()
				listener.listen_begin_command(fake_command)
				output = ''.join([
					":: %s - %s\n%s\n\n"%(revision, author, message)
					for revision, author, message in sandbox.guilty()])
				listener.listen_end_command(fake_command, True, '', output, {})
			for sandbox in self.sandboxes :
				fake_command = "Updating %s, %s -> %s"%(
					sandbox.location(),
					sandbox.state(),
					sandbox.remoteState(),
					)
				listener.listen_begin_command(fake_command)
				sandbox.update()
				listener.listen_end_command(fake_command, True, '', '', {})
			listener.listen_end_subtask(sub_task_name)

		for subtask in self.subtasks :
			subtask_ok = subtask.do_subtask(listener, server_to_push, verbose=verbose)
			all_ok = all_ok and subtask_ok
			if not subtask_ok and subtask.is_mandatory() : # if it is a failing mandatory task, force the end of repository
				break
			if not subtask_ok :
				failed_subtasks.append(subtask.name) # TODO
			if server_to_push :
				server_to_push.update_static_html_files()
		listener.listen_end_task( self.name, all_ok )
		if server_to_push :
			server_to_push.update_static_html_files()

		return all_ok
예제 #8
0
	def stop_execution_gently(self, listeners = []): # TODO : Refactor, only for ServerListener
		"Asks listeners to stop the task execution gently if the execution was aborted by user"
		listener = MultiListener(listeners)
		listener.listen_end_task_gently(self.name)