summaryrefslogtreecommitdiffstats
path: root/gnu/llvm/utils/wciia.py
diff options
context:
space:
mode:
authorpatrick <patrick@openbsd.org>2020-08-03 15:06:44 +0000
committerpatrick <patrick@openbsd.org>2020-08-03 15:06:44 +0000
commitb64793999546ed8adebaeebd9d8345d18db8927d (patch)
tree4357c27b561d73b0e089727c6ed659f2ceff5f47 /gnu/llvm/utils/wciia.py
parentAdd support for UTF-8 DISPLAY-HINTs with octet length. For now only (diff)
downloadwireguard-openbsd-b64793999546ed8adebaeebd9d8345d18db8927d.tar.xz
wireguard-openbsd-b64793999546ed8adebaeebd9d8345d18db8927d.zip
Remove LLVM 8.0.1 files.
Diffstat (limited to 'gnu/llvm/utils/wciia.py')
-rwxr-xr-xgnu/llvm/utils/wciia.py126
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()