[SOLVED] AdOS Assignment #1 – File Explorer

$25

File Name: AdOS_Assignment_#1_-_File_Explorer.zip
File Size: 320.28 KB

SKU: [Solved] AdOS Assignment #1 – File Explorer Category: Tag:
5/5 - (1 vote)

Build a fully functional File Explorer Application, albeit with a restricted feature set

Prerequisites:

  1. Basic usage and architectural know-how of file explorer features
  2. Preliminaries such as C/C++ code compilation, execution & debugging

Requirements:

Your File Explorer should work in two modes

  1. Normal mode (default mode) used to explore the current directory and navigate the filesystem
  2. Command mode used to enter shell commands

The root of your application should be the directory where the application was started.

The application should display data starting from the top-left corner of the terminal window, line-by-line. You should be able to handle text rendering if the terminal window is resized. The last line of the display screen is to be used as a status bar.

Normal mode:

Normal mode is the default mode of your application. It should have the following functionalities

  1. Display a list of directories and files in the current folder
    1. Every file in the directory should be displayed on a new line with the following attributes for each file
      1. File Name
      2. File Size
  • Ownership (user and group) and Permissions iv. Last modified

All of this should be displayed in human readable format

  1. The file explorer should show entries . and .. for current and parent directory respectively
  2. The file explorer should handle scrolling in the case of vertical overflow using keys k & l
  3. User should be able to navigate up and down in the file list using the corresponding up and down arrow keys
  1. Open directories and files

When enter key is pressed

  1. Directory Clear the screen and navigate into the directory and show the directory contents as specified in point 1
  2. File Open the file in vi editor
  1. Traversal
    1. Go back Left arrow key should take the user to the previously visited directory
    2. Go forward Right arrow key should take the user to the next directory
    3. Up one level Backspace key should take the user up one level
    4. Home h key should take the user to the home folder (the folder where the application was started)

Command Mode:

The application should enter the Command button whenever : (colon) key is pressed. In the command mode, the user should be able to enter different commands. All commands appear in the status bar at the bottom.

  1. Copy copy <source_file(s)> <destination_directory> Move move <source_file(s)> <destination_directory>

Rename rename <old_filename> <new_filename>

  1. Eg copy foo.txt bar.txt baz.mp4 ~/foobar move foo.txt bar.txt baz.mp4 ~/foobar rename foo.txt bar.txt
  2. Assume that the destination directory exists and you have write permissions.
  3. Copying/Moving directories should also be implemented
  4. The file ownership and permissions should remain intact
  1. Create File create_file <file_name> <destination_path>

Create Directory create_dir <dir_name> <destination_path>

  1. Eg create_file foo.txt ~/foobar create_file foo.txt . create_dir foo ~/foobar
  1. Delete File delete_file <file_path> Delete Directory delete_dir <dir_path>

The file/dir path should be relative to the root from where the application is run

  1. Goto goto <location>
    1. Eg goto <directory_path>
    2. Absolute path wrt application root will be given
  1. Search search <file_name> or search <directory_name>
    1. Search for a given file or folder under the current directory recursively
    2. Output should be True or False depending on whether the file or folder exists
  2. On pressing ESC key, the application should go back to Normal Mode

 

Reviews

There are no reviews yet.

Only logged in customers who have purchased this product may leave a review.

Shopping Cart
[SOLVED] AdOS Assignment #1 – File Explorer
$25