diff --git a/helper.py b/helper.py new file mode 100644 index 0000000..a74ad2f --- /dev/null +++ b/helper.py @@ -0,0 +1,4 @@ +# Helper functions used by differet classes + +def escape_file_path(file_path): + return file_path.replace(" ", "\ ").replace("(", "\(").replace(")", "\)").replace("&", "\&") diff --git a/synology.py b/synology.py index 4efcf41..3d47d51 100755 --- a/synology.py +++ b/synology.py @@ -4,6 +4,7 @@ import psycopg2 import tempfile import shutil import os +import helper def connect_db(db_host, db_user, db_passwd): return psycopg2.connect( @@ -38,7 +39,7 @@ def fetch_files(remotehost, lib_path, pictures): for picture in pictures: remotefile = '\ '.join('/'.join([lib_path, picture[0], picture[1]]).split()) localfile = '/'.join([dirpath, picture[1]]) - escaped_remotefile = remotefile.replace(" ", "\ ").replace("(", "\(").replace(")", "\)").replace("&", "\&") + escaped_remotefile = helper.escape_file_path(remotefile) cmd = 'scp "' + remotehost + ':' + escaped_remotefile + '" "' + localfile + '"' os.system(cmd) return dirpath