Skip to content

OleksandrGnatiuk/TeamProject_PyCore

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

80 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Command project by OTA Team

Personal assistant

This project represents the implementation of a personal assistant with a command line interface (CLI). The project is installed as a Python package and can be called anywhere in the system by the appropriate command after installation;

This simple python app will help you to manage: your address book , your notes , your list of task (with the responsible persons and deadlines), sort files on your computer , have rate of currency (used API website of NBU).

This project was written in the OOP paradigm, the following libraries were used: re, datetime, pathlib, collections, shutil, prompt_toolkit, requests, pickle, pyttsx3. The address book, notes, task book save to pickle file.

Installation

Download package, unpack it and use next command to install it from unpacked folder:

pip install -e .

Calling

Launch command line and use command assistant


Description

Auto-completion of commands in the command line will help you manage this application.

CLI Assistant can:

  • To get short tips on how to use you can call help command at any time during your work with assistant

  • to add new contact and one or more phones (for example 2 phones) use command: add contact <name> <phone> <phone>
  • to remove contact use command: remove contact <name>

  • to add phone to contact use command: add phone <name> <one phone>
  • to change phone of contact use command: change phone <name> <old phone> <new phone>
  • to remove phone of contact use command: remove phone <name> <old phone>

  • to add e-mail to contact use command: add email <name> <e-mail>
  • to change e-mail of contact use command: change email <name> <new e-mail>
  • to remove e-mail of contact use command: remove email <name>

  • to add address to contact use command: add address <name> <address>
  • to change address of contact use command: change address <name> <new address>
  • to remove address of contact use command: remove address <name>

  • to add birthday of contact use command: add birthday <name> <dd/mm/yyyy>
  • to remove birthday, write command: remove birthday <name>
  • to change birthday, write command: change birthday <name> <dd/mm/yyyy>
  • to see how many days to contact's birthday use command: days to birthday <name>
  • to see list of birthdays in period (sorted by days of birthday) use command: birthdays <number of days>

  • to search contacts with < text to search > use command: search contacts <text to search>
  • to see full record of contact use command: phone <name>
  • to see all contacts use command: show addressbook
  • to say goodbye use one of these commands: good bye or close or exit or .
  • to say hello use command: hello

Personal notes script

This script can manage personal notes.

  • to add note use command: add note <text>
  • to edit note use command: change note <id> <edited text>
  • to add tags use command: add tags <id> <tag1 tag2 tag3...>
  • to see all notes use command: show notes
  • to see and listen any note use command: note <id>
  • to delete note use command: remove note <id>
  • to search notes use command: search notes <text_to_search>
  • to search tags use command: search tags <tag_to_search>

List of task

This script can manage list of task with deadlines and responsible persons.

  • to add task use command: add task <name of responsible persons> <deadline in format dd/mm/yyyy> <text of task>
  • to remove task use command: remove task <ID of task>
  • to see all tasks use command: show tasks
  • to change deadline of task use command: change deadline <ID of task> <new deadline in format dd/mm/yyyy
  • to search tasks use command: search tasks <text_to_search>
  • to search tasks of responsible person use command: responsible person <name>
  • to set status of task 'done' use command: done <id>

  • to see rate of currency today use command: currency <name of currency>

Clean-folder script

This script can sort all files in the folder. The script sorts all files according to file's extensions.

  • to sort files in folder use command: clean-folder <path to folder>

...

  • if this folder is not exists, you'll see a message in console.

  • The script sorts files according to file's extensions and replaces files to the destination folders.

  • Default destination folders are documents, images, video, music, archives and unknown.

  • if you want to set your own rules of sorting files you have to change extensions dict:

    extensions = {
      "images": ['.jpeg', '.png', '.jpg', '.svg'],
      "video": ['.avi', '.mp4', '.mov', '.mkv'],
      "documents": ['.doc', '.docx', '.txt', '.pdf', '.xlsx', '.pptx'],
      "music": ['.mp3', '.ogg', '.wav', '.amr'],
      "archives": ['.zip', '.gz', '.tar'],
      "unknown": [""]
      }
  • All files with relevant extensions will be moved to these folders;

  • if these folders were not exist it will be created;

  • The script recursively checks all subfolders and replaces all files to destination folders;

  • Empty folders will be deleted;

  • Files with Cyrillic name will be renamed to Latin name;

  • if subfolders involve the files with the same name, these files will be renamed - date-time will be added to file's name;

  • All archives will be unpacked to subfolder with the name as archive's name in folder archive;

  • if archive is broken, script will continue its work without unpacking this archive. In console you'll see message about this broken archive;

  • When script finishes cleaning the folder, you'll see the report.


OTA TEAM:

Oleksandr Gnatiuk (Team Lead)

Anastasiia Kholodko (Scrum Master)

Oleg Veisa

Artem Danilov

Tatiana Maximenko

About

personal CLI assistant by OTA Team

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages