diff --git a/manifests/media/jdownloader.yaml b/manifests/media/jdownloader.yaml index 08d41e5..b3a4c27 100644 --- a/manifests/media/jdownloader.yaml +++ b/manifests/media/jdownloader.yaml @@ -169,8 +169,14 @@ spec: package_name = basename.split('.', 1)[0] or 'subyshare' fname = f'{WATCH_DIR}/{int(time.time()*1000)}.crawljob' + lines = [f'text={url}', 'autoStart=TRUE', 'autoConfirm=TRUE', f'packageName={package_name}'] + password = params.get('password', [''])[0] + if password: + # crawljob format requires literal backslashes doubled + escaped_pw = password.replace('\\', '\\\\') + lines.append(f'downloadPassword={escaped_pw}') with open(fname, 'w') as f: - f.write(f'text={url}\nautoStart=TRUE\nautoConfirm=TRUE\npackageName={package_name}\n') + f.write('\n'.join(lines) + '\n') self.send_response(200); self.end_headers() self.wfile.write(b'Ok.') def log_message(self, *a): pass