def sweep_path(path, file_exts, recursive, author, curtime): filelist = os.listdir(path) filelist.sort(key=lambda x:x[0:20]) for f in filelist: try: pf = os.path.join(path, f) fs = os.stat(pf) mod = fs.st_mode if stat.S_ISDIR(mod): # is dir if util.dir_exists(pf): if recursive: sweep_path(pf, file_exts, recursive, author, curtime) pass pass elif stat.S_ISREG(mod): # is file ignored = False if not util.file_exists(pf) or pf == APPFILE or f == "__init__.py": ignored = True if not ignored: _, ext = os.path.splitext(f) if ext in file_exts: update_file(pf, f, fs, author, curtime) pass except OSError as e: elog.warn("%r: %s" % (e, pf)) pass
def create_sb2web_project(appConfig, options): artifactDir = os.path.join(appConfig.projectsDir, options.artifact) elog.info("starting create project: %s", artifactDir) if util.dir_exists(artifactDir): util.warn("artifact already exists: %s" % artifactDir) if not options.force: util.warn("using '--force' to ovewrite it") sys.exit(0) pass try: shutil.rmtree(artifactDir) except: pass pairConfig = (util.DotDict(), util.DotDict()) # 载入模板工程的配置文件 templateDict = {} templateYaml = os.path.join(appConfig.sb2webRoot, "j2template.yaml") if util.file_exists(templateYaml): fd = open(templateYaml) templateDict = yaml.load(fd.read()) fd.close() renderConfig = util.DotDict( LICENSE_HEADER=read_file_content( os.path.join(APPHOME, 'license_header.txt')), j2envRoot=appConfig.sb2webRoot, j2env=Environment(loader=FileSystemLoader(appConfig.sb2webRoot)), templateDict=templateDict, springbootVer=options.springboot, groupId=options.group, artifactId=options.artifact, artifactName=options.name, artifactVer=options.ver, description=options.description, packageName=options.packagename, packaging=options.packaging, javaVersion=options.java, serverPort=options.port, contextPath=options.context_path) # 复制目录树, 同时处理模板文件 util.copydirtree(appConfig.sb2webRoot, artifactDir, pairConfig, True, copy_template, renderConfig) elog.info("success create project: %s", artifactDir) if options.run: elog.info("starting run: %s", artifactDir) start_run_project(artifactDir) pass
def sweep_dir(path, srcs, results): dname = os.path.basename(path) if dname not in ignore_dirs: filelist = os.listdir(path) filelist.sort(key=lambda x: x[0:20]) for f in filelist: pf = os.path.join(path, f) if util.dir_exists(pf): sweep_dir(pf, srcs, results) elif util.file_exists(pf): _, ext = os.path.splitext(f) passed_filters = False if f not in ignore_files and ext not in ignore_exts: passed_filters = True if len(only_exts) > 0: if ext not in only_exts: passed_filters = False if passed_filters: fd = None try: fd = open(pf, 'r') lines = fd.readlines() lineno = 0 for line in lines: lineno += 1 for src in srcs: if line.find(src) != -1: elog.info("found '%s': [%s:%d]", src, os.path.relpath(pf, APPPATH), lineno) elog.force_clean("%s", line) if pf not in results: results.append(pf) except: elog.error("%r: %s", sys.exc_info(), pf) finally: util.close_file_nothrow(fd) else: #elog.warn("ignore file: %s", pf) pass else: elog.warn("ignore path: %s", path) pass
def restore_position(self): is_dirty, start_tstamp, start_rowid = (False, 0, 0) if util.file_exists(self.position_file): line = util.read_first_line_nothrow(self.position_file) t = line.split(',') if len(t) == 2: (start_tstamp, start_rowid) = (int(t[0]), int(t[1])) pass if start_tstamp == 0: start_tstamp = datetimestr2timestamp(WebLogger.START_DTSTR, WebLogger.DATE_FORMAT) is_dirty = True if start_rowid == 0: start_rowid = WebLogger.START_ROWID is_dirty = True self.start_tstamp = start_tstamp self.start_rowid = start_rowid if is_dirty: self.save_position() pass
padding='same', kernel_initializer='he_normal')) model.add(Dropout(0.25)) model.add(Flatten()) model.add(Dense(128, activation='relu')) model.add(BatchNormalization()) model.add(Dropout(0.25)) model.add(Dense(10, activation='softmax')) model.compile(loss='categorical_crossentropy', optimizer=keras.optimizers.RMSprop(), metrics=['accuracy']) # Test if model weights already exists if utility.file_exists(model_fn): logging("Model").info( "Loading model weights from disk:\n\t> Filename: {}".format( model_fn)) try: model.load_weights(model_fn) except ValueError: os.remove(model_fn) keep_going = True continue break logging("Model").info("Model Summary: \n") model.summary() logging("Main").info("Done Loading!")
def main(parser): (options, args) = parser.parse_args(args=None, values=None) # 当前脚本绝对路径 abspath = util.script_abspath(inspect.currentframe()) # 产品文件夹全路径 artifactRoot = options.artifactRoot # 产品文件夹名称 artifactRootName = os.path.basename(artifactRoot) artifactId = options.artifactId if not artifactId: artifactId = artifactRootName artifactName = options.artifactName if not artifactName: artifactName = artifactId if not options.groupId: exit(-1) if artifactRootName != artifactId: print "WARN:", "产品ID与文件夹名称不一致, 可能导致歧义:" print "产品文件夹:", artifactRoot print "产品ID:", artifactId print "期望的产品ID:", artifactRootName pass # 解压模板文件 demoZipfile = os.path.join(abspath, "demo.zip") if not util.file_exists(demoZipfile): print "ERROR 模板文件不存在", demoZipfile exit(-1) demoRootDir = os.path.join(abspath, "build", "tmp", "demo") if util.dir_exists(demoRootDir): shutil.rmtree(demoRootDir) pass util.unzip_file(demoZipfile, demoRootDir) if not util.dir_exists(demoRootDir): print "ERROR 模板路径不存在", demoRootDir exit(-1) if not options.forceUpdate: create_artifact(artifactRoot=artifactRoot, artifactId=artifactId, artifactName=artifactName, groupId=options.groupId, artifactVersion=options.artifactVersion, springbootVersion=options.springbootVersion, javaVersion=options.javaVersion, description=options.description, author=options.author) else: print "当前不支持!" pass # 使用完毕删除模板 shutil.rmtree(demoRootDir) pass