Skip to main content

The Purple Geckos File Management System (PG-FMS) is an advanced, Python-based file management solution designed to streamline and enhance file handling tasks.

Project description

Purple Geckos File Management System (PG-FMS)

Copyright © 1999 by Karl E. Wiegers. Permission is granted to use, modify, and distribute this document for any purpose, provided that this notice is included in all copies or substantial portions of it.

Table of Contents


Revision History

Name Date Reason for Change
Initial Draft 2024-07-01 Created initial draft
Beta release 2024-09-02 Beta release

Introduction

Purpose

The Purple Geckos File Management System (PG-FMS) is a Python-based solution designed to streamline file management tasks, enhancing efficiency and flexibility for users.

Document Conventions

Standard markdown conventions are used throughout this document for clarity and consistency.

Intended Audience and Reading Suggestions

This document is intended for developers, project managers, testers, and documentation writers involved in the development and deployment of PG-FMS. Start with the overview sections and delve deeper into specific sections as needed.

Product Scope

PG-FMS covers comprehensive file operations including moving, copying, renaming, and deleting files, along with advanced file filtering capabilities based on criteria like file type, size, and date modified.

References


Overall Description

Product Perspective

PG-FMS is a standalone file management system developed to operate across various platforms, ensuring compatibility with different operating environments and system configurations. It leverages custom data structures for efficient file handling and operations.

Product Functions

  • File Operations: Move, copy, rename, and delete files.
  • File Filtering: Filter files based on type, size, and date modified.
  • Batch Operations: Perform operations on multiple files simultaneously.
  • File Parsing: Read and manipulate various file formats including CSV, JSON, XML, and YAML.
  • Text Processing: Search and replace text within files.

User Classes and Characteristics

Users include administrators and end-users seeking efficient file management solutions. Admins have access to all features, while end-users have restricted capabilities based on permissions.

Operating Environment

PG-FMS operates on Python, compatible with Windows, macOS, and Linux platforms. It requires minimal system resources and supports integration with existing software environments. The system is designed to work with Python versions 3.6 and above.

Design and Implementation Constraints

PG-FMS adheres to Python programming standards and integrates with standard libraries for file system operations. It utilizes custom data structures such as Trie, LinkedList, Stack, and Queue for optimized performance in file operations and filtering.

User Documentation

Comprehensive user manuals and online help guides are provided to assist users in installing, configuring, and utilizing PG-FMS effectively.

Assumptions and Dependencies

PG-FMS assumes a stable operating environment with access to standard Python libraries and consistent file system configurations across different platforms.


External Interface Requirements

User Interfaces

PG-FMS utilizes a command-line interface (CLI) for user interactions, providing a straightforward method for executing file management commands and operations.

Hardware Interfaces

PG-FMS interacts with standard hardware components such as storage devices and network interfaces, ensuring seamless data transfer and management.

Software Interfaces

PG-FMS integrates with Python's standard libraries for file handling and system operations, maintaining compatibility with operating system-specific APIs and libraries.

Communications Interfaces

PG-FMS does not require external communication interfaces beyond standard system protocols used for file transfer and data management.


System Features

Feature 1: File Operations

  • Description and Priority: Implement basic file operations including move, copy, rename, and delete files. (High)
  • Stimulus/Response Sequences: User initiates commands via CLI; PG-FMS performs specified file operation and provides confirmation or error messages.
  • Functional Requirements:
    • REQ-1: Allow users to move files between directories.
    • REQ-2: Enable users to copy files with specified source and destination paths.
    • REQ-3: Provide functionality to rename files based on user-provided new names.
    • REQ-4: Support deletion of files with confirmation prompts.

Feature 2: File Filtering

  • Description and Priority: Implement advanced file filtering capabilities based on file attributes such as type, size, and date modified. (Medium)
  • Stimulus/Response Sequences: User specifies filtering criteria via CLI arguments; PG-FMS filters files accordingly and displays results.
  • Functional Requirements:
    • REQ-5: Filter files by file type (e.g., text files, images, documents) using a Trie data structure for efficient matching.
    • REQ-6: Filter files by size range (e.g., greater than 1MB, less than 100KB) using a PriorityQueue for optimal sorting.
    • REQ-7: Filter files based on date modified (e.g., last 7 days, last month) using a Queue for chronological ordering.

