viem77: (9May)
[personal profile] viem77
...полезная, я бы сказал, фича. Возможность скачать все аттачи к письму единым zip-архивом. И все бы было хорошо, наверно, но из желания добиться наибольшей совместимости и, видимо, скорости, анализа платформы пользователя не проводится. И имена файлов валятся в архив даже не в CP1251 кодировке, а в CP866 (!). Не, я понимаю, винда поймет, а линуксисты - народ плечистый, на пару с юниксоидами как нибудь распедалят тот факт, что стандартный unzip напрочь не учитывает существования других кодировок, да и стандарт InfoZIP способа их хранения в явном виде, в общем-то, не предусматривает. В общем, пришлось лепить срочный quick-and-dirty kluge для распаковки этих аттачментов:
#!/usr/bin/python

import zipfile, sys

zip = zipfile.ZipFile(sys.argv[1])
files = zip.infolist()
names = zip.namelist()
names = [unicode(name,'CP866'for name in names]
for item in files:
  name = names[files.index(item)]
  print 'Extracting %s... ' % name,
  fobj = zip.open(item)
  data = fobj.read()
  print '%d bytes' % len(data)
  aobj = open(name,'w')
  aobj.write(data)
  aobj.close()
  fobj.close()


















From:
Anonymous( )Anonymous This account has disabled anonymous posting.
OpenID( )OpenID You can comment on this post while signed in with an account from many other sites, once you have confirmed your email address. Sign in using OpenID.
User
Account name:
Password:
If you don't have an account you can create one now.
Subject:
HTML doesn't work in the subject.

Message:

 
Notice: This account is set to log the IP addresses of everyone who comments.
Links will be displayed as unclickable URLs to help prevent spam.

February 2013

S M T W T F S
     12
3456789
1011121314 1516
17181920212223
2425262728  

Style Credit

Expand Cut Tags

No cut tags
Page generated Sep. 22nd, 2017 06:26 am
Powered by Dreamwidth Studios