def genHellos(outFilename, overWrite = False, python = False): if python: if not outFilename.endswith(".py"): outFilename = outFilename + ".py" if os.path.exists(outFilename) and not overWrite: raise Exception(CT.boldRed("File ") + CT.boldBlack(outFilename) + CT.boldRed(" already exists, use --overWrite to over write it")) genPyHello(outFilename) #rwx to user and group, r-x to everyone fd = os.open( outFilename, os.O_RDONLY ) os.fchmod( fd, 0775) os.close( fd ) print (CT.boldGreen("Now run")) print ("./" + outFilename + " ") print (CT.boldGreen("or")) print ("./" + outFilename + " --name Nick") else: if not outFilename.endswith(".cpp"): outFilename = outFilename + ".cpp" if os.path.exists(outFilename) and not overWrite: raise Exception("File " + outFilename + " already exists, use --overWrite to over write it") genCppHello(outFilename) print (CT.boldGreen("Now run")) print ("g++ -std=c++11 " + outFilename + " -o hello #-std=c++11 needed for cstdint include in libstdc++") print ("./hello") print (CT.boldGreen("or run")) #mac if Utils.isMac(): print ("clang++ " + outFilename + " -o hello") else: print ("clang++-3.6 -std=c++11 " + outFilename + " -o hello #-std=c++11 needed for cstdint include in libstdc++") print ("./hello")
def genHellos(outFilename, overWrite = False, python = False): if python: if not outFilename.endswith(".py"): outFilename = outFilename + ".py" if os.path.exists(outFilename) and not overWrite: raise Exception(CT.boldRed("File ") + CT.boldBlack(outFilename) + CT.boldRed(" already exists, use --overWrite to over write it")) genPyHello(outFilename) #rwx to user and group, r-x to everyone fd = os.open( outFilename, os.O_RDONLY ) os.fchmod( fd, 0o775) os.close( fd ) print((CT.boldGreen("Now run"))) print(("./" + outFilename + " ")) print((CT.boldGreen("or"))) print(("./" + outFilename + " --name Nick")) else: if not outFilename.endswith(".cpp"): outFilename = outFilename + ".cpp" if os.path.exists(outFilename) and not overWrite: raise Exception("File " + outFilename + " already exists, use --overWrite to over write it") genCppHello(outFilename) print((CT.boldGreen("Now run"))) print(("g++ -std=c++11 " + outFilename + " -o hello #-std=c++11 needed for cstdint include in libstdc++")) print ("./hello") print((CT.boldGreen("or run"))) #mac if Utils.isMac(): print(("clang++ " + outFilename + " -o hello")) else: print(("clang++-3.6 -std=c++11 " + outFilename + " -o hello #-std=c++11 needed for cstdint include in libstdc++")) print ("./hello")
def get_file_if_size_diff(url, d): '''only download the file if it's needed, not completely fail proof since it is just a size check but fairly likely not to be the same for a difference ''' fn = url.split('/')[-1] out_fnp = os.path.join(d, fn) net_file_size = int(urllib.urlopen(url).info()['Content-Length']) if os.path.exists(out_fnp): fn_size = os.path.getsize(out_fnp) if fn_size == net_file_size: print "skipping download of", CT.boldGreen(fn) return out_fnp else: print "files sizes differed:", "on disk:", fn_size, "from net:", net_file_size print "retrieving", CT.boldGreen(fn), "from", CT.boldBlue(url) urllib.urlretrieve(url, out_fnp) return out_fnp
def get_file_if_size_diff(url, d): """only download the file if it's needed, not completely fail proof since it is just a size check but fairly likely not to be the same for a difference """ fn = url.split("/")[-1] out_fnp = os.path.join(d, fn) net_file_size = int(urllib.urlopen(url).info()["Content-Length"]) if os.path.exists(out_fnp): fn_size = os.path.getsize(out_fnp) if fn_size == net_file_size: print "skipping download of", CT.boldGreen(fn) return out_fnp else: print "files sizes differed:", "on disk:", fn_size, "from net:", net_file_size print "retrieving", CT.boldGreen(fn), "from", CT.boldBlue(url) urllib.urlretrieve(url, out_fnp) return out_fnp
def copyMakefile(self, distDir, overWrite=False): distDir = os.path.join(self.projectDir, distDir) if not os.path.exists(distDir): print(CT.boldGreen(distDir) + CT.boldRed(" doesn't exist skipping")) return if os.path.exists(os.path.join(distDir, "Makefile")) and not overWrite: raise Exception("Error, file " + os.path.join(distDir, "Makefile") + " already exist, use --overWrite overwrite Makefile") shutil.copy(os.path.join(self.setupFrom, "scripts/cppMakefiles/Makefile"), os.path.join(distDir, "Makefile"))
def copySetUp(self, distDir, overWrite=False): if not os.path.exists(distDir): print(CT.boldGreen(distDir) + CT.boldRed(" doesn't exist skipping")) return if os.path.exists(os.path.join(distDir, "setup.py")) and not overWrite: raise Exception("Error, file " + os.path.join(distDir, "setup.py") + " already exist, use --overWrite overwrite setup.py") shutil.copy(os.path.join(self.setupFrom, "setup.py"), os.path.join(distDir, "setup.py")) self.copyDir(os.path.join(self.setupFrom ,"scripts"), os.path.join(distDir,"scripts"), overWrite)
def copySetUp(self, distDir, overWrite=False): if not os.path.exists(distDir): print( CT.boldGreen(distDir) + CT.boldRed(" doesn't exist skipping")) return if os.path.exists(os.path.join(distDir, "setup.py")) and not overWrite: raise Exception( "Error, file " + os.path.join(distDir, "setup.py") + " already exist, use --overWrite overwrite setup.py") shutil.copy(os.path.join(self.setupFrom, "setup.py"), os.path.join(distDir, "setup.py")) self.copyDir(os.path.join(self.setupFrom, "scripts"), os.path.join(distDir, "scripts"), overWrite)
def __setup(self, name, builder_f): if os.path.exists(self.__path(name).local_dir): print name, CT.boldGreen("found at ") + CT.boldBlack(self.__path(name).local_dir) else: print name, CT.boldRed("NOT"), "found; building..." try: builder_f() self.installed.append(name) except Exception as inst: print type(inst) print inst print "failed to install " + name self.failedInstall.append(name)
def copyMakefile(self, distDir, overWrite=False): distDir = os.path.join(self.projectDir, distDir) if not os.path.exists(distDir): print( CT.boldGreen(distDir) + CT.boldRed(" doesn't exist skipping")) return if os.path.exists(os.path.join(distDir, "Makefile")) and not overWrite: raise Exception( "Error, file " + os.path.join(distDir, "Makefile") + " already exist, use --overWrite overwrite Makefile") shutil.copy( os.path.join(self.setupFrom, "scripts/cppMakefiles/Makefile"), os.path.join(distDir, "Makefile"))
def untar(fnp, d): """ un pack compressed file, guessing format based on extention """ if fnp.endswith(".tar.gz"): tar = tarfile.open(fnp, "r:gz") elif fnp.endswith(".tgz"): tar = tarfile.open(fnp, "r:gz") elif fnp.endswith(".tar.bz2"): tar = tarfile.open(fnp, "r:bz2") elif fnp.endswith(".tar"): tar = tarfile.open(fnp, "r") else: raise Exception("invalid file? " + fnp) print "untarring", CT.boldGreen(fnp), "to", CT.boldBlue(d) tar.extractall(d) tar.close()
def untar(fnp, d): ''' un pack compressed file, guessing format based on extention ''' if fnp.endswith(".tar.gz"): tar = tarfile.open(fnp, "r:gz") elif fnp.endswith(".tgz"): tar = tarfile.open(fnp, "r:gz") elif fnp.endswith(".tar.bz2"): tar = tarfile.open(fnp, "r:bz2") elif fnp.endswith(".tar"): tar = tarfile.open(fnp, "r") else: raise Exception("invalid file? " + fnp) print "untarring", CT.boldGreen(fnp), "to", CT.boldBlue(d) tar.extractall(d) tar.close()
def parseForHeaders(args): headers = set() unknowns = [] for arg in args: if arg in objToHeader: headers.add(objToHeader[arg]) elif ("std::" + arg) in objToHeader: headers.add(objToHeader["std::" + arg]) else: unknowns.append(arg) print(CT.boldRed("Unknowns:")) for u in unknowns: print(CT.boldBlack("unknown which header file contains"), CT.boldRed(u)) if headers: print(CT.boldGreen("found headers:")) for h in sorted(headers): print(h)
def setup(self): if self.args.forceUpdate: for set in self.setUpsNeeded.keys(): if not set in self.setUps.keys(): print CT.boldBlack( "Unrecognized option ") + CT.boldRed(set) else: self.rmDirsForLib(set) for set in self.setUpsNeeded.keys(): if not set in self.setUps.keys(): print CT.boldBlack( "Unrecognized option ") + CT.boldRed(set) else: self.__setup(set, self.setUps[set]) for p in self.installed: print p, CT.boldGreen("installed") for p in self.failedInstall: print p, CT.boldRed("failed to install")
def mkdir(d): """mkdir if it doesn't already exist """ if not os.path.exists(d): print CT.boldText("mkdir"), CT.boldGreen(d) os.makedirs(d)
def mkdir(d): '''mkdir if it doesn't already exist ''' if not os.path.exists(d): print CT.boldText("mkdir"), CT.boldGreen(d) os.makedirs(d)
def run_in_dir(cmd, d): #print CT.boldBlack("here") cmd = "cd " + Utils.shellquote(d) + " && " + cmd + " && cd -" #print CT.boldBlack("newcmd") print CT.boldGreen(cmd) Utils.run(cmd)
def run_in_dir(cmd, d): # print CT.boldBlack("here") cmd = "cd " + Utils.shellquote(d) + " && " + cmd + " && cd -" # print CT.boldBlack("newcmd") print CT.boldGreen(cmd) Utils.run(cmd)
def mkdir(d): '''mkdir if it doesn't already exist ''' if not os.path.exists(d): print(CT.boldText("mkdir"), CT.boldGreen(d)) os.makedirs(d)