Re: Python Spyne ile kaydedilen zip dosyasında bozulma sorunu

23 views
Skip to first unread message

Burak Yiğit Kaya

unread,
Feb 22, 2019, 9:20:46 AM2/22/19
to python-...@googlegroups.com
Aldığın veri içinde data_hash de var. Yazdığın datanın hashini alıp ikisi aynı değilse hatalı yazdığını görebilirsin.

Benim tahminim ya encoding ya da post body işleme sorunu var.

On Thu, 21 Feb 2019 at 14:58, Emrah SAKARYA <emrhs...@gmail.com> wrote:
Merhaba arkadaşlar, umarım yardımcı olacak birileri çıkar.
Spyle ile kaydedilen xmk eklentisinde ( zip dosyası )

arşivden cıkarmak istediğimde veya tekrar python la okumak istediğimde aşağıdaki hatayı alıyoum

Archive:  54F34B9C-4B7F-49E3-91BD-3DE438A6919E.zip
warning [54F34B9C-4B7F-49E3-91BD-3DE438A6919E.zip]:  4 extra bytes at beginning or within zipfile
  (attempting to process anyway)
file #1:  bad zipfile offset (local header sig):  4
  (attempting to re-compensate)
  inflating: 54F34B9C-4B7F-49E3-91BD-3DE438A6919E.xml
  error:  invalid compressed data to inflate

Şöyleki gelen düşük boyutlu dosyalarda(2KB) problem yok ama boyut 35-40 KB arasında olunca böyle bi sorun cıkıyor.
Spyne tarafında ve hemen her türlü encode ile denedim ascii , iso-8859-1 , latin-1 sonuc hep aynı

Kodun bir parçası:

@rpc(Unicode(sub_name="fileName"), ByteArray(sub_name='binaryData'), ByteArray(sub_name="hash"), _returns=documentResponse) def documentRequest(ctx, file_name, file_data, data_hash): incoming_invoice_dir = os.getcwd() path = os.path.join(incoming_invoice_dir, file_name) f = open(path, 'wb') for data in file_data: f.write(data) f.close()

python un 3.5-3.6-3.7 versiyonlarında denedim
hemen her türlü save data yönlemlerini denedim.

python un 2.7 versiyonun şöyle bir bug belirtilmiş zaten v3 lerde düzeltilmiş
https://bugs.python.org/issue29094

firki olan varsa çok makbule geçer. teşekkürler

--
Bu iletiyi Google Grupları'ndaki "Python Istanbul" grubuna abone olduğunuz için aldınız.
Bu grubun aboneliğinden çıkmak ve bu gruptan artık e-posta almamak için python-istanb...@googlegroups.com adresine e-posta gönderin.
Daha fazla seçenek için https://groups.google.com/d/optout adresini ziyaret edin.
--
--BYK

Emrah SAKARYA

unread,
Feb 22, 2019, 9:53:03 AM2/22/19
to Python Istanbul
bahsettiğiniz gibi encoding problemi. spyne harici http route ile gelen datayı ascii veya utf-8 le decode ettiğimde " cant decode part " hatası verdi.  spyne ilk response yi aldığı anda ( nerden aldığını bilmiyorum) sanırım ascii olarak decode ediyor sorun ordan kaynaklanıyor gibi geldi ama bilmiyorum. benim düzeltebileceğim bi konu değil:) artık hobi olarak bakıyorum konuya, spyne githubda hata bildirimini yaptım. teşekkürler
Reply all
Reply to author
Forward
0 new messages