Improvise the pgsql driver to keep the utility names used for different
operation like backup, restore, etc within it. Also: * improvised the color combination of the background process logger. * Removed an unnecessary print statement from the get_storage_directory(..) function, also return None if STORAGE_DIR is set to None.pull/3/head
parent
5348f6e96a
commit
b22d73ec46
|
|
@ -7,13 +7,11 @@
|
|||
#
|
||||
##########################################################################
|
||||
|
||||
import six
|
||||
from abc import ABCMeta, abstractmethod, abstractproperty
|
||||
from flask import render_template
|
||||
from flask.ext.babel import gettext
|
||||
|
||||
|
||||
class ServerType:
|
||||
class ServerType(object):
|
||||
"""
|
||||
Server Type
|
||||
|
||||
|
|
@ -72,5 +70,17 @@ class ServerType:
|
|||
reverse=True
|
||||
)
|
||||
|
||||
@classmethod
|
||||
def utility(cls, operation, sverion):
|
||||
if operation == 'backup':
|
||||
return 'pg_dump'
|
||||
if operation == 'backup_server':
|
||||
return 'pg_dumpall'
|
||||
if operation == 'restore':
|
||||
return 'pg_restore'
|
||||
|
||||
return None
|
||||
|
||||
|
||||
# Default Server Type
|
||||
ServerType('pg', gettext("PostgreSQL"), -1)
|
||||
|
|
|
|||
|
|
@ -85,24 +85,24 @@
|
|||
|
||||
.pg-panel-content div.bg-process-watcher.col-xs-12 {
|
||||
height: 100%;
|
||||
padding: 0px;
|
||||
padding: 0px 0px 0px 0px;
|
||||
WebkitTransition: all 1s;
|
||||
transition: all 1s;
|
||||
background-color: rgb(255, 239, 217);
|
||||
}
|
||||
|
||||
ol.pg-bg-process-logs {
|
||||
padding: 15px 15px 15px 60px;
|
||||
padding: 5px 10px 5px 60px;
|
||||
height: 100%;
|
||||
overflow: auto;
|
||||
width: 100%;
|
||||
background: #000;
|
||||
background: rgb(255, 239, 217);
|
||||
}
|
||||
|
||||
.pg-bg-res-out, .pg-bg-res-err {
|
||||
background-color: #000;
|
||||
background-color: rgb(255, 239, 217);
|
||||
padding-left: 10px;
|
||||
white-space: pre-wrap;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.pg-bg-res-out {
|
||||
|
|
@ -117,6 +117,7 @@ ol.pg-bg-process-logs {
|
|||
padding: 10px 15px;
|
||||
min-height: 70px;
|
||||
color: #000;
|
||||
background-color: whitesmoke;
|
||||
}
|
||||
|
||||
.pg-panel-content .bg-process-stats p{
|
||||
|
|
@ -131,7 +132,7 @@ ol.pg-bg-process-logs {
|
|||
padding: 10px 15px;
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
background-color: white;
|
||||
background-color: whitesmoke;
|
||||
}
|
||||
|
||||
.pg-panel-content .bg-process-footer p {
|
||||
|
|
|
|||
|
|
@ -335,6 +335,7 @@ WHERE
|
|||
for st in kwargs['server_types']:
|
||||
if st.instanceOf(mgr.ver):
|
||||
mgr.server_type = st.stype
|
||||
mgr.server_cls = st
|
||||
break
|
||||
|
||||
mgr.update_session()
|
||||
|
|
@ -1017,6 +1018,7 @@ class ServerManager(object):
|
|||
self.ver = None
|
||||
self.sversion = None
|
||||
self.server_type = None
|
||||
self.server_cls = None
|
||||
self.password = None
|
||||
|
||||
self.sid = server.id
|
||||
|
|
@ -1188,6 +1190,7 @@ WHERE db.oid = {0}""".format(did))
|
|||
self.ver = None
|
||||
self.sversion = None
|
||||
self.server_type = None
|
||||
self.server_cls = None
|
||||
self.password = None
|
||||
|
||||
self.update_session()
|
||||
|
|
@ -1203,6 +1206,7 @@ WHERE db.oid = {0}""".format(did))
|
|||
self.ver = None
|
||||
self.sversion = None
|
||||
self.server_type = None
|
||||
self.server_cls = None
|
||||
self.password = None
|
||||
|
||||
self.update_session()
|
||||
|
|
@ -1221,6 +1225,18 @@ WHERE db.oid = {0}""".format(did))
|
|||
managers[self.sid] = updated_mgr
|
||||
session['__pgsql_server_managers'] = managers
|
||||
|
||||
def utility(self, operation):
|
||||
"""
|
||||
utility(operation)
|
||||
|
||||
Returns: name of the utility which used for the operation
|
||||
"""
|
||||
if self.server_cls is not None:
|
||||
return self.server_cls.utility(operation, self.sversion)
|
||||
|
||||
return None
|
||||
|
||||
|
||||
|
||||
class Driver(BaseDriver):
|
||||
"""
|
||||
|
|
|
|||
|
|
@ -28,12 +28,15 @@ def get_storage_directory():
|
|||
), 'storage'
|
||||
)
|
||||
)
|
||||
|
||||
if storage_dir is None:
|
||||
return None
|
||||
|
||||
username = current_user.email.split('@')[0]
|
||||
if len(username) == 0 or username[0].isdigit():
|
||||
username = 'pga_user_' + username
|
||||
|
||||
storage_dir = os.path.join(storage_dir, username)
|
||||
print(storage_dir)
|
||||
|
||||
if not os.path.exists(storage_dir):
|
||||
os.makedirs(storage_dir, int('700', 8))
|
||||
|
|
@ -55,7 +58,7 @@ def init_app(app):
|
|||
)
|
||||
)
|
||||
|
||||
if not os.path.isdir(storage_dir):
|
||||
if storage_dir and not os.path.isdir(storage_dir):
|
||||
if os.path.exists(storage_dir):
|
||||
raise Exception(
|
||||
'The value specified for as the storage directory is not a directory!'
|
||||
|
|
|
|||
Loading…
Reference in New Issue