Package: md2fileo
FileoThis application is about the files, your files.Fileo[fɑɪlɔ] - could be FileOrganizer, but that doesn't matter.The graphical interface is shown in the image below.The GUI elements:application mode, it determinates how files in the list (7) is selected.the button to display menu to hide/show the widgets("Folders", "Tags", "File Extensions", "Authors") on the left pane.Describes how the list of files (7) was created.buttons related to the file list (7):- show list of recent files- search files by name,- selecting the fields that will be visible in the file lista group of buttons for working with the folder tree: previous-next folder in the history of visited folders; show hidden folders; collapse all branches - expand the last branch if all branches were collapsed.left toolbar, it contains the following buttons from top to bottom:menu buttonswitch to "DIR" mode, the file list displays files from the current folderswitch to the "FILTER" mode, the file list displays files according to the filter settingsopen filter settings dialog, switch to "FILTER_SETUP" modehide/show left panethe folder tree windowthe file list windowpanel for displaying/editing file data: notes, tags, authors (for books), file locations (file can be located in several folders)current database name, click on it to enter list of available databasesfolder tree branch from root to current folderthe current file in file listthe name of the file whose note is open in the editor, this is not displaying if no note is edited, click here to go to this file and the folder containing this filenumber of files in the file listThe application works in three main modes: DIR, FILTER and FILTER_SETUP. In DIR mode, files are selected by the current directory in the "Folders" widget.In FILTER mode, the list of files depends on the filter options set in FILTER_SETUP mode. The filter may depend on the selected folders, selected tags, and selected authors in the boxes in the left pane. In FILTER_SETUP mode, the list of files does not change when changing the selected folders, tags, authors. But in FILTER mode, any changes are immediately displayed in the list of files.How it's doneAs said, the app is about files. Files have a number of attributes:namepath, the user practically does not see it, only by opening the directory or copying the full file name and on the "File Info" pagefile extensiontagsratingauthor(s) - usually for booksdates of:modificationlast openingcreationpublication (books)date of last created/modified note to the filenumber of file openingssize in bytesnumber of pages - usually for booksThe following attributes are used in filter: all dates (but only one can be used at a time), extension, tags, rating, authors, and folder which was intentionally not included in the file attributes.Folders are not associated with file system directories, the path is used for that. You can freely create, move, copy and delete folders in the folder tree, the files will remain intact. You can, for example, create multiple folder hierarchies, this can be handy. Of course, if you delete all folders it will be impossible to access files using folder tree, but they remain accessible by filter. The next time the@@Lostfolder will appear, it can be used to access files that are not in any other folder.
You can alsocopy/move files from one folder to anotherby draggingwith the left or right mouse button pressed.How it worksHow to add files?There are two method to add files:Open "Search for files..." dialog with main menu item "Scan disk for files":drag files from the file explorer (or similar application) to the folder in the folder tree.Note. Scanning the file system can be quite lengthy, so it is performed in a separate thread.
The red circle in the lower left corner is a sign that the thread is working:Only one background thread can run at a time - this is the design of the application. The user interface is not blocking but you should avoid to perform operation that make changes in the database, for example, drag-drop operations. But you can change the list of files by changing a current folder or filter, or you can open files.You can export the selected files (with all their attributes) from the database using the context menu of the file list:and then import them to another databaseto the folder "New folder" in this case.Note. In the file note you can have reference(s) to another file(s) in the data base. If you drag the file with such note the reference will be broken, there is no interbase referencies.How to work with filtersFirst you should setup the filter:With the filter set in the picture, the list of files will include files from the any ofDB,MLorRustfolders that have at least one of theMath,MLorpackagetags, have a rating higher than 4 and were opened after2022-09-14 00:00:00.Note.In case of before — the date before or equal to2022-11-14 23:59:59.The Apply button applies a specified filter without closing the Filter Setup dialog box.The Done button applies the filter, closes the dialog, and switches the application to "Filter Mode". In this mode, when you change the selection in any of the fields on the left panel (Folders, Tags, Extensions, Authors), the list of files immediately changes.How to find files by nameThe search is performed by pressing the Enter key. "Aa" is a case sensitive search, if checked, "ab" - exact search, but you can use wildcards: "*" - any number of any letters, or "?" - any single letter.How to make notes to the file"+"  plus button - add new note and open it in the editorthe button to open the note in the editorstart editing of the note"x" button - delete the noteexternal (http) reference, can be open in the system web browserNote editorthe save changes button, save changes and close editorthe button to discard changespressing any of these buttons closes the editorNote is a markdown text. You can insert web links here, but the links to files in the application are not implemented (and not planned yet)Tag selectorThe list of tags associated with the current file. You can input here a list of tags separated by commas.It is the only place where the new tag can be created.The new tags will appear in the list 2 and 4.The list of tags. The tags selected in this list apply to the file filter.The context menu in the list of tags. Selected tags are highlighted ('Linux' and 'package'). The tag  'package' is a current tag (last selected).The tag selector. The tags selected here will appear in the list 1.Author selectorThe list of authors associated with the current file. You can input here a list of authors separated by commas (in square brackets if author name contains comma as in "Vaughan, Lee", otherwise it may be entered without brackets, but new authors without brackets must be in the end of list). It is the only place where the new author can be created. The new authors will appear in the list 2 and 4.The list of authors. The authors selected in this list apply to the file filter.The context menu in the list of authors. The current tag is highlighted - "Vijay  Pande" in this case.The author selector. The authors selected here will appear in the list 1.Locations1-4 are locations of the current file, 5 is a context menu.The location marked with bullet is a current location.All 4 locations end with the Poetry folder. This means that the file exists only in this folder (Poetry), the folder Poetry is presented in 4 branches. That's why the file has 4 locations.The letters "L" and "H" in brackets means "Link" and "Hidden". "Link" and "Hidden" are attributes of folder. For example, the folder "fileo" in the branch 2 is a link to the folder "fileo"[^1] in the branch 1; the folder "A folder"  in folder "my" is "Hidden", but it is shown in the picture below because of the "FOLDERS" widget is in "Show hidden folders" mode:The current folder (Poetry).The check box. It is used to switch the "FOLDERS" widget to the "Show hidden folders" mode. The folders "@@Lost" and "Linux" are hidden; "A folder" and "fileo" in the folder "my" are links. The only difference between folder and link to it is that when you delete folder all its links and all its children will be deleted too, whereas deletion of any link of folder does not impact any other folder.The current file "Python Poetry.md".[^1]: A folder link always has the same name as the folder itself, because the link is a simple pair of folder IDs: the first is the folder ID, the second is the parent folder ID. A folder can have many parent folders. The first parent is set when the folder is created, all the others are set when the folder is copied to another folder. This other folder becomes its parent.File infoThe "File rating" and "Pages" can be edited here. But they also can be edited directly in the file list if visible:The file listMenu to select fields visible in the file list. The checked fields are visible, the field "File Name" is always visible.File operationsAlmost all operations with files are shown in the context menu on the picture.Besides them you can copy / move files from one folder to another.You can also open files by double clicking on "File name". If the file is executable, it will be executed, not opened. Thus, the application can be used as a "Start Menu", it can be even more convenient than the standard "Start Menu".Note:If you delete a file from a folder, the file will still remain in the DB, even if you delete it from all folders, it can be found by searching by name or part of the name, or using a filter, or at least it will appear in (hidden) folder "@@Lost".
If you delete a file from the DB, it will be deleted from all folders, and all notes for this file and its links to tags and authors will be lost.DB selectorAll application data is stored into a data base (SQlite DB). The SQlite data base is a single file, you can create as many DB files as you want. All manipulation with the DB files are performing in the DB selector:The DB can be opened in the current window by double click on the line in the DB list, or select with keybord up and down arrows key and choose with "Return" key, not "Enter" key on numeric keybord.InstallationWindows. Download the installersetup.x.y.z.exefromsourceforgewherex.y.z- version and run it.Linux and Windows
install as Python package from PyPi:> pip install md2fileoand then run with> python -m fileo