コード例 #1
0
ファイル: template.py プロジェクト: yuzhangbit/fido
    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)
コード例 #2
0
    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)
コード例 #3
0
    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)