def do_create(self, path): shutil.copytree(self.mypath, path) Log.d(" Creating project '.fido' file ...") with open(os.path.join(path, '.fido'), 'w+t') as fd: fd.write( "# Do not remove this file, check out FIDO at https://github.com/evilsocket/fido\n" ) fd.write(self.get_name()) self.vars["#PROJECT_NAME#"] = os.path.basename(path) if self.get_name() == "rospkg": include_dir = os.path.join(path, 'include') project_dir = os.path.join(include_dir, self.vars["#PROJECT_NAME#"]) os.makedirs(project_dir) # add a place holder for the header file with open(os.path.join(project_dir, 'main.hpp'), 'w+t') as fh: fh.write("// header file. ") for root, dirnames, filenames in os.walk(path): for fname in filenames: filename = os.path.join(root, fname) self._update_template_data(filename)
def _update_template_data(self, filename): self.vars["#BASE_NAME#"] = os.path.basename(filename) self.vars["#FILE_SLUG#"] = re.sub( r'[^a-z0-9]+', '_', self.vars["#BASE_NAME#"] ).upper() with open(filename, 'rt') as fd: data = fd.read() for token, value in self.vars.iteritems(): if token in data: Log.d( " Updating variable '%s' in %s ..." % ( token, filename ) ) data = data.replace( token, value ) with open(filename, 'wt') as fd: fd.write(data)
def do_create(self, path): shutil.copytree( self.mypath, path ) Log.d( " Creating project '.fido' file ..." ) with open( os.path.join( path, '.fido' ), 'w+t' ) as fd: fd.write( "# Do not remove this file, check out FIDO at https://github.com/evilsocket/fido\n" ) fd.write( self.get_name() ) self.vars["#PROJECT_NAME#"] = os.path.basename(path) for root, dirnames, filenames in os.walk( path ): for fname in filenames: filename = os.path.join( root, fname ) self._update_template_data(filename)