Skip to content
Snippets Groups Projects
Commit 94a2fb40 authored by anthony.boulmier's avatar anthony.boulmier
Browse files

correct way to check for cmd

parent 91f13312
No related branches found
No related tags found
No related merge requests found
No preview for this file type
No preview for this file type
...@@ -9,21 +9,18 @@ SERVER_URL = 'http://127.0.0.1:8123' ...@@ -9,21 +9,18 @@ SERVER_URL = 'http://127.0.0.1:8123'
if __name__ == '__main__': if __name__ == '__main__':
parser = argparse.ArgumentParser(description='Simple SOAP FTP client') parser = argparse.ArgumentParser(description='Simple SOAP FTP client')
subparsers = parser.add_subparsers(help='sub-command help') subparsers = parser.add_subparsers(help='sub-command help', dest='which')
parser_list = subparsers.add_parser('list',help='list directory') parser_list = subparsers.add_parser('list',help='list directory')
parser_list.add_argument('directory', type=str) parser_list.add_argument('directory', type=str)
parser_list.set_defaults(which='list')
parser_get = subparsers.add_parser('get', help='get file') parser_get = subparsers.add_parser('get', help='get file')
parser_get.add_argument('file', type=str) parser_get.add_argument('file', type=str)
parser_get.add_argument('destination', type=str) parser_get.add_argument('destination', type=str)
parser_get.set_defaults(which='get')
parser_put = subparsers.add_parser('put', help='put file in ftp') parser_put = subparsers.add_parser('put', help='put file in ftp')
parser_put.add_argument('source', type=str) parser_put.add_argument('source', type=str)
parser_put.add_argument('destination', type=str) parser_put.add_argument('destination', type=str)
parser_put.set_defaults(which='put')
args = parser.parse_args() args = parser.parse_args()
server = SOAPpy.SOAPProxy(SERVER_URL) server = SOAPpy.SOAPProxy(SERVER_URL)
......
import SOAPpy
import sys
import argparse
from os.path import expanduser, join, abspath
from os import listdir
main_directory = None
def list(relative_directory):
global main_directory
dirlist = listdir(join(main_directory, relative_directory))
return (main_directory, dirlist)
def get(relative_path):
global main_directory
with open(join(main_directory,relative_path), 'r') as f:
payload = f.read()
return (main_directory, relative_path, payload)
def put(relative_path, payload):
global main_directory
try:
with open(join(main_directory, relative_path), 'w+') as f:
f.write(payload)
except:
return 'Error while writing file :('
return 'File added successfuly!'
def start_ftp(**kwargs):
global main_directory
main_directory = kwargs.get('directory')
server = SOAPpy.SOAPServer(('0.0.0.0', kwargs.get('port')))
server.registerFunction(list)
server.registerFunction(get)
server.registerFunction(put)
server.serve_forever()
if __name__ == '__main__':
parser = argparse.ArgumentParser(description='Simple FTP server using SOAP')
parser.add_argument('-p', '--port', type=int, required=True, help='Listening port')
parser.add_argument('-d', '--directory', type=str, required=True, help='Home directory of the FTP')
args = parser.parse_args()
start_ftp(port=args.port, directory=abspath(args.directory))
test file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment