diff options
| author | 2020-08-03 15:06:44 +0000 | |
|---|---|---|
| committer | 2020-08-03 15:06:44 +0000 | |
| commit | b64793999546ed8adebaeebd9d8345d18db8927d (patch) | |
| tree | 4357c27b561d73b0e089727c6ed659f2ceff5f47 /gnu/llvm/utils/wciia.py | |
| parent | Add support for UTF-8 DISPLAY-HINTs with octet length. For now only (diff) | |
| download | wireguard-openbsd-b64793999546ed8adebaeebd9d8345d18db8927d.tar.xz wireguard-openbsd-b64793999546ed8adebaeebd9d8345d18db8927d.zip | |
Remove LLVM 8.0.1 files.
Diffstat (limited to 'gnu/llvm/utils/wciia.py')
| -rwxr-xr-x | gnu/llvm/utils/wciia.py | 126 |
1 files changed, 0 insertions, 126 deletions
diff --git a/gnu/llvm/utils/wciia.py b/gnu/llvm/utils/wciia.py deleted file mode 100755 index 4269db2de46..00000000000 --- a/gnu/llvm/utils/wciia.py +++ /dev/null @@ -1,126 +0,0 @@ -#!/usr/bin/env python - -""" -wciia - Whose Code Is It Anyway - -Determines code owner of the file/folder relative to the llvm source root. -Code owner is determined from the content of the CODE_OWNERS.TXT -by parsing the D: field - -usage: - -utils/wciia.py path - -limitations: -- must be run from llvm source root -- very simplistic algorithm -- only handles * as a wildcard -- not very user friendly -- does not handle the proposed F: field - -""" - -from __future__ import print_function -import os - -code_owners = {} - -def process_files_and_folders(owner): - filesfolders = owner['filesfolders'] - # paths must be in ( ... ) so strip them - lpar = filesfolders.find('(') - rpar = filesfolders.rfind(')') - if rpar <= lpar: - # give up - return - paths = filesfolders[lpar+1:rpar] - # split paths - owner['paths'] = [] - for path in paths.split(): - owner['paths'].append(path) - -def process_code_owner(owner): - if 'filesfolders' in owner: - filesfolders = owner['filesfolders'] - else: -# print "F: field missing, using D: field" - owner['filesfolders'] = owner['description'] - process_files_and_folders(owner) - code_owners[owner['name']] = owner - -# process CODE_OWNERS.TXT first -code_owners_file = open("CODE_OWNERS.TXT", "r").readlines() -code_owner = {} -for line in code_owners_file: - for word in line.split(): - if word == "N:": - name = line[2:].strip() - if code_owner: - process_code_owner(code_owner) - code_owner = {} - # reset the values - code_owner['name'] = name - if word == "E:": - email = line[2:].strip() - code_owner['email'] = email - if word == "D:": - description = line[2:].strip() - code_owner['description'] = description - if word == "F:": - filesfolders = line[2:].strip() - code_owner['filesfolders'].append(filesfolders) - -def find_owners(fpath): - onames = [] - lmatch = -1 - # very simplistic way of findning the best match - for name in code_owners: - owner = code_owners[name] - if 'paths' in owner: - for path in owner['paths']: -# print "searching (" + path + ")" - # try exact match - if fpath == path: - return name - # see if path ends with a * - rstar = path.rfind('*') - if rstar>0: - # try the longest match, - rpos = -1 - if len(fpath) < len(path): - rpos = path.find(fpath) - if rpos == 0: - onames.append(name) - onames.append('Chris Lattner') - return onames - -# now lest try to find the owner of the file or folder -import sys - -if len(sys.argv) < 2: - print("usage " + sys.argv[0] + " file_or_folder") - exit(-1) - -# the path we are checking -path = str(sys.argv[1]) - -# check if this is real path -if not os.path.exists(path): - print("path (" + path + ") does not exist") - exit(-1) - -owners_name = find_owners(path) - -# be grammatically correct -print("The owner(s) of the (" + path + ") is(are) : " + str(owners_name)) - -exit(0) - -# bottom up walk of the current . -# not yet used -root = "." -for dir,subdirList,fileList in os.walk( root , topdown=False ) : - print("dir :" , dir) - for fname in fileList : - print("-" , fname) - print() |
