@@ -202,44 +202,72 @@ def delete_device(device_name):
202202
203203
204204def main ():
205- parser = argparse .ArgumentParser (description = "Device Management CLI" )
206-
207- subparsers = parser .add_subparsers (dest = "command" , help = "Available commands" )
208-
209- # List Devices
210- list_parser = subparsers .add_parser ("list" , help = "List all devices" )
211-
212- # Reserve Device
213- reserve_parser = subparsers .add_parser ("reserve" , help = "Reserve a device" )
214- reserve_parser .add_argument ("device" , help = "Name of the device to reserve" )
215- # Set the default value for --user to the current username
216- reserve_parser .add_argument ("--user" , default = os .getlogin (), help = "Username of the user reserving the device" )
217-
218- # Release Device
219- release_parser = subparsers .add_parser ("release" , help = "Release a reserved device" )
220- release_parser .add_argument ("device" , help = "Name of the device to release" )
221-
222- # Add Device
223- add_parser = subparsers .add_parser ("add" , help = "Add a new device" )
224- add_parser .add_argument ("device" , help = "Name of the new device" )
225- add_parser .add_argument ("--model" , required = True , help = "Model of the new device" )
226-
227- # Set Device to Offline
228- offline_parser = subparsers .add_parser ("offline" , help = "Set a device to offline mode" )
229- offline_parser .add_argument ("device" , help = "Name of the device to set to offline" )
230-
231- # Return Device from Offline
232- online_parser = subparsers .add_parser ("online" , help = "Set a device back to free" )
233- online_parser .add_argument ("device" , help = "Name of the device to set to available" )
234-
235- # Delete Device
236- delete_parser = subparsers .add_parser ("delete" , help = "Delete a device" )
237- delete_parser .add_argument ("device" , help = "Name of the device to delete" )
238-
239- config_parser = subparsers .add_parser ('configure' , help = 'Configure server address and port' )
240- config_parser .add_argument ('--protocol' , required = True , help = 'Server protocol (http or https)' )
241- config_parser .add_argument ('--address' , required = True , help = 'Server address' )
242- config_parser .add_argument ('--port' , required = True , help = 'Server port' )
205+ parser = argparse .ArgumentParser (
206+ description = "Device Management CLI: A tool for managing, reserving, and monitoring devices."
207+ )
208+ subparsers = parser .add_subparsers (
209+ dest = "command" ,
210+ help = "Available commands. Use '<command> --help' for more information on each command."
211+ )
212+
213+ list_parser = subparsers .add_parser (
214+ "list" ,
215+ help = "Lists all available and reserved devices." ,
216+ usage = "list"
217+ )
218+
219+ reserve_parser = subparsers .add_parser (
220+ "reserve" ,
221+ help = "Reserve a device for use." ,
222+ usage = "reserve <device> [--user]" ,
223+ )
224+ reserve_parser .add_argument ("device" )
225+ reserve_parser .add_argument ("--user" , default = os .getlogin ())
226+
227+ release_parser = subparsers .add_parser (
228+ "release" ,
229+ help = "Release a previously reserved device." ,
230+ usage = "release <device>"
231+ )
232+ release_parser .add_argument ("device" )
233+
234+ add_parser = subparsers .add_parser (
235+ "add" ,
236+ help = "Add a new device to the management system." ,
237+ usage = "add <device> --model"
238+ )
239+ add_parser .add_argument ("device" )
240+ add_parser .add_argument ("--model" , required = True )
241+
242+ offline_parser = subparsers .add_parser (
243+ "offline" ,
244+ help = "offline <device>. Set a device to offline mode." ,
245+ usage = "offline <device>"
246+ )
247+ offline_parser .add_argument ("device" )
248+
249+ online_parser = subparsers .add_parser (
250+ "online" ,
251+ help = "Set an offline device back to available mode." ,
252+ usage = "online <device>"
253+ )
254+ online_parser .add_argument ("device" )
255+
256+ delete_parser = subparsers .add_parser (
257+ "delete" ,
258+ help = "Permanently remove a device from the management system." ,
259+ usage = "delete <device>"
260+ )
261+ delete_parser .add_argument ("device" )
262+
263+ config_parser = subparsers .add_parser (
264+ 'configure' ,
265+ help = 'Configure the server protocol, address, and port. Must be run before using other commands.' ,
266+ usage = 'configure --protocol --address --port'
267+ )
268+ config_parser .add_argument ('--protocol' , required = True )
269+ config_parser .add_argument ('--address' , required = True )
270+ config_parser .add_argument ('--port' , required = True )
243271
244272 args = parser .parse_args ()
245273
0 commit comments