def scan(self): if self.scanned: return updatemsg = "[updated]" if self.__modified else "[cached]" Console.info("Scanning project %s %s...", self.__name, Console.colorize(updatemsg, "grey")) Console.indent() # Support for pre-initialize projects... setup = self.__setup if setup and self.__modified: Console.info("Running setup...") Console.indent() for cmd in setup: Console.info("Executing %s...", cmd) result = None try: result = None result = Util.executeCommand( cmd, "Failed to execute setup command %s" % cmd, path=self.__path) except Exception as ex: if result: Console.error(result) raise UserError("Could not scan project %s: %s" % (self.__name, ex)) Console.outdent() # Processing custom content section. Only supports classes and assets. if self.__config.has("content"): self.kind = "manual" self.__addContent(self.__config.get("content")) # Application projects elif self.__hasDir("source"): self.kind = "application" if self.__hasDir("source/class"): self.__addDir("source/class", "classes") if self.__hasDir("source/asset"): self.__addDir("source/asset", "assets") if self.__hasDir("source/translation"): self.__addDir("source/translation", "translations") # Compat - please change to class/style/asset instead elif self.__hasDir("src"): self.kind = "resource" self.__addDir("src", "classes") # Resource projects else: self.kind = "resource" if self.__hasDir("class"): self.__addDir("class", "classes") if self.__hasDir("asset"): self.__addDir("asset", "assets") if self.__hasDir("translation"): self.__addDir("translation", "translations") # Generate summary summary = [] for section in ["classes", "assets", "translations"]: content = getattr(self, section, None) if content: summary.append("%s %s" % (len(content), section)) # Print out if summary: Console.info("Done %s: %s" % (Console.colorize("[%s]" % self.kind, "grey"), Console.colorize(", ".join(summary), "green"))) else: Console.error("Project is empty!") self.scanned = True Console.outdent()
def scan(self): if self.scanned: return updatemsg = "[updated]" if self.__modified else "[cached]" if self.version: Console.info("Scanning %s @ %s %s...", Console.colorize(self.getName(), "bold"), Console.colorize(self.version, "magenta"), Console.colorize(updatemsg, "grey")) else: Console.info("Scanning %s %s...", Console.colorize(self.getName(), "bold"), Console.colorize(updatemsg, "grey")) Console.indent() # Support for pre-initialize projects... setup = self.__setup if setup and self.__modified: Console.info("Running setup...") Console.indent() for cmd in setup: Console.info("Executing %s...", cmd) result = None try: result = None result = Util.executeCommand( cmd, "Failed to execute setup command %s" % cmd, path=self.__path) except Exception as ex: if result: Console.error(result) raise UserError("Could not scan project %s: %s" % (self.__name, ex)) Console.outdent() # Processing custom content section. Only supports classes and assets. if self.__config.has("content"): self.kind = "manual" self.__addContent(self.__config.get("content")) else: # Read scan path from config if not self.__config.has("scan"): if self.__hasDir("source"): self.kind = "application" scan = self.__resolveScanConfig(structures[self.kind]) elif self.__hasDir("src"): self.kind = "resource" scan = self.__resolveScanConfig(structures[self.kind]) else: self.kind = "flat" scan = self.__resolveScanConfig(structures[self.kind]) else: scan = self.__resolveScanConfig(self.__config.get("scan")) for config in scan: if isinstance(config["paths"], str): self.__addDir(config["paths"], config["regex"], config["type"], config["package"]) else: for path in config["paths"]: self.__addDir(path, config["regex"], config["type"], config["package"]) # Generate summary summary = [] for section in self.items.keys(): content = self.items[section] name, constructor = self.__resolveConstructor(section) if content: summary.append( Console.colorize("%s %s" % (len(content), name), "magenta")) # Print out if summary: Console.info("Content: %s" % (", ".join(summary))) self.scanned = True Console.outdent()
def scan(self): if self.scanned: return updatemsg = "[updated]" if self.__modified else "[cached]" Console.info("Scanning project %s %s...", self.__name, Console.colorize(updatemsg, "grey")) Console.indent() # Support for pre-initialize projects... setup = self.__setup if setup and self.__modified: Console.info("Running setup...") Console.indent() for cmd in setup: Console.info("Executing %s...", cmd) result = None try: result = None result = Util.executeCommand(cmd, "Failed to execute setup command %s" % cmd, path=self.__path) except Exception as ex: if result: Console.error(result) raise UserError("Could not scan project %s: %s" % (self.__name, ex)) Console.outdent() # Processing custom content section. Only supports classes and assets. if self.__config.has("content"): self.kind = "manual" self.__addContent(self.__config.get("content")) # Application projects elif self.__hasDir("source"): self.kind = "application" if self.__hasDir("source/class"): self.__addDir("source/class", "classes") if self.__hasDir("source/style"): self.__addDir("source/style", "styles") if self.__hasDir("source/asset"): self.__addDir("source/asset", "assets") if self.__hasDir("source/translation"): self.__addDir("source/translation", "translations") # Compat - please change to class/style/asset instead elif self.__hasDir("src"): self.kind = "resource" self.__addDir("src", "classes") # Resource projects else: self.kind = "resource" if self.__hasDir("class"): self.__addDir("class", "classes") if self.__hasDir("style"): self.__addDir("style", "styles") if self.__hasDir("asset"): self.__addDir("asset", "assets") if self.__hasDir("translation"): self.__addDir("translation", "translations") # Generate summary summary = [] for section in ["classes", "styles", "translations", "assets"]: content = getattr(self, section, None) if content: summary.append("%s %s" % (len(content), section)) # Print out if summary: Console.info("Content: %s" % (Console.colorize(", ".join(summary), "green"))) else: Console.error("Project is empty!") self.scanned = True Console.outdent()
def scan(self): if self.scanned: return updatemsg = "[updated]" if self.__modified else "[cached]" if self.version: Console.info("Scanning %s @ %s %s...", Console.colorize(self.getName(), "bold"), Console.colorize(self.version, "magenta"), Console.colorize(updatemsg, "grey")) else: Console.info("Scanning %s %s...", Console.colorize(self.getName(), "bold"), Console.colorize(updatemsg, "grey")) Console.indent() # Support for pre-initialize projects... setup = self.__setup if setup and self.__modified: Console.info("Running setup...") Console.indent() for cmd in setup: Console.info("Executing %s...", cmd) result = None try: result = None result = Util.executeCommand(cmd, "Failed to execute setup command %s" % cmd, path=self.__path) except Exception as ex: if result: Console.error(result) raise UserError("Could not scan project %s: %s" % (self.__name, ex)) Console.outdent() # Processing custom content section. Only supports classes and assets. if self.__config.has("content"): self.kind = "manual" self.__addContent(self.__config.get("content")) else: # Read scan path from config if not self.__config.has("scan"): if self.__hasDir("source"): self.kind = "application" scan = self.__resolveScanConfig(structures[self.kind]) elif self.__hasDir("src"): self.kind = "resource" scan = self.__resolveScanConfig(structures[self.kind]) else: self.kind = "flat" scan = self.__resolveScanConfig(structures[self.kind]) else: scan = self.__resolveScanConfig(self.__config.get("scan")) for config in scan: if isinstance(config["paths"], str): self.__addDir(config["paths"], config["regex"], config["type"], config["package"]) else: for path in config["paths"]: self.__addDir(path, config["regex"], config["type"], config["package"]) # Generate summary summary = [] for section in self.items.keys(): content = self.items[section] name, constructor = self.__resolveConstructor(section) if content: summary.append(Console.colorize("%s %s" % (len(content), name), "magenta")) # Print out if summary: Console.info("Content: %s" % (", ".join(summary))) self.scanned = True Console.outdent()