- cmd, args = 'jar', (['cvMf', archive] + list(chain.from_iterable(('-C', path, f) for f in files)))
+ # zip doesn't support unicode file names
+ for arg in files:
+ try:
+ arg.encode('ascii')
+ except UnicodeEncodeError as e:
+ raise ValueError(u'Unsupported character `{}` in `{}`!'.format(arg[e.start:e.start + 1], arg))
+
+ cmd, args = 'jar', (['cMf', archive] + list(chain.from_iterable(('-C', path, f) for f in files)))