|
|
|
@ -66,7 +66,7 @@ def _guess_mime(data):
|
|
|
|
|
p.stdin.close() |
|
|
|
|
p.wait() |
|
|
|
|
if p.returncode == 0: |
|
|
|
|
return p.stdout.read().decode().strip() |
|
|
|
|
return p.stdout.read().decode('utf-8', 'replace').strip() |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def guess_mime(cnt): |
|
|
|
@ -107,8 +107,8 @@ def extract(cnt, dest=None):
|
|
|
|
|
p.stdin.write(data.encode() if isinstance(data, str) else data) |
|
|
|
|
p.stdin.close() |
|
|
|
|
p.wait() |
|
|
|
|
err = p.stdout.read().decode() |
|
|
|
|
err += p.stderr.read().decode() |
|
|
|
|
err = p.stdout.read().decode('utf-8', 'replace') |
|
|
|
|
err += p.stderr.read().decode('utf-8', 'replace') |
|
|
|
|
if p.returncode == 0: |
|
|
|
|
if dest is not None: |
|
|
|
|
nsub = len([x for x in os.listdir(odest) if x.find(os.path.basename(ldest) + ".") == 0]) + 1 |
|
|
|
@ -124,6 +124,8 @@ def extract(cnt, dest=None):
|
|
|
|
|
shutil.move(os.path.join(temp, os.listdir(temp)[0]), dest) |
|
|
|
|
else: |
|
|
|
|
shutil.move(temp, dest) |
|
|
|
|
# Update modification time to reflect submission timestamp |
|
|
|
|
os.utime(dest) |
|
|
|
|
yield MailTest("Archive successfully extracted.", details=err) |
|
|
|
|
yield dest |
|
|
|
|
else: |
|
|
|
|