diff options
author | André Erdmann <dywi@mailerd.de> | 2014-07-17 18:24:42 +0200 |
---|---|---|
committer | André Erdmann <dywi@mailerd.de> | 2014-07-17 18:24:42 +0200 |
commit | a8fe98e1b2f71d53585f90eb6b33c1c152a18a3b (patch) | |
tree | 4ff0963bda18440c34572bfe15504a0537a3fce0 /roverlay | |
parent | package rules, exact regex acceptor: fix gen_str() (diff) | |
download | R_overlay-a8fe98e1b2f71d53585f90eb6b33c1c152a18a3b.tar.gz R_overlay-a8fe98e1b2f71d53585f90eb6b33c1c152a18a3b.tar.bz2 R_overlay-a8fe98e1b2f71d53585f90eb6b33c1c152a18a3b.zip |
roverlay/util/portage_regex: ebuild file path regex
Diffstat (limited to 'roverlay')
-rw-r--r-- | roverlay/util/portage_regex/default.py | 33 | ||||
-rw-r--r-- | roverlay/util/portage_regex/wildcard.py | 2 |
2 files changed, 35 insertions, 0 deletions
diff --git a/roverlay/util/portage_regex/default.py b/roverlay/util/portage_regex/default.py index a8d032a..bba472e 100644 --- a/roverlay/util/portage_regex/default.py +++ b/roverlay/util/portage_regex/default.py @@ -134,6 +134,20 @@ FMT_PAT_PF = r'(?P<PF>{pn}(?:[-]{pvr})?)' FMT_PAT_CATEGORY = r'(?P<CATEGORY>{category_name})' FMT_PAT_PACKAGE = r'(?:{category}[/])?{pf}' +FMT_PAT_PACKAGE_DIR_FILE = ( + '(?P<overlay_path>.*?[/])?' + '(?P<{relpath_name}>' + '{category}[/]' + '(?P<package_dirname>{package_name})[/]' + '{pat_file}' + ')' +) +FMT_PAT_EBUILD_FILENAME = ( + "(?P<ebuild_filename>{pf}(?P<ebuild_fileext>[.]ebuild))" +) + + + PAT_PVR = FMT_PAT_PVR.format ( version = PAT_DEP_ATOM_VERSION, version_suffixes = PAT_A_DEP_ATOM_VERSION_SUFFIXES, @@ -146,6 +160,23 @@ PAT_CATEGORY = FMT_PAT_CATEGORY.format ( category_name=PAT_A_CATEGORY_NAME ) PAT_PACKAGE = FMT_PAT_PACKAGE.format ( category=PAT_CATEGORY, pf=PAT_PF ) +def format_package_dir_file_pattern ( + relpath_name, pat_file, + category = PAT_CATEGORY, + package_name = PAT_A_PACKAGE_NAME, +): + return FMT_PAT_PACKAGE_DIR_FILE.format ( + pat_file = pat_file, + category = category, + relpath_name = relpath_name, + package_name = package_name, + ) +# --- end of format_package_dir_file_pattern (...) --- + +PAT_PACKAGE_EBUILD_FILE = format_package_dir_file_pattern ( + "ebuild_relpath", FMT_PAT_EBUILD_FILENAME.format ( pf=PAT_PF ) +) + ## FIXME: @@ -308,6 +339,7 @@ RE_PVR = MultiRegexProxy.compile_exact ( PAT_PVR ) RE_PN = MultiRegexProxy.compile_exact ( PAT_PN ) RE_PF = MultiRegexProxy.compile_exact ( PAT_PF ) RE_PACKAGE = MultiRegexProxy.compile_exact ( PAT_PACKAGE ) +RE_PACKAGE_EBUILD_FILE = MultiRegexProxy.compile_exact ( PAT_PACKAGE_EBUILD_FILE ) ##RE_DEP_ATOM = MultiRegexProxy.compile_exact ( PAT_DEP_ATOM ) ##RE_DEP_ATOM_USEFLAG = MultiRegexProxy.compile ( PAT_DEP_ATOM_USEFLAG ) @@ -330,3 +362,4 @@ def regex_main ( re_obj, pattern_list ): if __name__ == '__main__': import sys regex_main ( RE_PACKAGE, sys.argv[1:] ) + regex_main ( RE_PACKAGE_EBUILD_FILE, sys.argv[1:] ) diff --git a/roverlay/util/portage_regex/wildcard.py b/roverlay/util/portage_regex/wildcard.py index bd5b770..5aa9ffc 100644 --- a/roverlay/util/portage_regex/wildcard.py +++ b/roverlay/util/portage_regex/wildcard.py @@ -51,6 +51,8 @@ PAT_WILDCARD_PACKAGE = pre_default.FMT_PAT_PACKAGE.format ( pf = PAT_WILDCARD_PF ) + + RE_WILDCARD_CATEGORY = pre_default.MultiRegexProxy.compile_exact ( PAT_WILDCARD_CATEGORY ) |