05 Aralık 2009 Cumartesi günü (saat 18:27:04) Gürer Özen şunları yazmıştı:
> Ekte buna göre yaptım. Mantık şöyle (rekürsif olarak): Daha da temizlenmiş ve hızlı hali, 20 satır.
#!/usr/bin/python # -*- coding: utf-8 -*- import sys import piksemel # # Filter code # def dom_filter_int(dom, target): for tag in dom.tags(): dont = tag.getAttribute("notFor") if dont: dont = set(dont.split(",")) if not target.isdisjoint(dont): tag.hide() continue tag.setAttribute("notFor", None) want = tag.getAttribute("for") if want: want = set(want.split(",")) if target.isdisjoint(want): tag.hide() continue tag.setAttribute("for", None) dom_filter_int(tag, target) def dom_filter(dom, target): dom_filter_int(dom, set(target)) return dom # # # def test(filename, target): dom = piksemel.parse(filename) dom_filter(dom, target) print dom.toPrettyString() filename = sys.argv[1] target = [] if len(sys.argv) > 2: target = sys.argv[2].split(",") test(filename, target)
_______________________________________________ Gelistirici mailing list Gelistirici@pardus.org.tr http://liste.pardus.org.tr/mailman/listinfo/gelistirici