Skip to content
This repository was archived by the owner on Jun 3, 2020. It is now read-only.

Commit d4fed76

Browse files
authored
Merge pull request #9 from Oslandia/fix_windows
fix fixing -d option for pgdump
2 parents 91286d2 + f340d4e commit d4fed76

File tree

5 files changed

+93
-74
lines changed

5 files changed

+93
-74
lines changed

pglite/__main__.py

Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,85 @@
1+
from .pglite import check_cluster, init_cluster, reset_cluster, start_cluster, stop_cluster, cluster_params, is_started, create_db, drop_db, list_db, export_db, import_db, die
2+
import sys
3+
4+
usage = """
5+
usage pglite <command> [arguments]
6+
7+
PGLite management tool.
8+
9+
Commands:\n
10+
11+
init [path_to_pg_ctl] Initialize the cluster
12+
13+
reset Reset the cluster
14+
15+
status Print the status of the cluster
16+
17+
start Start the cluster
18+
19+
stop [mode] Stop the cluster (mode=smart|fast|immediate)
20+
21+
create db_name Create a database
22+
23+
drop db_name Drop a database
24+
25+
list List databases
26+
27+
export db_name file Export a database to a dump file
28+
29+
import file db_name Create a new database and import data from the dump file
30+
31+
psql Launch a psql shell on the cluster
32+
"""
33+
34+
if len(sys.argv) < 2 or sys.argv[1] == '--help' or sys.argv[1] == 'help' or sys.argv[1] == '-h':
35+
print(usage)
36+
exit(0)
37+
38+
if sys.argv[1] == "init":
39+
pg_ctl_path = None
40+
if len(sys.argv) > 2:
41+
pg_ctl_path = sys.argv[2]
42+
init_cluster(pg_ctl_path)
43+
elif sys.argv[1] == "reset":
44+
reset_cluster()
45+
elif sys.argv[1] == "status":
46+
print_cluster_status()
47+
elif sys.argv[1] == "start":
48+
check_cluster() or die("Cluster not present")
49+
start_cluster()
50+
elif sys.argv[1] == "stop":
51+
shutdown_mode = "fast"
52+
if len(sys.argv) > 2:
53+
shutdown_mode = sys.argv[2]
54+
check_cluster() or die("Cluster not present")
55+
stop_cluster(shutdown_mode)
56+
elif sys.argv[1] == "list":
57+
check_cluster() or die("Cluster not present")
58+
print("\n".join(list_db()))
59+
elif sys.argv[1] == "create":
60+
check_cluster() or die("Cluster not present")
61+
if len(sys.argv) < 3:
62+
raise RuntimeError("Needed argument: db name")
63+
create_db(sys.argv[2])
64+
elif sys.argv[1] == "drop":
65+
check_cluster() or die("Cluster not present")
66+
if len(sys.argv) < 3:
67+
raise RuntimeError("Needed argument: db name")
68+
drop_db(sys.argv[2])
69+
elif sys.argv[1] == "export":
70+
check_cluster() or die("Cluster not present")
71+
if len(sys.argv) < 4:
72+
raise RuntimeError("Needed arguments: db_name dump_file")
73+
export_db(sys.argv[2], sys.argv[3])
74+
elif sys.argv[1] == "import":
75+
check_cluster() or die("Cluster not present")
76+
if len(sys.argv) < 4:
77+
raise RuntimeError("Needed arguments: dump_file db_name")
78+
import_db(sys.argv[2], sys.argv[3])
79+
elif sys.argv[1] == "psql":
80+
check_cluster() or die("Cluster not present")
81+
psql(sys.argv[2:])
82+
else:
83+
print(usage)
84+
exit(1)
85+

pglite/pglite.py

Lines changed: 0 additions & 71 deletions
Original file line numberDiff line numberDiff line change
@@ -224,74 +224,3 @@ def print_cluster_status():
224224
else:
225225
print("DB \tAbsent")
226226

