aides-spec/aides_spec/replacers/simple_replacer.py
2025-01-05 11:37:11 +03:00

33 lines
1,003 B
Python

from aides_spec.replacers.base import BaseReplacer
class SimpleReplacer(BaseReplacer):
SIMPLE_REPLACEMENTS = {
"pkgname": "name",
"pkgver": "version",
"pkgrel": "release",
"pkgdesc": "desc",
"url": "homepage",
"arch": "architectures",
"depends": "deps",
"optdepends": "opt_deps",
}
def process(self):
root_node = self.tree.root_node
def find_replacements(node):
if node.type == "variable_name":
var_name = self._node_text(node)
if var_name in self.SIMPLE_REPLACEMENTS:
self.replaces.append(
{
"node": node,
"content": self.SIMPLE_REPLACEMENTS[var_name],
}
)
for child in node.children:
find_replacements(child)
find_replacements(root_node)
return self._apply_replacements()