def regexFlags(self): """Python regex flags """ patt_flag = "" for i in self.flag.split("|"): re_patt = { "I": "2", "L": "4", "M": "8", "S": "16", "U": "32", "X": "64", "IGNORECASE": "2", "LOCALE": "4", "MULTILINE": "8", "DOTALL": "16", "UNICODE": "32", "VERBOSE": "64", "0": "0", "": "" } try: patt_flag += re_patt[i] + "|" except KeyError: usage() sys.exit("{0}: {1}".format(__prog__, messageError(500, Err=self.flag))) if self.flag: self.flag = int(patt_flag[:-1]) else: self.flag = 0
def regexFlags(self): """Python regex flags """ patt_flag = "" for i in self.flag.split("|"): re_patt = { "I": "2", "L": "4", "M": "8", "S": "16", "U": "32", "X": "64", "IGNORECASE": "2", "LOCALE": "4", "MULTILINE": "8", "DOTALL": "16", "UNICODE": "32", "VERBOSE": "64", "0": "0", "": "" } try: patt_flag += re_patt[i] + "|" except KeyError: usage() sys.exit("{0}: {1}".format(__prog__, messageError( 500, Err=self.flag))) if self.flag: self.flag = int(patt_flag[:-1]) else: self.flag = 0
def checkArguments(args): """Execute arguments """ if len(args) == 1 and args[0] in ["-h", "--help"]: helps() elif len(args) == 1 and args[0] in ["-v", "--version"]: version() elif len(args) == 0: usage() sys.exit("{0}: {1}".format(__prog__, messageError(100, Err=""))) elif args and args[0] not in [ "-r", "--replace", "-f", "--findall", "-s", "--search", "-m", "--match", "-l", "--lines", "-g", "--highlight", "-t", "--stat" ]: usage() sys.exit("{0}: {1}".format(__prog__, messageError(300, Err=args[0])))
def checkArguments(args): """Execute arguments """ if len(args) == 1 and args[0] in ["-h", "--help"]: helps() elif len(args) == 1 and args[0] in ["-v", "--version"]: version() elif len(args) == 0: usage() sys.exit("{0}: {1}".format(__prog__, messageError(100, Err=""))) elif args and args[0] not in ["-r", "--replace", "-f", "--findall", "-s", "--search", "-m", "--match", "-l", "--lines", "-g", "--highlight", "-t", "--stat"]: usage() sys.exit("{0}: {1}".format(__prog__, messageError(300, Err=args[0])))
def colors(self): """Colors dictionary """ paint = { 'black': '\x1b[30m', 'red': '\x1b[31m', 'green': '\x1b[32m', 'yellow': '\x1b[33m', 'blue': '\x1b[34m', 'magenta': '\x1b[35m', 'cyan': '\x1b[36m', } try: self.color = paint[self.repl] except KeyError: usage() sys.exit("{0}: {1}".format(__prog__, messageError(600, Err=self.repl)))
def colors(self): """Colors dictionary """ paint = { 'black': '\x1b[30m', 'red': '\x1b[31m', 'green': '\x1b[32m', 'yellow': '\x1b[33m', 'blue': '\x1b[34m', 'magenta': '\x1b[35m', 'cyan': '\x1b[36m', } try: self.color = paint[self.repl] except KeyError: usage() sys.exit("{0}: {1}".format(__prog__, messageError( 600, Err=self.repl)))
def _extraInit(self): """Extra initialization """ if len(self.args) > 4: # extra adv = self.args[3].split("/") if len(adv) > 3: usage() sys.exit("{0}: {1}".format(__prog__, messageError(200, Err=""))) if len(adv) < 3: adv += [''] * (3 - len(adv)) if adv[0]: self.numlines = map(int, re.findall("\d+", adv[0])) if self.numlines == [] or self.numlines == [0]: self.numlines = range(1, len(self.data.splitlines()) + 1) if adv[1]: try: self.count = int(adv[1]) except ValueError: self.count = 0 if adv[2]: self.flag = adv[2]
def main(): args = sys.argv args.pop(0) data = "" isWrite = False checkArguments(args) if len(args) > 6: usage() sys.exit("{0}: {1}".format(__prog__, messageError(200, Err=""))) if args[-1] == "--write": isWrite = True del args[-1] elif len(args) == 6 and args[-1] is not "--write": usage() sys.exit("{0}: {1}".format(__prog__, messageError(300, Err=args[-1]))) filename = "{0}.log".format(__prog__) not_piping = sys.stdin.isatty() if not_piping: fileInput = filename = args[len(args) - 1] try: f = open(fileInput) data = f.read() except IOError: usage() sys.exit("{0}: {1}".format( __prog__, messageError(400, Err=args[len(args) - 1]))) else: args.append("last") try: data = sys.stdin.read() except KeyboardInterrupt: print("") sys.exit(0) executeArguments(args, data, filename, isWrite)