Question
How can I make it so my code works so my command line can look like python3 edfs.py -create /user/file instead of python3 edfs.py -create
How can I make it so my code works so my command line can look like "python3 edfs.py -create /user/file" instead of "python3 edfs.py -create /user file" as it only works with spaces between. I need the path to work without putting space between each one. This should mean the very last argument in the path is the file that is created or used while the rest is the path.
here is the code transcript which is should be pictured above
import sys
import json
import requests
import base64
# Firebase URL
firebase_url = "https://test-80e8c-default-rtdb.firebaseio.com/"
# Function to get the data from Firebase
def get_firebase_data(url):
response = requests.get(url)
data = json.loads(response.text)
return data
# Function to list all files and directories under a given directory
def list_directory(dir_path):
data = get_firebase_data(firebase_url + dir_path + ".json")
if isinstance(data, dict):
for key in data.keys():
if key == "content":
print(dir_path + ": " + data[key])
else:
list_directory(dir_path + "/" + key)
# Function to create a new file with the given content
def create_file(file_path, content):
data = {"content": content}
response = requests.put(firebase_url + file_path + ".json", data=json.dumps(data))
if response.status_code == 200:
print("File created successfully")
elif response.status_code == 400:
print("File already exists")
# Function to create a new directory
def create_directory(dir_path):
data = {}
response = requests.put(firebase_url + dir_path + ".json", data=json.dumps(data))
if response.status_code == 200:
print("Directory created successfully")
elif response.status_code == 400:
print("Directory already exists")
# Function to remove a file or directory
def remove(path):
response = requests.delete(firebase_url + path + ".json")
if response.status_code == 200:
print("File/directory removed successfully")
elif response.status_code == 404:
print("File/directory not found")
# Function to export the file system structure in XML format
def export_xml():
root_data = get_firebase_data(firebase_url + ".json")
print("")
for key in root_data.keys():
print("")
export_directory(key)
print("" + key + ">")
print("")
# Function to export a directory and its contents in XML format
def export_directory(dir_path):
data = get_firebase_data(firebase_url + dir_path + ".json")
if isinstance(data, dict):
for key in data.keys():
if key == "content":
content = data[key]
print("
else:
print("
export_directory(dir_path + "/" + key)
print("")
# Parse the command-line arguments
args = sys.argv
if len(args)
print("Usage: python3 edfs.py
exit()
command = args[1]
path = args[2]
if command == "-create":
if len(args)
print("Usage: python3 edfs.py -create
exit()
content = args[3]
create_file(path, content)
elif command == "-mkdir":
create_directory(path)
elif command == "-rmdir" or command == "-rm":
remove(path)
elif command == "-ls":
list_directory(path)
elif command == "-export":
export_xml()
else:
print("Invalid command: " + command)
print("Usage: python3 edfs.py
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started