Skip to content

Latest commit

 

History

History
40 lines (33 loc) · 2.97 KB

README.md

File metadata and controls

40 lines (33 loc) · 2.97 KB

This is a project ment for my personal use first. And secondly for me showing off my work in case it is required.

Functions

The program is ment to help keep track of different files and folders, allowing you to 'tag' them in order to organize them. The files/folders are in no way altered, they are not even opened during their tagging. The program keeps track of the tags using two files generated by itself. One has the tags with their name and value, and another has the files and their 'values'.

UI

For the UI the simple Tkinter capabilities of python were used. The program features 3 tabs which are as follows.

  1. File Tagger - This window displays the file system, using the drive on which the app is ran as root, and also displays a list of tags on its right. Once you have navigated and selected the file you wish to tag, you are to select the tags you wish to assign to it and pres the button "TAG" found at the bottom of the UI.
  2. Indexed Files - This window shows the currently tagged files/folders. For now this is all it offers, extension of its functions is planned but not undertaken as of now.
  3. Tag Manager - This tab presents a list of tags & an action allowing you to create new tags.
  • If you wish to create a new tag you must select the option "(Create Tag)" write the name of the tag in the text box and click "apply".
  • If you wish to rename a tag, you must click on the tag you wish to rename, enter the new name in the textbox and click "apply".
  • If you wish to delete a tag, you must select it, leaving the text box empty and click "apply".

How

Tags are represented by name & value. The value represents a whole prime number. Once a file is tagged, it is assigned a value that is the product of the tag's values. In such way only one number can represent multiple tags for a given file, and none of the tags will collide due to the numbers being prime.

Saving data

For now the only thing that the program saves are as follows:

  • tags.txt - contains all information about each individual tag in the format of "tag_value;tag_name"
  • index.txt - contains all information about each individual tagged file in the format of "file_path;product_of_tags"

State

Unusable hobby project. Will try to keep adding to it and refining things, making it atleast able to be used for basic tagging. But for now, it is not in a usable state.

Implemented

  • Tag file with multiple/single tags.
  • Create/Edit/Delete tags.
  • Lazy loading for directories, no need to load whole filesystem tree.
  • Execute system specific operation on double click (open folder,open file, etc.).

What I wish to do and will try to implement

  • Reload info when tag/index file is changed.
  • Search ability for the untagged files.
  • Search ability for the tagged files.
  • Settings window allowing changing of settings.
  • Support for tagging web links.
  • Support for filtering/searching tags.
  • Ability to create custm "views", based on rules for picking of files to include in them.
  • Multiple index/tag file support.