Exemple #1
0
    def load_log_dirs(self, pattern, negative_pattern=' ', root='./log', **kwargs):
        dirs = [item[0] for item in os.walk(root)]
        leaf_dirs = []
        for i in range(len(dirs)):
            if i + 1 < len(dirs) and dirs[i + 1].startswith(dirs[i]):
                continue
            leaf_dirs.append(dirs[i])
        names = []
        p = re.compile(pattern)
        np = re.compile(negative_pattern)
        for dir in leaf_dirs:
            if p.match(dir) and not np.match(dir):
                names.append(dir)
                print(dir)

        return sorted(names)
Exemple #2
0
 def get_phrase(self, text):
     np = re.compile('.*NP')
     vp = re.compile('.*VP')
     advp = re.compile('.*ADVP')
     adjp = re.compile('.*ADJP')
     pred = None
     cur = None
     phrases = []
     phrase = ""
     for t in text:
         if np.match(t[2]):
             cur = "NP"
         elif vp.match(t[2]):
             cur = "VP"
         elif advp.match(t[2]):
             cur = "ADVP"
         elif adjp.match(t[2]):
             cur = "ADJP"
         else:
             cur = None
         if pred != None:
             phrases.append((phrase, pred))
             phrase = ""
             pred = None
         if cur == pred:
             phrase = phrase + " " + t[0]
         elif pred == None:
             pred = cur
             phrase = t[0]
         else:
             phrases.append((phrase, pred))
             pred = cur
             phrase = t[0]
     if pred != None:
         phrases.append((phrase, pred))
     return phrases