mirror of https://github.com/citusdata/citus.git
60 lines
1.2 KiB
Python
60 lines
1.2 KiB
Python
import subprocess
|
|
import os
|
|
|
|
|
|
USER = "postgres"
|
|
|
|
|
|
def psql(pg_path, port, command):
|
|
return subprocess.run(
|
|
[
|
|
os.path.join(pg_path, "psql"),
|
|
"-U",
|
|
USER,
|
|
"-p",
|
|
str(port),
|
|
"-c",
|
|
command,
|
|
"-P",
|
|
"pager=off",
|
|
"--no-psqlrc",
|
|
],
|
|
check=True,
|
|
)
|
|
|
|
|
|
def psql_capture(pg_path, port, command):
|
|
return subprocess.check_output(
|
|
[
|
|
os.path.join(pg_path, "psql"),
|
|
"-U",
|
|
USER,
|
|
"-p",
|
|
str(port),
|
|
"-c",
|
|
command,
|
|
"-P",
|
|
"pager=off",
|
|
"--no-psqlrc",
|
|
"--tuples-only",
|
|
],
|
|
)
|
|
|
|
|
|
# Taken from https://stackoverflow.com/questions/431684/how-do-i-change-directory-cd-in-python/13197763#13197763
|
|
|
|
|
|
class cd(object):
|
|
"""Context manager for changing the current working directory"""
|
|
|
|
def __init__(self, newPath):
|
|
self.newPath = os.path.expanduser(newPath)
|
|
|
|
def __enter__(self):
|
|
self.savedPath = os.getcwd()
|
|
print(self.savedPath)
|
|
os.chdir(self.newPath)
|
|
|
|
def __exit__(self, etype, value, traceback):
|
|
os.chdir(self.savedPath)
|