Currently job artifacts in CI/CD pipelines on LRZ GitLab never expire. Starting from Wed 26.1.2022 the default expiration time will be 30 days (GitLab default). Currently existing artifacts in already completed jobs will not be affected by the change. The latest artifacts for all jobs in the latest successful pipelines will be kept. More information: https://gitlab.lrz.de/help/user/admin_area/settings/continuous_integration.html#default-artifacts-expiration

Commit 729535fb authored by Eckhart Arnold's avatar Eckhart Arnold
Browse files

- sync commit

parent 58fda1ba
......@@ -29,6 +29,7 @@ for CST -> AST transformations.
import collections.abc
import inspect
import fnmatch
from functools import partial, reduce, singledispatch
from DHParser.error import Error
......@@ -64,6 +65,7 @@ __all__ = ('TransformationDict',
'is_expendable',
'is_token',
'is_one_of',
'matches_re',
'has_content',
'has_parent',
'lstrip',
......@@ -428,6 +430,29 @@ def is_one_of(context: List[Node], tag_name_set: AbstractSet[str]) -> bool:
return context[-1].tag_name in tag_name_set
# @transformation_factory(collections.abc.Set)
# def matches_wildcard(context: List[Node], wildcards: AbstractSet[str]) -> bool:
# """Retruns true, if the node's tag_name matches one of the glob patterns
# in `wildcards`. For example, ':*' matches all anonymous nodes. """
# tn = context[-1].tag_name
# for pattern in wildcards:
# if fnmatch.fnmatch(tn, pattern):
# return True
# return False
@transformation_factory(collections.abc.Set)
def matches_re(context: List[Node], patterns: AbstractSet[str]) -> bool:
"""Retruns true, if the node's tag_name matches one of the regular
expressions in `patterns`. For example, ':.*' matches all anonymous nodes.
"""
tn = context[-1].tag_name
for pattern in patterns:
if re.match(pattern, tn):
return True
return False
@transformation_factory
def has_content(context: List[Node], regexp: str) -> bool:
"""
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment