Index: smart/plugins/rpmdir.py =================================================================== --- smart/plugins/rpmdir.py (revisão 634) +++ smart/plugins/rpmdir.py (cópia de trabalho) @@ -30,7 +30,7 @@ "rpm-dir", "rpm-dir-option", _("Dynamic RPM Directory"), - True, False, 0) + True, False, 0, "recursive") return [channel] hooks.register("rebuild-dynamic-channels", createRPMDirChannel) Index: smart/channels/rpm_dir.py =================================================================== --- smart/channels/rpm_dir.py (revisão 634) +++ smart/channels/rpm_dir.py (cópia de trabalho) @@ -41,6 +41,12 @@ loader = RPMDirLoader(self._path) loader.setChannel(self) self._loaders.append(loader) + if self._recursive: + for root, dirs, files in os.walk(self._path): + for name in dirs: + loader = RPMDirLoader(os.path.join(root, name)) + loader.setChannel(self) + self._loaders.append(loader) self._digest = digest return True @@ -53,6 +59,7 @@ data["name"], data["manual"], data["removable"], - data["priority"]) + data["priority"], + data["recursive"]) # vim:ts=4:sw=4:et Index: smart/channels/rpm_dir_info.py =================================================================== --- smart/channels/rpm_dir_info.py (revisão 634) +++ smart/channels/rpm_dir_info.py (cópia de trabalho) @@ -30,4 +30,6 @@ """) fields = [("path", _("Directory Path"), str, None, - _("Path of directory containing RPM packages."))] + _("Path of directory containing RPM packages.")), + ("recursive", _("Recursive"), bool, False, + _("Search for files recursively."))] Index: smart/channel.py =================================================================== --- smart/channel.py (revisão 634) +++ smart/channel.py (cópia de trabalho) @@ -81,11 +81,12 @@ class PackageChannel(Channel): def __init__(self, type, alias, name=None, - manualupdate=False, removable=False, priority=0): + manualupdate=False, removable=False, priority=0, recursive=False): super(PackageChannel, self).__init__(type, alias, name, manualupdate, removable) self._loaders = [] self._priority = priority + self._recursive = recursive def getLoaders(self): return self._loaders