Finally I managed this solution for restoring the backups generated by pg_dump (not pg_dumpall yet):
if ext == 'gz':
command = 'gunzip -c {} -k | pg_restore -U {} -h {} -p {}' \
'-d {}'.format(file, user, server, port, new_dbname)
elif ext == 'bz2':
command = 'bunzip2 -c {} -k | pg_restore -U {} -h {} -p {}' \
'-d {}'.format(file, user, server, port, new_dbname)
elif ext == 'zip':
command = 'unzip -p {} | pg_restore -U {} -h {} -p {} ' \
'-d {}'.format(file, user, server, port, new_dbname)
else:
command = 'pg_restore -U {} -h {} -p {} -d {} {}'.format(user,
server, port, new_dbname, file)