Feature 3: Batch Operations

  • Description and Priority: Enable users to perform operations on multiple files simultaneously. (High)
  • Stimulus/Response Sequences: User specifies operation and multiple file paths; PG-FMS executes the operation on all specified files.
  • Functional Requirements:
    • REQ-8: Support batch move, copy, and delete operations.
    • REQ-9: Implement error handling for batch operations to continue processing remaining files if an error occurs.
    • REQ-10: Provide summary report of batch operation results.

Feature 4: File Parsing

  • Description and Priority: Add capabilities to read and manipulate various file formats. (Medium)
  • Stimulus/Response Sequences: User specifies file and desired parsing operation; PG-FMS reads the file and performs the requested operation.
  • Functional Requirements:
    • REQ-11: Support reading and writing CSV files.
    • REQ-12: Enable JSON file parsing and manipulation.
    • REQ-13: Implement XML file reading and writing capabilities.
    • REQ-14: Add support for YAML file processing.

Feature 5: Text Processing

  • Description and Priority: Provide text search and replace functionality within files. (Low)
  • Stimulus/Response Sequences: User specifies search pattern and replacement text; PG-FMS performs the operation on the specified file(s).
  • Functional Requirements:
    • REQ-15: Implement text search functionality with support for regular expressions.
    • REQ-16: Enable text replacement within files.
    • REQ-17: Provide options for case-sensitive and whole word matching in text operations.

Other Nonfunctional Requirements

Performance Requirements

  • PG-FMS should execute file operations efficiently, with response times under one second for typical file management tasks.
  • File filtering operations should complete within reasonable timeframes, even with large datasets, leveraging optimized data structures like Trie and PriorityQueue.
  • Batch operations should show progress indicators for long-running tasks.

Safety Requirements

  • PG-FMS should prevent accidental file deletions by requiring user confirmation before executing delete operations.
  • Error handling mechanisms should ensure that critical file operations do not result in data loss or corruption.

Security Requirements

  • PG-FMS must implement user authentication and authorization mechanisms to restrict access based on user roles and permissions.
  • File operations should comply with security protocols and standards to prevent unauthorized access or manipulation of sensitive data.

Software Quality Attributes

  • PG-FMS prioritizes reliability and robustness, ensuring consistent performance across different operating systems and environments.
  • The system should be maintainable, allowing for easy updates and enhancements without disrupting existing functionality.

Business Rules

  • Admin users have full access to all file management features and settings.
  • End-users may have restricted access based on their assigned roles and permissions within the system.

Other Requirements

  • Implement comprehensive error handling and logging system.
  • Develop a plugin architecture for extending functionality.
  • Create a configuration system for customizing default behaviors.

Appendix A: Glossary

  • CLI: Command-line interface
  • API: Application programming interface
  • Python: High-level programming language

Appendix B: Analysis Models

  • TBD

Appendix C: To Be Determined List

  • TBD

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pg_fms-0.2.1.tar.gz (8.3 MB view details)

Uploaded Source

Built Distribution

pg_fms-0.2.1-py3-none-any.whl (8.3 MB view details)

Uploaded Python 3

File details

Details for the file pg_fms-0.2.1.tar.gz.

File metadata

  • Download URL: pg_fms-0.2.1.tar.gz
  • Upload date:
  • Size: 8.3 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.3

File hashes

Hashes for pg_fms-0.2.1.tar.gz
Algorithm Hash digest
SHA256 3f7ae04f202a10a0d66cac313ca70a8794bb9378e2758df0efb2f64f062c972a
MD5 b7c3d9a862e2ed7eea18e00286aa4ebb
BLAKE2b-256 7f36145e8f5bf5784d424daa6f301637b5c4cd0fdf9fe2b8a880980666dc9cff

See more details on using hashes here.

File details

Details for the file pg_fms-0.2.1-py3-none-any.whl.

File metadata

  • Download URL: pg_fms-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 8.3 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.3

File hashes

Hashes for pg_fms-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 bfc66979565ab115402c0c8d6cbca26773b1c6264cd93a43f21c1d47b09d0e7d
MD5 3ec4bdb2e95600485703d0bde8d2e3c5
BLAKE2b-256 ad5b36efee9b461058e519bde6d793e1e99a2304500fb15e574c65ff70a67ba1

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page