示例#1
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
示例#2
0
文件: main.py 项目: dslackw/pysed
 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
示例#3
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])))
示例#4
0
文件: main.py 项目: dslackw/pysed
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])))
示例#5
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)))
示例#6
0
文件: main.py 项目: dslackw/pysed
 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)))
示例#7
0
文件: main.py 项目: dslackw/pysed
 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]
示例#8
0
 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]
示例#9
0
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)
示例#10
0
文件: main.py 项目: dslackw/pysed
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)