def pushToNetwork(self, networkLoc=gv.toolsLocation, remote=True):

		_pNetworkLoc = Path(networkLoc)		
		result = True
		
		# copy to remote build location, straight-up delete and copy all
		if remote:
			
			# try whole loop 5 times?
			for unused in range(4):
				if _pNetworkLoc.exists():
					# nuke current folders
					print "Cleaning old: %s/." % _pNetworkLoc
					for _dir in _pNetworkLoc.dirs():
						# make writable
						for _file in _dir.walk():
							_file.makeWritable()
						
						# try /python twice
						if 'python' in _dir:
							try:
								_dir.rmtree()
								print "Removing dir: %s" % _dir
							except WindowsError:
								print "Failed once on '%s', trying again . . ." % _dir
							
						if _dir.exists():
							try:
								_dir.rmtree()
								print "Removing dir: %s" % _dir
							except WindowsError:
								print "Unable to delete dir: '%s'" % _dir
								raise
					# remote top dir too
					_pNetworkLoc.rmtree()
		
			# copy to network
			print "Copying '%s' dir to '%s'" % (self.pipelineSourceLocation, _pNetworkLoc)
			try:
				Path(self.pipelineSourceLocation).copytree(_pNetworkLoc)
			except WindowsError:
				print "Process locked trying to copy to: '%s'. Please just run again." % _pNetworkLoc
				raise
			except shutil.Error as e:
				print "Permission denied for file/folder: '%s'" % e[0]
			
			# success?
			if not _pNetworkLoc.exists():
				logger.error("Failed to copy to remote location build: '%s'" % _pNetworkLoc)
				
			# copy/move dataResources sub-folder
			for _dir in Path('%s/dataResources' % _pNetworkLoc).dirs():
				if _dir.namebase == 'installData':
					Path(_dir).move(_pNetworkLoc)

		
		# have to dance around data and installData dirs
		else:
			if _pNetworkLoc.exists():
				# nuke current folders
				print "Cleaning old: %s/." % _pNetworkLoc
				for _dir in _pNetworkLoc.dirs():
					if "data" not in _dir:	#keep 'data' & 'installData'!
						# make writable
						for _file in _dir.walk():
							_file.makeWritable()
						
						# try /python twice
						if 'python' in _dir:
							try:
								_dir.rmtree()
							except WindowsError:
								print "Failed once on '%s', trying again . . ." % _dir
							
						if _dir.exists():
							try:
								_dir.rmtree()
								print "Removing dir: %s" % _dir
							except WindowsError:
								print "Unable to delete dir: '%s'" % _dir
								raise
		
					# clean dataResources
					elif _dir == 'dataResources':
						# make writable
						for _file in _dir.walk():
							_file.makeWritable()
						print "Removing dir: %s" % _dir
						_dir.rmtree()
			
			# copy to network
			tempNetworkLoc = Path('%s/temp' % _pNetworkLoc)
			
			# copy
			print "Copying '%s' dir to '%s'" % (self.pipelineSourceLocation, tempNetworkLoc)
			try:
				Path(self.pipelineSourceLocation).copytree(tempNetworkLoc)
			except WindowsError:
				print "Process locked trying to copy to: '%s'. Please just run again." % tempNetworkLoc
			except shutil.Error as e:
				print "Permission denied for file/folder: '%s'" % e[0]
				
			# move first-layer sub-dirs from '/temp' up to parent
			for _dir in tempNetworkLoc.dirs():
				try:
					if "data" not in _dir:	#skip 'data' & 'installData'!
						Path(_dir).move(_pNetworkLoc)
				except WindowsError:
					print "failed on: " + _dir
				except shutil.Error:
					print "failed to copy from dir: '%s', already exists?" % _dir
					raise
		
			# nuke tempNetworkLoc
			if tempNetworkLoc.exists():
				print "Cleaning old: %s" % tempNetworkLoc
				# make writable
				for _file in tempNetworkLoc.walk():
					_file.makeWritable()
				print "Removing tree: %s" % tempNetworkLoc
				tempNetworkLoc.rmtree()			
		
		############# start cleaning ##############
		
		# clean un-needed root folders
		unNeededRoot = ['dataResources', 'docs', 'logs']
		for unNeeded in unNeededRoot:
			print "Cleaning un-needed: %s/%s" % (_pNetworkLoc, unNeeded)
			for _dir in Path(_pNetworkLoc).dirs():
				if _dir.namebase == unNeeded:
					# make writable
					for _file in _dir.walk():
						_file.makeWritable()
					print "Removing dir: %s" % _dir
					_dir.rmtree()

		# clean unitTests
		print "Cleaning un-needed: %s/python/unitTests" % _pNetworkLoc
		for _dir in Path('%s/python' % _pNetworkLoc).dirs():
			if _dir.namebase == 'unitTests':
				# make writable
				for _file in _dir.walk():
					_file.makeWritable()
				print "Removing dir: %s" % _dir
				_dir.rmtree()

		# clean non-maya/pymel dirs from pymels
		print "Cleaning un-needed: %s/python/maya/pymel" % _pNetworkLoc
		pyMelDirs = ['pymel-1.0.2', 'pymel-1.0.3']
		for pyMelDir in pyMelDirs:
			if not Path('%s/python/maya/%s' % (_pNetworkLoc, pyMelDir)).exists():
				logger.error("No pymel dir found, probably failed copy earlier.")
				if not _dir.namebase == 'maya' and not _dir.namebase == 'pymel':
					# make writable
					for _file in _dir.walk():
						_file.makeWritable()
					print "Removing dir: %s" % _dir
					_dir.rmtree()
				for _file in Path('%s/python/maya/%s' % (_pNetworkLoc, pyMelDir)).files():
					_file.makeWritable()
					print "Removing file: %s" % _file
					_file.remove()
		
		# clean apps
		print "Cleaning un-needed: %s/python/apps" % _pNetworkLoc
		for _dir in Path('%s/python/apps' % _pNetworkLoc).dirs():
			if not _dir.namebase == 'APE':
				# make writable
				for _file in _dir.walk():
					_file.makeWritable()
				print "Removing dir: %s" % _dir
				_dir.rmtree()

		# clean misc
		print "Cleaning un-needed project files in : %s" % _pNetworkLoc
		unNeededRoot = ['.project', '.pydevproject', 'artMonkey.wpr', 'artMonkey.wpu']
		for unNeeded in unNeededRoot:
			for _file in _pNetworkLoc.files():
				if _file.basename() == unNeeded:
					# make writable
					_file.makeWritable()
					print "Removing file: %s" % _file
					_file.remove()
		
		print "**********************************"
		print "Push To Network complete."
		print "**********************************"
		logger.info("**********************************")
		logger.info("Push To Network complete.")
		logger.info("**********************************")

		return result
:param addr: An IPv6 address in string form.
dataset/ETHPy150Open CountZer0/PipelineConstructionSet/python/common/build/buildPipeline.py/PipelineBuild.pushToNetwork--crossover with--dataset/ETHPy150Open drkjam/netaddr/netaddr/strategy/ipv6.py/str_to_int