1215c1c3bSPatrick Williams#!/usr/bin/python3 2215c1c3bSPatrick Williamsimport re 3215c1c3bSPatrick Williams 4215c1c3bSPatrick Williams 5215c1c3bSPatrick Williamsdef project(name: str) -> bool: 6215c1c3bSPatrick Williams reject_regex = [ 7215c1c3bSPatrick Williams ".*-oem", 8215c1c3bSPatrick Williams "openbmc/ibm-.*", 9215c1c3bSPatrick Williams "openbmc/intel-.*", 10215c1c3bSPatrick Williams "openbmc/openpower-.*", 11215c1c3bSPatrick Williams "openbmc/google-.*", 12215c1c3bSPatrick Williams "openbmc/meta-.*", 13215c1c3bSPatrick Williams ] 14215c1c3bSPatrick Williams 15215c1c3bSPatrick Williams reject_repo = [ 16215c1c3bSPatrick Williams "openbmc/s2600wf-misc", 17215c1c3bSPatrick Williams ] 18215c1c3bSPatrick Williams 19215c1c3bSPatrick Williams for r in reject_repo: 20215c1c3bSPatrick Williams if r == name: 21215c1c3bSPatrick Williams return False 22215c1c3bSPatrick Williams 23215c1c3bSPatrick Williams for r in reject_regex: 24215c1c3bSPatrick Williams if re.match(r, name): 25215c1c3bSPatrick Williams return False 26215c1c3bSPatrick Williams 27215c1c3bSPatrick Williams return True 28215c1c3bSPatrick Williams 29215c1c3bSPatrick Williams 30215c1c3bSPatrick Williamsdef file(proj: str, filename: str) -> bool: 31215c1c3bSPatrick Williams reject_regex = { 32215c1c3bSPatrick Williams "all": [ 33215c1c3bSPatrick Williams ".*/google/", 34215c1c3bSPatrick Williams ".*/ibm/", 35215c1c3bSPatrick Williams ".*/intel/", 36215c1c3bSPatrick Williams "MAINTAINERS", 37215c1c3bSPatrick Williams "OWNERS", 38215c1c3bSPatrick Williams "ibm-.*", 39215c1c3bSPatrick Williams "ibm_.*", 40215c1c3bSPatrick Williams ], 41215c1c3bSPatrick Williams "openbmc/entity-manager": ["configurations/.*"], 42215c1c3bSPatrick Williams "openbmc/libmctp": ["docs/bindings/vendor-.*"], 43215c1c3bSPatrick Williams "openbmc/openbmc": ["meta-(?!phosphor).*", "poky/.*"], 44215c1c3bSPatrick Williams "openbmc/openbmc-test-automation": ["oem/.*", "openpower/.*"], 45215c1c3bSPatrick Williams "openbmc/phosphor-debug-collector": [ 46215c1c3bSPatrick Williams "dump-extensions/.*", 47215c1c3bSPatrick Williams "tools/dreport.d/ibm.d/.*", 48215c1c3bSPatrick Williams ], 49215c1c3bSPatrick Williams "openbmc/phosphor-fan-presence": [".*/config_files/.*"], 50215c1c3bSPatrick Williams "openbmc/phosphor-power": [".*/config_files/.*"], 51215c1c3bSPatrick Williams "openbmc/phosphor-led-manager": ["configs/.*"], 52215c1c3bSPatrick Williams "openbmc/phosphor-logging": [".*/openpower-pels/.*"], 53215c1c3bSPatrick Williams "openbmc/webui-vue": [ 54215c1c3bSPatrick Williams "src/env/.*", 55215c1c3bSPatrick Williams ], 56215c1c3bSPatrick Williams } 57215c1c3bSPatrick Williams 58*d0269de8SPatrick Williams reject_files = ["/COMMIT_MSG", "/PATCHSET_LEVEL"] 59215c1c3bSPatrick Williams 60215c1c3bSPatrick Williams for r in reject_files: 61215c1c3bSPatrick Williams if r == filename: 62215c1c3bSPatrick Williams return False 63215c1c3bSPatrick Williams 64215c1c3bSPatrick Williams for r in reject_regex.get(proj, []) + reject_regex.get("all", []): 65215c1c3bSPatrick Williams if re.match(r, filename): 66215c1c3bSPatrick Williams return False 67215c1c3bSPatrick Williams 68215c1c3bSPatrick Williams return True 69