-
Notifications
You must be signed in to change notification settings - Fork 0
/
changelog.txt
251 lines (205 loc) · 12.4 KB
/
changelog.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
V. 08.1.2 - 29/08/2024:
- (SETUPTOOLS) Updated setuptools system to modern standards and
pyprojet.toml usage
- (REQUIREMENTS) Updated requirements and requirements files to use
pyproject.toml
V. 08.1.0:
- Updated for python 3.12, where imp module has been deprecated and importlib is now used
- Fixed requirements.txt for specific versions
V. 08.0.5:
- Fixed bug for rename from file where it would rename also with the "\n"
- Fixed bug for replace where it would just hang
- Fixed commands not being applied
- Fixed reset bug expecting extra argument that shouldnt be expected
- Now command chains are applied to each name in one go instead of to every item by steps
- Fixed bug where rename wouldn't remove beggining and trailing spaces
- Added error handling for metadata image not being present
- Fixed filter view bug call
- Fixed error raising when metadata key doesnt exist for particular file
- Fixed command chains bug with selection
- Fixed unhandled errors when music files didnt have metdata images
- Refresh when focusing out or pressing enter when writing to the rename from file file entry (instead of with every key stroke)
- Added leading and trailing spaces removal for metadata values
- Fixed command saving fail
V. 08.0.3:
- Refactored code into a more professional project
- Double Space removal defaults to true
- Extension splitting now checks that selection is file (prevents from treating whats after last . in directories as the extension and not being able to affect it with the name change)
- Added plugins support
- Added values list support for metadata separating the values with "\;" (rather than just ";" wich ignores changing those keys)
V. 07.00:
IMPORTANT NOTICE
This will probably be the last full update. From now on I doubt any more utilities will be added and it will focus on maintenance and bug fixing.
- Added conditional to not try to change the name of an item when it's the same as it's old name.
- Extended the metadata notebooks page surface area to fill the space.
- Binded mousewheel inside the metadata list entries to the scrollbar.
- Added focused item tree navigator refresh with one click on the R button, and full refresh with double click
- Added menu option to refreshed focused node, accelerator and keybinds
- Changed the maximum filename lenght from twice the max in the drive type to the actual max
- Improved remove words method and made it work more as intended by being able to remove several words
- Added IndexError handling for appending the path folders
- Fixed bugs when using negative indexes to write sub string to the name in add_to_string, append_folder_name and numbering.
- Added comments
- Changed the syntax of how it checks if the selected files have the same image (to something thats exactly the same but more concise)
- Added logic to show an apropiate message for each case scenario of the metadata images (no image, different images, not a valid file)
- Code cleanup
- Added number of lines to the changelog
4810 lines
V. 06.00:
- Highly optimized the treeview sorting. In previous versions the elements sorting was considerably slow (although only noticiable when there were many many items, specially when using the recursive option), so it has been completly changed to a much much faster implementation wich barely adds any overhead. This was achived by creating the list of items then sorting it then inserting the items in the treeview, rather than inserting the item to the treeview as they were read and then sorting the treeview by moving each item to a new index.
- Change the insertNode to get the entry instead of the values
- Added an origin node in the folder treeview
- Added option for when renaming from a file to wrap over once all the items in the file have been used
- Added a Reset button to the filtering widget
- Change order for some menu options
- Added a few key bindings for refreshing the views that had been forgotten to be added although the accelerators where there
- Added slight padding around the reset buttons
- Added key binding for exiting the application
- Added key binding for applying command
- Added error handling for when giving a path to the program from the terminal
- Removed unused classes
- Fixed performance issue when selecting, deselecting and inverting selection of many many elements
- Fixed Bug where trying to access a folder from the Dir_Entry_Frame wouldn't work
- Fixed bug where trying to add an image to the metadata would fail
- Fixed bug where reseting wouldn't reset the rename from file widget
- Fixed bug where it would raise an accesibility error and it wouldn't get catched
- Fixed bug where using the Crop option from the Remove (5) group would remove everything if there was no occurrence of what we wanted to remove
- Fixed bug where undoing rename with nothing selected in the folder_view would remove the whole folder_view
- Fixed bug when applying command from button wouldn't work
- Fixed bug where calling the program with the path as an argument would fail if the path had a trailing slash
- Cleaned code for readability
4537 lines
V. 05.08:
- Added Renaming from file
- Added Renaming from the bottom to the top
- Fixed bug where renaming with recursiveness would name the folders before the files in them so then i couldn't rename the files because the path no longer exists
- Changed filtering call to act for the mask and ext entries when losing focus from them, so as to not load the whole tree with each keystroke
- Added key bindings for menu options
- Added accelerators (display the key binding next to the menubar options)
4365 lines
V. 05.06:
- Implemented recursiveness to the file treeview
- Implemented filtering the file treeview (+ the folder treeview for hidden folders)
- Added a filtering treeview widget
- Cleaned code
4245 lines
V. 05.05:
- Optimized loading directories calls
- Added colors to rows, change to green when they change name (doesnt work because of bug from tkinter)
- Since we need a defined limit for the spinboxes I decided to add a check for filename length limit (and double it for safeness) and to use it instead of an arbitrary lenght number (also trying to rename to something beyond the filename lenght gets catched by the OsError handling that was already implemented for catching invalid chars)
4356 lines
V. 05:
- Added the ability to hide and show hidden files instead of always showing them
- Added Display menu
- Added Display Menu Function to hide and show hidden files
- Added the ability to show Files before Directories instead of always showing Directories before Files
- Aded Display Menu function to change directories before files and viceversa
- Added support for MP4 metadata
- Added enumerate where possible for more concise code
4102 lines
V. 04.05:
- Optimized code conditionals and error handling in the use of metadata values for the rename
- Made the creation of the configuration folder more cross-platform
- If theres any problem reaching the configuration folder the command related functions get disabled at startup
- Added print statements clarity
- Updated PROJECT_URL
- Error handling for invalid characters
- Changed the rename function to use os.rename() instead of shutil.move() (that technically uses os.rename under the hood) to better catch naming exceptions whith forbidden characters and the like
- Removed "import shutil" since it wasn't being used anymore
- Highly optimized treeview loading with "os.scandir"
4048 lines
V. 04:
- Changed project name to "Batch Pynamer"
- Added the ability to rename files using metadata values
- Added function to set the metadata's title and tracknumber from the filename (splits the filename at the first apparition of "-" and sets the first part to be the tracknumber and the second to be the title)
- Added File Menu Function to set the title and the tracknumber metadata
- Now when applying changes to the metadata it automatically reloads
3954 lines
V. 03.05:
- Added the ability to open the program in a specific folder calling it with the folder as an argument
- Set up a default PATH constant to fallback
- Changed path.split('/') to os.path.basename() and os.path.dirname() accordingly (which also allows to use in windows)
3875 lines
V. 03:
- Added the function to format the tracknumber metadata field to remove anything after "/" (inclusive) and add 0s left pading to have 2 digits
- Added File Menu Function to format the tracknumber
- Added ability to create new metadata tags
- Added Error Handling for ID3 when the tag doesn't have an valid name
- Ordered functions in new groups that make more sense
3866 lines
V. 02.08:
- Changed the configuration folder path to have a "/" at the end
- Fixed bug where the file menu option "Refresh Tree" would just empty the tree instead of refreshing it
- Fixed bug where you wouldn't be able to use the rename application without the metadata imports caused by the options in the menu bar
- Created Error class for trying to rename to an already existing file name
3766 lines
V. 02.07:
- Changed Naming convention for the main file to just be BatchRenamerpy.py
- Added Menu Bar
- Added File menu
- Added Selection Menu
- Added Comands support (saving, loading, chain commands and applying directly)
- Added About menu button
- When you Apply a command it doesn't lose the entries configuration that you had
- Added Undo Name Changes functionality
- Added Error Pop Up window
- Added several error handlings when there is no selection and corresponding info msgs
- Added code comments
3730 lines
V. 02.06:
- Fixed bug where the spinbox that should begin at 1 would initialize at 0. I have solved it for my program by adding a line right after creation that sets them to 1, but it's something that the tkinter developers should fix themselves. Now I remember that's why I used tk.spinbox instead of ttk.spinbox
- Made the metadata tab extend across the whole horizontal space
- Made the labels in the metadata entry list not exceed a certain size
- Added Info Bar Message when you refresh the folder navigation treeview
- Added Info Bar Message when you copy a file path with right click over it
- Added code comments
2896 lines
V. 02.05:
- Now it's possible to change MP3s metadata too
- Fixed bug that didn't let you open the extended regular expressions window
- Changed the visuals of the extended regular expression window so it's consistent with the rest of the program
- Extended the treeviews to fill the whole horizontal space
- Metadata modules are now optional to run the program. If they are not installed you are still able to use the rest of the functionalities
- Untabbed comments where necessary so they don't hide when automatic code folding (a bit of a failure though, still folds the bullet points inside the comments)
2841 lines
V. 02:
- Added a scrollbar for the metadata entries widget so when a file has many entries it doesn't make a bigger window
- Added an entry at the top of the treeviews to see the path of the active folder and being able to access any folder writing its path and hiting return
- Added a button to refresh the folder treeview at will
- Got rid of "from tkinter import *" for a better "import tkinter as tk"
- Removed extra imports that weren't being used
- Changed spinboxes from tk to ttk so they use the same color pallette as the rest of the program
- Extended the info bar across the whole window horizontally
2742 lines
V. 01.02:
- Added an info bar at the bottom to show number of items and number of selected items plus a last action message
- Optimized the number of for loops that the program goes trough
- Cleaner code, separated in more functions
2574 lines
V. 01.01:
- Created an entry list that stays in the ui constantly
- Organized the widgets in a more packed way
2439 lines
V. 01:
- Fixed bug where the metadata image wouldn't show
- First mostly Totally working version
- Cleaner code
2398 lines
V. b.1.0.3:
- Clean and organize the classes for an easier use and more object oriented
- Added permanent image display size
- Added entry for the new image to replace
- Added label to show metadata image size or if there is no image or different images in diferent selected files
2379 lines
V. a.0.2:
- Reorganize the functions and methods
- Create the Metadata structure and class
- Added metadata entries list
- Added metadata image
1944 lines
V. a.0.1:
- First basic running version of the program
- All the rename widget created
- Treeview and file selection created
- Final Rename button created and working
1860 lines