@@ -89,61 +89,55 @@ def build_namespace_path(namespace=configs.default_namespace()):
8989 return '%s/%s' % (configs .backups_storage (), namespace )
9090
9191
92- def build_database_backup_path (backup_id , database ,
93- namespace = configs .default_namespace (), external_backup_storage = None ):
94- if configs .get_encryption ():
95- return '%s/%s_enc.dump' % (
96- build_backup_path (backup_id , namespace , external_backup_storage ), database )
97- else :
98- return '%s/%s.dump' % (
99- build_backup_path (backup_id , namespace , external_backup_storage ), database )
100-
92+ def build_database_backup_path (backup_id , database ,
93+ namespace = configs .default_namespace (), external_backup_storage = None , blob_path = None ):
94+ ext = '_enc.dump' if configs .get_encryption () else '.dump'
95+ return '%s/%s%s' % (
96+ build_backup_path (backup_id , namespace , external_backup_storage , blob_path ), database , ext )
10197
10298def build_roles_backup_path (backup_id , database ,
103- namespace = configs .default_namespace (), external_backup_storage = None ):
104- if configs .get_encryption ():
105- return "%s/%s.roles_enc.sql" % (
106- build_backup_path (backup_id , namespace , external_backup_storage ), database )
107- else :
108- return "%s/%s.roles.sql" % (
109- build_backup_path (backup_id , namespace , external_backup_storage ), database )
110-
99+ namespace = configs .default_namespace (), external_backup_storage = None , blob_path = None ):
100+ ext = 'roles_enc.sql' if configs .get_encryption () else 'roles.sql'
101+ return "%s/%s.%s" % (
102+ build_backup_path (backup_id , namespace , external_backup_storage , blob_path ), database , ext )
111103
112104def build_database_backup_full_path (backup_id , database , storage_root ,
113105 namespace = configs .default_namespace (),
114- ):
115- if configs .get_encryption ():
116- return '%s/%s/%s/%s_enc.dump' % (
117- storage_root , namespace , backup_id , database )
106+ blob_path = None ):
107+ ext = '_enc.dump' if configs .get_encryption () else '.dump'
108+ if blob_path is not None :
109+ return '%s/%s/%s%s' % ( blob_path , backup_id , database , ext )
118110 else :
119- return '%s/%s/%s/%s.dump' % (
120- storage_root , namespace , backup_id , database )
111+ return '%s/%s/%s/%s%s' % (storage_root , namespace , backup_id , database , ext )
121112
122113
123114def build_database_restore_report_path (backup_id , database , restore_tracking_id , namespace = configs .default_namespace ()):
124115 return '%s/%s.%s.report' % (build_backup_path (backup_id , namespace ), database , restore_tracking_id )
125116
126117
127- def build_backup_path (backup_id , namespace = configs .default_namespace (), external_backup_storage = None ):
128- return '%s/%s/%s' % (configs .backups_storage () if external_backup_storage is None else external_backup_storage ,
129- namespace , backup_id )
118+ def build_backup_path (backup_id , namespace = configs .default_namespace (), external_backup_storage = None , blob_path = None ):
119+ if blob_path is not None :
120+ return '%s/%s' % (blob_path , backup_id )
121+ else :
122+ return '%s/%s/%s' % (configs .backups_storage () if external_backup_storage is None else external_backup_storage ,
123+ namespace , backup_id )
130124
131125
132126def build_external_backup_root (external_backup_path ):
133127 return '%s/%s' % (os .getenv ("EXTERNAL_STORAGE_ROOT" ), external_backup_path )
134128
135129
136- def build_backup_status_file_path (backup_id , namespace = configs .default_namespace (), external_backup_storage = None ):
137- return '%s/status.json' % build_backup_path (backup_id , namespace , external_backup_storage )
130+ def build_backup_status_file_path (backup_id , namespace = configs .default_namespace (), external_backup_storage = None , blob_path = None ):
131+ return '%s/status.json' % build_backup_path (backup_id , namespace , external_backup_storage , blob_path )
138132
139133
140134def build_restore_status_file_path (backup_id , tracking_id , namespace = configs .default_namespace (),
141- external_backup_storage = None ):
142- return '%s/%s.json' % (build_backup_path (backup_id , namespace , external_backup_storage ), tracking_id )
135+ external_backup_storage = None , blob_path = None ):
136+ return '%s/%s.json' % (build_backup_path (backup_id , namespace , external_backup_storage , blob_path ), tracking_id )
143137
144138
145- def get_key_name_by_backup_id (backup_id , namespace , external_backup_storage = None ):
146- status_path = build_backup_status_file_path (backup_id , namespace , external_backup_storage )
139+ def get_key_name_by_backup_id (backup_id , namespace , external_backup_storage = None , blob_path = None ):
140+ status_path = build_backup_status_file_path (backup_id , namespace , external_backup_storage , blob_path )
147141 with open (status_path ) as f :
148142 data = json .load (f )
149143 return data .get ("key_name" )
0 commit comments