33 lines
1,003 B
Python
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()
|