On Tue, 8 Sep 2015 13:23:35 +0300
Recep KIRMIZI <[email protected]> wrote:

> Merhabalar;
> 
> Elimizde yaklasik 1 yildir gelistirilen bir Python / Django projesi
> bulunuyor. Projenin buyuk bir kismi abstract katmanlardan olusuyor.
> Yeni gelistirilen uygulamalar bu abstractlardan inherit edilip ozel
> methodlarin yeniden yazilmasi durumu var.
> 
> Bizdeki abstraction saglayan uygulamalar yeni yapilan uygulamalar icin
> gidilmesi gereken yolu da gosteriyor. Ornegin X sinifindan turelimis Y
> sinifini yaptiginizda X te bulunan z methodunu kendinize gore
> implemente etmez iseniz hata aliyorsunuz.
> 
> Simdi bu abstract siniflardan olusturulmasi gerken bir suru kucuk
> programciklar var. Bunlari disariya yaptirmak istiyoruz. Freelancer
> olarak isi verecegiz. Bizim yazdigimiz kodu sadece import edip kendi
> interface'ini yazabilsin istiyoruz. Ama acip bizim kodumuza bakamasin.
> 
> Bu tip bir arac kullanan, tavsiye eden var midir?
> Ucretli cozumlerde kabulumuzdur. 

 mnfy dan geçirilmiş kodu pyc olarak vermek bir çözüm olabilir.
https://pypi.python.org/pypi/mnfy . Sadece pyc verirseniz uncompyle2
gibi araçlarla düz metin haline dönüştürülebilir, compile flag larıyla
oynayarak docstring vs. değiştirebilirsiniz ama yeterli olmayabilir.

 Bir Django projeyi tamamen mnfy / pyc yapmayı denemedim ama kabaca;

$ cat deneme.py 
  #!/usr/bin/python
  # -*- coding: utf-8 -*-

  import hede

  hede.hedefunc('test bir iki')

$ cat hede.py

def hedefunc(k):
  print "hedefunc %s" % k

$ python -m compileall hede.py 
$ rm hede.py
$ ll
  total 52K
  drwxr-xr-x  2  users  36K Sep  8 13:39 .
  drwxr-xr-x 55  users 4.0K Sep  8 13:38 ..
  -rw-r--r--  1  users   87 Sep  8 13:37 deneme.py
  -rw-r--r--  1  users  227 Sep  8 13:38 hede.pyc

$ python deneme.py 
  hedefunc test bir iki


-- 
 Onur Küçük                                   Özgür Yazılım A.Ş. ~ >
 <onur.--.-.ozguryazilim.com.tr>      http://www.ozguryazilim.com.tr

_______________________________________________
Linux-programlama mailing list
[email protected]
https://liste.linux.org.tr/mailman/listinfo/linux-programlama
Liste kurallari: http://liste.linux.org.tr/kurallar.php

Cevap