Re: [Gelistirici] #pardus-gelistirici
27 Mayıs 2011 Cuma günü (saat 08:11:48) Gökmen Göksel şunları yazmıştı: > Selamlar, > > Genellikle gün içinde hepimizi #pardus-gelistirici kanalında oluyoruz, > irc.freenode.net sunucusunda. Bekleriz yani hoş sohbet, teknik atıflar, > eğlenceli dakikalar filan. > > irc.freenode.net#pardus-gelistirici Benim gibi ofis dışında olanlar için hikayeyi anlatayım: Jabber arada servis dışı kalıyordu, problemin yedekleme uygulamasından kaynaklandığını fark ettik ancak her zaman başımıza gelmediği için birkaç defa "restart" ederek çözdük. Dün, yedekleme sırasında yine servis çalışmaz oldu ve iki sistem yöneticisi de kapsama alanı dışında olunca akşam saatlerine kadar problem düzeltilemedi. IM seven geliştiricilerimiz, "IRC'ye girsek" demişler, Gökmen'in duyurusunun ardından kanalda kullanıcı rekoru kırılmış. Beğenmiş, hep burada durmaya karar vermişler. IRC kanalındaki kullanıcı sayısı düşerse Jabber'ı kapatacağım :) ___ Gelistirici mailing list Gelistirici@pardus.org.tr http://liste.pardus.org.tr/mailman/listinfo/gelistirici
[Gelistirici] #pardus-gelistirici
Selamlar, Genellikle gün içinde hepimizi #pardus-gelistirici kanalında oluyoruz, irc.freenode.net sunucusunda. Bekleriz yani hoş sohbet, teknik atıflar, eğlenceli dakikalar filan. irc.freenode.net#pardus-gelistirici -- Gökmen Göksel ___ Gelistirici mailing list Gelistirici@pardus.org.tr http://liste.pardus.org.tr/mailman/listinfo/gelistirici
Re: [Gelistirici] libvirt
2011/5/23 Emre Erenoglu > 2011/5/9 Emre Erenoglu > >> On Mon, May 9, 2011 at 10:24 PM, Emre Erenoglu wrote: >> >>> 2011/5/9 Ozan Çağlayan >>> Devel deposunda libvirt çalışmıyor: 13:54:45.818: 10842: info : libvirt version: 0.9.0 13:54:45.818: 10842: error : virGetHostname:2714 : internal error getaddrinfo failed for 'ozanDesktopI7x86_64': İsim ya da servis bilinmiyor 13:54:45.929: 10842: error : virCommandWait:1281 : internal error Child process (/sbin/iptables --table mangle --delete POSTROUTING --out-interface virbr0 --protocol udp --destination-port 68 --jump CHECKSUM --checksum-fill) status unexpected: exit status 2 13:54:45.972: 10842: error : virCommandWait:1281 : internal error Child process (/sbin/iptables --table mangle --insert POSTROUTING --out-interface virbr0 --protocol udp --destination-port 68 --jump CHECKSUM --checksum-fill) status unexpected: exit status 2 13:54:45.972: 10842: warning : networkAddGeneralIptablesRules:1178 : Could not add rule to fixup DHCP response checksums on network 'default'. 13:54:45.972: 10842: warning : networkAddGeneralIptablesRules:1179 : May need to update iptables package & kernel to support CHECKSUM rule. 13:54:46.222: 10842: error : virCommandWait:1281 : internal error Child process (LC_ALL=C PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/root/common/uludag/trunk/scripts:/opt/bin:/opt/sun-jre/bin:/opt/sun-jdk/bin HOME=/root USER=root LOGNAME=root /usr/bin/qemu -device ? -device pci-assign,? -device virtio-blk-pci,? -device virtio-net-pci,?) status unexpected: exit status 1 13:54:46.222: 10842: error : qemuCreateCapabilities:233 : out of memory 13:54:46.222: 10842: error : virStateInitialize:795 : Initialization of QEMU state driver failed 13:54:46.251: 10842: error : main:3384 : Driver state initialization failed 13:54:46.251: 10843: warning : qemudDispatchSignalEvent:427 : Shutting down on signal 3 >>> >>> Ozan hocam bu sorun bende de vardi ama artik tekrarlayamiyorum. CHECKSUM >>> olayini patch'lemistim bu yuzden. Ama sorun ordan mi degil mi emin degildim >>> cunku warning diyordu tavsiyede bulunuyordu. Su anda bende calisiyor >>> sorunsuz, depodan tekrar derliyorum simdi. sendeki bu patch'i almis mi >>> derlerken, en azindan su checksum hatasi cikmamaliydi sanki son commit >>> versiyonunda. >>> >>> testing deposu kullaniyorsun degil mi sistem geneli icin? bu sorunla >>> ugrasirken bi sebepten testing deposuna gecmistim (kvm modulu ile ilgili bir >>> dertti sanki, qemu kvm'yi acamiyor muydu neydi). >>> >> >> Ozan Hocam, bir de su komutu calistirip ciktisini gonderir misin? Normal >> kullanici ya da root olabilir, farketmez. >> >> qemu -device ? -device pci-assign,? -device virtio-blk-pci,? -device >> virtio-net-pci,? >> >> Bu komut bende hata raporu uretmiyor, duzgun bir cikti veriyor. Sende >> sanirim hata dondurecek, libvirt de ondan patliyor. >> > > Ozan hocam (veya diger gelistirici arkadaslar) buna bakabildin mi? Ona gore > commitleyecegim. > Onur Hocam, Ozan Hocam, Biraz daha arastirdim. Sorun daha derinde. Temel sorun: Bizdeki qemu paketi, KVM destegi ile derlenmemis. Detay: libvirt calisirken qemu capabilities anlamak icin bir sira qemu komutu calistiriyor. Bunlar ornegin: /usr/bin/qemu -device ? -device pci-assign,? -device virtio-blk-pci,? -device virtio-net-pci,? /usr/bin/qemu-system-arm -device ? -device pci-assign,? -device virtio-blk-pci,? -device virtio-net-pci,? gibi komutlar ama aralarinda qemu-kvm cagiran yok. Bizim qemu ise bunlara error uretiyor ve libvirt desteklenen bir qemu olmadigina karar veriyor. 0.9.1 calismasina calisiyor ama hicbir guest yaratamiyor. kvm modulleri yuklu iken asagidaki komuta bakalim: /usr/bin/qemu -device ? -device pci-assign,? -device virtio-blk-pci,? -device virtio-net-pci,? Could not initialize KVM, Do you have kvm-amd or kvm-intel modprobe'd? If you want to use CPU emulation, start with -no-kvm. Eger qemu'ya illa kvm ile calis dersek: qemu --enable-kvm KVM not supported for this target Cozum: Qemu'yu qemu-kvm gibi calisacak sekilde derleyelim, eger farkli architecture emulation yapacaksaniz -no-kvm ile calistirin. qemu'yu bu sekilde derleyip testing deposuna ve stable'a alabilir miyiz? Gecici kirli kotu cozum: libvirt'in surumunu bu yuzden artiramiyorum. Bunun icin qemu_capabilities.c 'yi patchledim (ekte), qemu gordugu yerde qemu-kvm cagiracak sekilde ayarladim. i686 ustunde calisti ama elimin altinda bir x86_64 yok, pazara anca denerim. -- Emre --- src/qemu/qemu_capabilities.c.orig 2011-04-06 12:34:36.0 +0400 +++ src/qemu/qemu_capabilities.c 2011-05-27 02:08:29.26514 +0400 @@ -74,9 +74,9 @@ /* The archicture tables for supported QEMU archs */ static const struct qemu_arch_info const arch_info_hvm[] = { -{ "i686", 32, NULL, "qemu", +{ "i686", 32, NULL, "qemu-kvm",
Re: [Gelistirici] KVM modulu karmasasi
2011/5/26 Ozan Çağlayan > On 26.05.2011 22:51, Emre Erenoglu wrote: > > 2011/5/26 Ozan Çağlayan mailto:o...@pardus.org.tr>> > > > > On 26.05.2011 21 :34, Emre Erenoglu wrote: > > > Selamlar Onur Hocam, > > > > > > KVM modulleri gordugum kadari ile iki paketten cikiyor: kernel > > > ve module-compat-kvm > > > > > > Bu modulu ise module-compat-kvm-userspace paketi udev kurali ile > load > > > ediyor/ > > > > > > Su anda kernel 2.6.37.6'da ve kvm-intel.ko gibi moduller burada > var. > > > Ayrica module-compat-kvm 2.6.36.1'den kalma modulleri icinden > > cikartiyor. > > > > > > Simdi ben libvirt kuruldugunda kvm modulerinin de kurulmasini ve > > > acilista calistirilmasini istiyorum. Ancak module-compat-kvm'ye > > > dependency eklesem, eski kvm modulu geliyor, belki sorun cikartir, > > > eklemesem kernel'deki yeni kvm'yi kullanacak ama modulu modprobe > eden > > > bir duzenek yok. > > > > > > Ne yapmaliyim, yapmaliyiz? Acaba kernel'den bu modulleri cikartip, > > > versiyon ayni dahi olsa her zaman modul-compat-kvm'den mi > cikartsak? > > > Boylece ben buna baglanti yazip isi bitiririm. > > > > module-compat-kvm farklı dizine koyuyor modülleri. module-compat-kvm > > ileri geçebilir bizim çekirdeğimizden. module-compat-kvm kuruluysa > ondan > > cıkanlar, değilse kernelden çıkanlar kullanıma geçiyor. > > > > Dolayısıyla bir şeye bağımlılık yazmanıza gerek yok, çekirdekten > zaten > > çıkıyor. > > > > > > module-compat-kvm-userspace kurulmazsa, kvm modulu modprobe edilmiyor > > boot esnasinda. Haliyle kullanicilar gelip listelerde forumlarda soracak > > niye sanal makineler yavas calisiyor diye. Sadece buna bagimlilik > > eklersem, bu sefer yeni module-compat-kvm modulu ciktiginda, sisteme > > kurulmayacak. module-compat-kvm eklesem, bu sefer eski modul sisteme > > kurulup kernel'de gelenin onune geciyor. > > > > Umarim derdimi anlatabilmisimdir. > > hm, şimdi anladım. kvm'nin udev kuralını, udev paketine alabiliriz > aslında bundan kurtulmak için. > Diyelim ki boyle yaptik, peki yeni module-compat-kvm ciktiginda, onun sisteme kurulacagini kim garantileyecek? libvirt veya virt-managet chain'inde bir paketin buna bagimliligi olmasi gerekmiyor mu sisteme kurulmasi icin? -- Emre ___ Gelistirici mailing list Gelistirici@pardus.org.tr http://liste.pardus.org.tr/mailman/listinfo/gelistirici
Re: [Gelistirici] KVM modulu karmasasi
On 26.05.2011 22:51, Emre Erenoglu wrote: > 2011/5/26 Ozan Çağlayan mailto:o...@pardus.org.tr>> > > On 26.05.2011 21 :34, Emre Erenoglu wrote: > > Selamlar Onur Hocam, > > > > KVM modulleri gordugum kadari ile iki paketten cikiyor: kernel > > ve module-compat-kvm > > > > Bu modulu ise module-compat-kvm-userspace paketi udev kurali ile load > > ediyor/ > > > > Su anda kernel 2.6.37.6'da ve kvm-intel.ko gibi moduller burada var. > > Ayrica module-compat-kvm 2.6.36.1'den kalma modulleri icinden > cikartiyor. > > > > Simdi ben libvirt kuruldugunda kvm modulerinin de kurulmasini ve > > acilista calistirilmasini istiyorum. Ancak module-compat-kvm'ye > > dependency eklesem, eski kvm modulu geliyor, belki sorun cikartir, > > eklemesem kernel'deki yeni kvm'yi kullanacak ama modulu modprobe eden > > bir duzenek yok. > > > > Ne yapmaliyim, yapmaliyiz? Acaba kernel'den bu modulleri cikartip, > > versiyon ayni dahi olsa her zaman modul-compat-kvm'den mi cikartsak? > > Boylece ben buna baglanti yazip isi bitiririm. > > module-compat-kvm farklı dizine koyuyor modülleri. module-compat-kvm > ileri geçebilir bizim çekirdeğimizden. module-compat-kvm kuruluysa ondan > cıkanlar, değilse kernelden çıkanlar kullanıma geçiyor. > > Dolayısıyla bir şeye bağımlılık yazmanıza gerek yok, çekirdekten zaten > çıkıyor. > > > module-compat-kvm-userspace kurulmazsa, kvm modulu modprobe edilmiyor > boot esnasinda. Haliyle kullanicilar gelip listelerde forumlarda soracak > niye sanal makineler yavas calisiyor diye. Sadece buna bagimlilik > eklersem, bu sefer yeni module-compat-kvm modulu ciktiginda, sisteme > kurulmayacak. module-compat-kvm eklesem, bu sefer eski modul sisteme > kurulup kernel'de gelenin onune geciyor. > > Umarim derdimi anlatabilmisimdir. hm, şimdi anladım. kvm'nin udev kuralını, udev paketine alabiliriz aslında bundan kurtulmak için. -- Ozan Caglayan Pardus Linux http://www.pardus.org.tr/eng ___ Gelistirici mailing list Gelistirici@pardus.org.tr http://liste.pardus.org.tr/mailman/listinfo/gelistirici
Re: [Gelistirici] KVM modulu karmasasi
2011/5/26 Ozan Çağlayan > On 26.05.2011 21:34, Emre Erenoglu wrote: > > Selamlar Onur Hocam, > > > > KVM modulleri gordugum kadari ile iki paketten cikiyor: kernel > > ve module-compat-kvm > > > > Bu modulu ise module-compat-kvm-userspace paketi udev kurali ile load > > ediyor/ > > > > Su anda kernel 2.6.37.6'da ve kvm-intel.ko gibi moduller burada var. > > Ayrica module-compat-kvm 2.6.36.1'den kalma modulleri icinden cikartiyor. > > > > Simdi ben libvirt kuruldugunda kvm modulerinin de kurulmasini ve > > acilista calistirilmasini istiyorum. Ancak module-compat-kvm'ye > > dependency eklesem, eski kvm modulu geliyor, belki sorun cikartir, > > eklemesem kernel'deki yeni kvm'yi kullanacak ama modulu modprobe eden > > bir duzenek yok. > > > > Ne yapmaliyim, yapmaliyiz? Acaba kernel'den bu modulleri cikartip, > > versiyon ayni dahi olsa her zaman modul-compat-kvm'den mi cikartsak? > > Boylece ben buna baglanti yazip isi bitiririm. > > module-compat-kvm farklı dizine koyuyor modülleri. module-compat-kvm > ileri geçebilir bizim çekirdeğimizden. module-compat-kvm kuruluysa ondan > cıkanlar, değilse kernelden çıkanlar kullanıma geçiyor. > > Dolayısıyla bir şeye bağımlılık yazmanıza gerek yok, çekirdekten zaten > çıkıyor. > module-compat-kvm-userspace kurulmazsa, kvm modulu modprobe edilmiyor boot esnasinda. Haliyle kullanicilar gelip listelerde forumlarda soracak niye sanal makineler yavas calisiyor diye. Sadece buna bagimlilik eklersem, bu sefer yeni module-compat-kvm modulu ciktiginda, sisteme kurulmayacak. module-compat-kvm eklesem, bu sefer eski modul sisteme kurulup kernel'de gelenin onune geciyor. Umarim derdimi anlatabilmisimdir. -- Emre ___ Gelistirici mailing list Gelistirici@pardus.org.tr http://liste.pardus.org.tr/mailman/listinfo/gelistirici
Re: [Gelistirici] KVM modulu karmasasi
On 26.05.2011 21:34, Emre Erenoglu wrote: > Selamlar Onur Hocam, > > KVM modulleri gordugum kadari ile iki paketten cikiyor: kernel > ve module-compat-kvm > > Bu modulu ise module-compat-kvm-userspace paketi udev kurali ile load > ediyor/ > > Su anda kernel 2.6.37.6'da ve kvm-intel.ko gibi moduller burada var. > Ayrica module-compat-kvm 2.6.36.1'den kalma modulleri icinden cikartiyor. > > Simdi ben libvirt kuruldugunda kvm modulerinin de kurulmasini ve > acilista calistirilmasini istiyorum. Ancak module-compat-kvm'ye > dependency eklesem, eski kvm modulu geliyor, belki sorun cikartir, > eklemesem kernel'deki yeni kvm'yi kullanacak ama modulu modprobe eden > bir duzenek yok. > > Ne yapmaliyim, yapmaliyiz? Acaba kernel'den bu modulleri cikartip, > versiyon ayni dahi olsa her zaman modul-compat-kvm'den mi cikartsak? > Boylece ben buna baglanti yazip isi bitiririm. module-compat-kvm farklı dizine koyuyor modülleri. module-compat-kvm ileri geçebilir bizim çekirdeğimizden. module-compat-kvm kuruluysa ondan cıkanlar, değilse kernelden çıkanlar kullanıma geçiyor. Dolayısıyla bir şeye bağımlılık yazmanıza gerek yok, çekirdekten zaten çıkıyor. -- Ozan Caglayan Pardus Linux http://www.pardus.org.tr/eng ___ Gelistirici mailing list Gelistirici@pardus.org.tr http://liste.pardus.org.tr/mailman/listinfo/gelistirici
[Gelistirici] KVM modulu karmasasi
Selamlar Onur Hocam, KVM modulleri gordugum kadari ile iki paketten cikiyor: kernel ve module-compat-kvm Bu modulu ise module-compat-kvm-userspace paketi udev kurali ile load ediyor/ Su anda kernel 2.6.37.6'da ve kvm-intel.ko gibi moduller burada var. Ayrica module-compat-kvm 2.6.36.1'den kalma modulleri icinden cikartiyor. Simdi ben libvirt kuruldugunda kvm modulerinin de kurulmasini ve acilista calistirilmasini istiyorum. Ancak module-compat-kvm'ye dependency eklesem, eski kvm modulu geliyor, belki sorun cikartir, eklemesem kernel'deki yeni kvm'yi kullanacak ama modulu modprobe eden bir duzenek yok. Ne yapmaliyim, yapmaliyiz? Acaba kernel'den bu modulleri cikartip, versiyon ayni dahi olsa her zaman modul-compat-kvm'den mi cikartsak? Boylece ben buna baglanti yazip isi bitiririm. Emre ___ Gelistirici mailing list Gelistirici@pardus.org.tr http://liste.pardus.org.tr/mailman/listinfo/gelistirici
Re: [Gelistirici] [Teknik] Python os.walk'ta dizin filtrelemece
On Thu, 26 May 2011 11:03:24 +, Gökçen Eraslan wrote: Selamlar, Pisi'deki index kodunu biraz daha hızlandırmak şöyle bir yama yaptım: Index: index.py === --- index.py(revision 37006) +++ index.py(working copy) @@ -92,6 +92,8 @@ deltas = {} for root, dirs, files in os.walk(repo_uri): +dirs[:] = [d for d in dirs if d not in ['.svn', '.git', '.hg']] + for fn in files: if fn.endswith(ctx.const.delta_package_suffix): Fakat burada okunabilirliği azalttığı ve tavsiye edilmediği için [:] hack'ini kullanmak istemiyorum, zira kullanmayınca da dirs değişkeni değiştirilmiyor. Tek tek dirs.remove(x) ile silmek de hoşuma gitmiyor. root, dirs ve files nesneleri generator ile oluşturuluyor. Bu nesnelerin herhangi birine müdahale etmek için, nesnenin sağladığı metodları kullanmakta fayda var. Doğru yöntem, hoşuna gitmeyen o dirs.remove(x) yapmak :) [:] kadar, list comprehension kullanmak da okunaksız yapıyor kodu. Bence "." ile başlayanları listeden tek tek çıkaracağın üç satırlık dirs.remove(x) kodunu kullan. -- Bahadır Kandemir ___ Gelistirici mailing list Gelistirici@pardus.org.tr http://liste.pardus.org.tr/mailman/listinfo/gelistirici
[Gelistirici] uygulamaların depolardaki durumunu görünür kılsak?
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Selam, Kullanıcılar kimi uygulamaların güncel sürümlerini bekler vaziyette olunca, fırsat bulduklarıma test/devel depolarına göz atıp bilgi verdiğim oluyor. Acaba paketler.pardus.org.tr 'yi depo bazlı değil, sürüm bazlı okunabilecek şekle getirsek, 2011 seçince paket/uygulama seçen bir kullanıcı da xxx 4.6.7 diye bir başlık yerine sadece xxx görse, yanda bir tablo içinde stable testing devel 4.6.7 4.7.04.7.1 gibi görebilse? işe yaramaz mıydı? - -- Koray Löker <--/ Özgürlük İçin... http://www.pardus.org.tr /--> -BEGIN PGP SIGNATURE- Version: GnuPG v2.0.17 (GNU/Linux) iEYEARECAAYFAk3eWuwACgkQw2TIyRfXolqPHQCgihHWfXw5ZIZlEEUwT5/1y4E0 6D4AnitDpYpaeC8fgmvNMqXltW77uLMy =9LbA -END PGP SIGNATURE- ___ Gelistirici mailing list Gelistirici@pardus.org.tr http://liste.pardus.org.tr/mailman/listinfo/gelistirici
Re: [Gelistirici] Python os.walk'ta dizin filtrelemece
Perşembe 26 Mayıs 2011 günü (saat 10:38:52) Fatih Aşıcı şunları yazmıştı: > 26.05.2011 14:03, Gökçen Eraslan yazmış: > > Selamlar, > > > > Pisi'deki index kodunu biraz daha hızlandırmak şöyle bir yama yaptım: > > > > Index: index.py > > === > > --- index.py(revision 37006) > > +++ index.py(working copy) > > @@ -92,6 +92,8 @@ > > > > deltas = {} > > > > for root, dirs, files in os.walk(repo_uri): > > +dirs[:] = [d for d in dirs if d not in ['.svn', '.git', > > '.hg']] + > > > > for fn in files: > > if fn.endswith(ctx.const.delta_package_suffix): > > Fakat burada okunabilirliği azalttığı ve tavsiye edilmediği için [:] > > hack'ini kullanmak istemiyorum, zira kullanmayınca da dirs değişkeni > > değiştirilmiyor. Tek tek dirs.remove(x) ile silmek de hoşuma gitmiyor. > > > > Başka çözüm bilen var mı? > > .svn, .git, .hg gibi şeyleri hardcode etmek pek içime sinmedi açıkçası. > Davranışı nokta ile başlayan dizinleri atlayacak şekilde değiştirebiliriz. > > if os.path.basename(root).startswith("."): > continue > > yapılabilir. > > Diğer bir çözüm de index komutuna --exlude-dirs=.* gibi bir parametre > verebilmek olabilir. O zaman şimdilik: dirs[:] = [d for d in dirs if not d.startswith(".")] ekliyeyim, daha sonra parametrik yaparız. -- Gökçen Eraslan signature.asc Description: This is a digitally signed message part. ___ Gelistirici mailing list Gelistirici@pardus.org.tr http://liste.pardus.org.tr/mailman/listinfo/gelistirici
Re: [Gelistirici] Python os.walk'ta dizin filtrelemece
26.05.2011 14:03, Gökçen Eraslan yazmış: Selamlar, Pisi'deki index kodunu biraz daha hızlandırmak şöyle bir yama yaptım: Index: index.py === --- index.py(revision 37006) +++ index.py(working copy) @@ -92,6 +92,8 @@ deltas = {} for root, dirs, files in os.walk(repo_uri): +dirs[:] = [d for d in dirs if d not in ['.svn', '.git', '.hg']] + for fn in files: if fn.endswith(ctx.const.delta_package_suffix): Fakat burada okunabilirliği azalttığı ve tavsiye edilmediği için [:] hack'ini kullanmak istemiyorum, zira kullanmayınca da dirs değişkeni değiştirilmiyor. Tek tek dirs.remove(x) ile silmek de hoşuma gitmiyor. Başka çözüm bilen var mı? .svn, .git, .hg gibi şeyleri hardcode etmek pek içime sinmedi açıkçası. Davranışı nokta ile başlayan dizinleri atlayacak şekilde değiştirebiliriz. if os.path.basename(root).startswith("."): continue yapılabilir. Diğer bir çözüm de index komutuna --exlude-dirs=.* gibi bir parametre verebilmek olabilir. ___ Gelistirici mailing list Gelistirici@pardus.org.tr http://liste.pardus.org.tr/mailman/listinfo/gelistirici
Re: [Gelistirici] Python os.walk'ta dizin filtrelemece
2011/5/26 Gökmen Görgen : > Denemeden yazıyorum ama belki çalışıyordur böyle: Tüh çalışmaz, dirs list =( -- gkmngrgn ~ http://gokmengorgen.net ___ Gelistirici mailing list Gelistirici@pardus.org.tr http://liste.pardus.org.tr/mailman/listinfo/gelistirici
Re: [Gelistirici] Python os.walk'ta dizin filtrelemece
2011/5/26 Gökçen Eraslan > > Selamlar, > > Pisi'deki index kodunu biraz daha hızlandırmak şöyle bir yama yaptım: > > Index: index.py > === > --- index.py (revision 37006) > +++ index.py (working copy) > @@ -92,6 +92,8 @@ > deltas = {} > > for root, dirs, files in os.walk(repo_uri): > + dirs[:] = [d for d in dirs if d not in ['.svn', '.git', '.hg']] > + > for fn in files: > > if fn.endswith(ctx.const.delta_package_suffix): > > Fakat burada okunabilirliği azalttığı ve tavsiye edilmediği için [:] hack'ini > kullanmak istemiyorum, zira kullanmayınca da dirs değişkeni değiştirilmiyor. > Tek tek dirs.remove(x) ile silmek de hoşuma gitmiyor. > > Başka çözüm bilen var mı? Denemeden yazıyorum ama belki çalışıyordur böyle: for root, dirs, files in os.walk(repo_uri): if not dirs in ['.svn', '.git', '.hg']: for fn in files: [...] Bir de .git ve .hg sadece repo kök dizininde olan dizinler, onu da belki sadece kök dizinde kontrol ettirmek bir nebze hızlandırabilir. -- gkmngrgn ~ http://gokmengorgen.net ___ Gelistirici mailing list Gelistirici@pardus.org.tr http://liste.pardus.org.tr/mailman/listinfo/gelistirici
[Gelistirici] Python os.walk'ta dizin filtrelemece
Selamlar, Pisi'deki index kodunu biraz daha hızlandırmak şöyle bir yama yaptım: Index: index.py === --- index.py(revision 37006) +++ index.py(working copy) @@ -92,6 +92,8 @@ deltas = {} for root, dirs, files in os.walk(repo_uri): +dirs[:] = [d for d in dirs if d not in ['.svn', '.git', '.hg']] + for fn in files: if fn.endswith(ctx.const.delta_package_suffix): Fakat burada okunabilirliği azalttığı ve tavsiye edilmediği için [:] hack'ini kullanmak istemiyorum, zira kullanmayınca da dirs değişkeni değiştirilmiyor. Tek tek dirs.remove(x) ile silmek de hoşuma gitmiyor. Başka çözüm bilen var mı? -- Gökçen Eraslan signature.asc Description: This is a digitally signed message part. ___ Gelistirici mailing list Gelistirici@pardus.org.tr http://liste.pardus.org.tr/mailman/listinfo/gelistirici