227-
def print_usage():
228-
print("PGLite management tool. Commands:\n")
229-
print("init [path_to_pg_ctl]\tInitialize the cluster")
230-
print("reset\t\t\tReset the cluster")
231-
print("status\t\t\tPrint the status of the cluster")
232-
print("start\t\t\tStart the cluster")
233-
print("stop [mode]\t\tStop the cluster (mode=smart|fast|immediate)")
234-
print("create db_name\t\tCreate a database")
235-
print("drop db_name\t\tDrop a database")
236-
print("list\t\t\tList databases")
237-
print("export db_name file\tExport a database to a dump file")
238-
print("import file db_name\tCreate a new database and import data from the dump file")
239-
print("psql\t\t\tLaunch a psql shell on the cluster")
240-
241-
242-
def main():
243-
if len(sys.argv) < 2 or sys.argv[1] == '--help' or sys.argv[1] == 'help' or sys.argv[1] == '-h':
244-
print_usage()
245-
exit(0)
246-
247-
if sys.argv[1] == "init":
248-
pg_ctl_path = None
249-
if len(sys.argv) > 2:
250-
pg_ctl_path = sys.argv[2]
251-
init_cluster(pg_ctl_path)
252-
elif sys.argv[1] == "reset":
253-
reset_cluster()
254-
elif sys.argv[1] == "status":
255-
print_cluster_status()
256-
elif sys.argv[1] == "start":
257-
check_cluster() or die("Cluster not present")
258-
start_cluster()
259-
elif sys.argv[1] == "stop":
260-
shutdown_mode = "fast"
261-
if len(sys.argv) > 2:
262-
shutdown_mode = sys.argv[2]
263-
check_cluster() or die("Cluster not present")
264-
stop_cluster(shutdown_mode)
265-
elif sys.argv[1] == "list":
266-
check_cluster() or die("Cluster not present")
267-
print("\n".join(list_db()))
268-
elif sys.argv[1] == "create":
269-
check_cluster() or die("Cluster not present")
270-
if len(sys.argv) < 3:
271-
raise RuntimeError("Needed argument: db name")
272-
create_db(sys.argv[2])
273-
elif sys.argv[1] == "drop":
274-
check_cluster() or die("Cluster not present")
275-
if len(sys.argv) < 3:
276-
raise RuntimeError("Needed argument: db name")
277-
drop_db(sys.argv[2])
278-
elif sys.argv[1] == "export":
279-
check_cluster() or die("Cluster not present")
280-
if len(sys.argv) < 4:
281-
raise RuntimeError("Needed arguments: db_name dump_file")
282-
export_db(sys.argv[2], sys.argv[3])
283-
elif sys.argv[1] == "import":
284-
check_cluster() or die("Cluster not present")
285-
if len(sys.argv) < 4:
286-
raise RuntimeError("Needed arguments: dump_file db_name")
287-
import_db(sys.argv[2], sys.argv[3])
288-
elif sys.argv[1] == "psql":
289-
check_cluster() or die("Cluster not present")
290-
psql(sys.argv[2:])
291-
else:
292-
print_usage()
293-
exit(1)
294-
295-
if __name__ == '__main__':
296-
main()
297-

script/pglite

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
#!/bin/bash
2+
python -m pglite $@

script/pglite.bat

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
python -m pglite %*

setup.py

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
#!/usr/bin/env python
22
# -*- coding: utf-8 -*-
33
from setuptools import setup, find_packages
4+
import sys
45

56
setup(
67
name='pglite',
@@ -29,8 +30,9 @@
2930
extras_require={
3031
"develop": ()
3132
},
33+
scripts=['script/pglite'] if sys.platform.startswith('linux') else ['script/pglite.bat']
3234

33-
entry_points=dict(console_scripts=[
34-
'pglite=pglite.pglite:main',
35-
]),
35+
# entry_points=dict(console_scripts=[
36+
# 'pglite=pglite.pglite:main',
37+
# ]),
3638
)

0 commit comments

Comments
 (0)