../
|
COM/
|
8
(13 years ago)
by ninoborges:
Initial Import
|
Concordance/
|
562
(11 years ago)
by nino.borges:
Got rid of the yellow. Not sure what I was thinking here...
|
Evidox/
|
758
(4 years ago)
by nino.borges:
Final delivery with full name splitting to separate fields (as well as the combined)
|
Gromulus/
|
991
(2 weeks ago)
by nino.borges:
I meant to have this as the commit message for 1.5 but I had an issue wiht the message. so I added some spaces to the files to force another commit.
Gromulus v1.5: user metadata save workflow, schema expansion, and UI refactor
- Added user-editable game metadata workflow with explicit Save button (no autosave).
- Added dirty-state tracking and Save/Discard/Cancel prompts when navigating away or closing with unsaved changes.
- Added DB schema support for new metadata fields:
- favorite_game
- release_date, release_date_scraped
- game_genre, game_genre_scraped
- cooperative, cooperative_scraped
- max_players, max_players_scraped
- Wired UI to user-first metadata precedence with _scraped fallback for release date, genre, cooperative, max players, and description.
- Added release date display/storage conversion:
- GUI display MM-DD-YYYY
- DB storage YYYY-MM-DD
- Refactored main game info panel:
- moved hash/file/No-Intro/TOSEC detail fields into Reports -> Game Properties modal
- added compact TOSEC/NoIntro match indicators
- added Favorite, Release Date, Genre, Cooperative, Max Players, Description, and User Notes controls
- Enhanced artwork previews from prior update:
- larger preview boxes
- aspect-ratio-preserving scaling
- click-to-open full-size modal viewer
- Updated schema/documentation files to stay aligned:
- models.py
- Database Dictonary.md
- canonical DB utility schema/migration logic
|
ITO_Report/
|
554
(11 years ago)
by nino.borges:
made a small change so that it pulls from w and not t.
|
KPMG_menu_commands/
|
8
(13 years ago)
by ninoborges:
Initial Import
|
Ledger/
|
782
(3 years ago)
by nino.borges:
general usage update.
|
MCP/
|
578
(11 years ago)
by nino.borges:
update before leaving
|
MCP2/
|
654
(6 years ago)
by nino.borges:
small changes
|
MClock/
|
8
(13 years ago)
by ninoborges:
Initial Import
|
Make_Admin/
|
8
(13 years ago)
by ninoborges:
Initial Import
|
MediaUtilities/
|
796
(2 years ago)
by nino.borges:
This program will compare VVV catalogs of the media drives on the NAS to those on Marty and display the duplicates issues and differences.
|
Mp3Suff/
|
8
(13 years ago)
by ninoborges:
Initial Import
|
MusicDriveSync/
|
994
(13 days ago)
by nino.borges:
Commit 1 Initial commit:
Initial commit - MusicDriveSync
MusicDriveSync is a wxPython desktop application for managing music on car
thumb drives. The user maintains a large FLAC library on a NAS, organized as
Artist/Album/Tracks. Rather than physically inserting drives to update them,
each thumb drive has a corresponding folder on the NAS. The app lets the user
browse the NAS library, see which tracks are already on a given drive
(highlighted green), copy missing tracks to the drive folder, and remove
tracks from it. Syncing to the physical drive is done separately via rsync.
This initial commit includes a working application with the following:
- config.py: reads and validates musicdrivesync.ini
- MusicDriveSync_Lib.py: NAS library scanning with cache, drive folder
scanning with progress callback, comparison index, copy and remove stubs
- panels/LibraryPanel.py: wx.TreeCtrl-based library tree with green
highlighting for tracks present on the active drive, Show Missing Only
filter, and Copy Selected button
- panels/DrivePanel.py: wx.TreeCtrl-based drive folder tree with Remove
Selected button and confirmation dialog
- main.py: top-level frame wiring drive selector, both panels, status bar
progress during library and drive scans, path accessibility checks on startup
---
Commit 2 Changelog and CLAUDE.md:
Add changelog system, fix CLAUDE.md conflicts, and apply session bug fixes
Introduces a changelog/ folder to track bugs, architectural decisions, and
lessons learned across the life of the project.
- changelog/CHANGELOG_INDEX.md: master index table for all entries
- changelog/00001_arch.md: DataViewTreeCtrl to wx.TreeCtrl migration
- changelog/00002_bug.md: missing drive scan progress feedback fix
- changelog/00003_arch.md: library panel color logic reversal
- CLAUDE.md: corrected two conflicts with the current codebase:
color coding description updated (green = on drive, normal = needs copying);
DataViewCtrl note replaced with TreeCtrl decision with pointer to changelog;
UI layout diagram corrected; changelog folder added to project structure
- panels/DrivePanel.py: converted from DataViewTreeCtrl to wx.TreeCtrl
- MusicDriveSync_Lib.py: added progress_callback to ScanDriveFolder()
- main.py: wired drive scan progress to status bar; added path accessibility
checks at startup
---
Commit 3 Fix Remove Selected:
Fix Remove Selected, add safety guard, and document NAS read-only rule
- Fixed "No tracks selected" on Remove and Copy buttons. Both panels were
using TreeItemId.GetID() as a dict key which is unreliable across the wx
layer. Replaced with wx.TreeCtrl's native SetItemData/GetItemData. The
separate _item_data dict was removed from both panels entirely.
See changelog/00004_bug.md.
- Fixed 5-minute UI freeze after removing tracks. OnRemoveTracks was calling
ScanDriveFolder() on the UI thread after every remove. Replaced with an
in-memory filter of _drive_tracks using the list of removed relative paths.
- Silent remove failures now surface as a warning dialog.
- Added path prefix guard to RemoveTracksFromDrive(). Any file whose path
does not begin with drive_path is unconditionally skipped.
- Added Absolute Rules section to CLAUDE.md: the NAS music library is
strictly read-only. The app may never delete or modify files there.
- changelog/00004_bug.md: documents the SetItemData fix and lessons learned.
---
Commit 4 Copy and Tools menu:
Implement CopyTracksToDrive, add Tools menu with Empty Folder Report
CopyTracksToDrive (MusicDriveSync_Lib.py):
- Copies files preserving full folder structure relative to music_library_path
(e.g. Compilations/Album/track.flac mirrors exactly on the drive folder)
- Uses shutil.copy2 to preserve file timestamps and metadata
- Skips files that already exist at the destination
- Accepts a progress_callback(done, total) for status bar updates
OnCopyTracks / _on_copy_complete (main.py):
- Copy now runs in a background thread, no UI freeze for large selections
- Status bar updates as each file is copied (e.g. "Copying to Taco... 3/12")
- After completion, newly copied files are added to _drive_tracks in memory
by reading their tags directly, no full rescan needed
- Both panels disabled during copy and re-enabled on completion
Tools menu (main.py):
- Added Tools menu to the right of File in the menu bar
- Empty Folder Report: scans the active drive folder and lists all
subdirectories that contain no FLAC files (may still contain jpg/png etc.)
- Results shown relative to drive root for readability
- EmptyFolderReportDialog class added to main.py
FindFoldersWithoutFlac (MusicDriveSync_Lib.py):
- Two-pass walk: marks all dirs containing FLACs and their ancestors, then
collects highest-level dirs with no FLACs using topdown pruning
|
MusicUtilities/
|
752
(4 years ago)
by nino.borges:
A simple program that will add the cover art to a folder of flac files but only ever on the thumb drive dir on the NAS. In this version I was trying to have the function call a subprocess on an entire dir, which didnt work. I'll switch to doing it file level instead.
|
PDFExportToDataLoad/
|
582
(11 years ago)
by nino.borges:
update before leaving
|
PrivDescriptionAssistant/
|
619
(9 years ago)
by nino.borges:
Updated the date.
|
PyClock/
|
8
(13 years ago)
by ninoborges:
Initial Import
|
Redgrave/
|
986
(4 weeks ago)
by nino.borges:
A simple program that will call the method to export an STR from the current MAL
|
Relativity/
|
623
(9 years ago)
by nino.borges:
version 1
|
RelativitySearchReportBatched/
|
1017
(2 days ago)
by nino.borges:
Added some code to catch the timeout issues that I'm seeing. This will allow it to handle these better, instead of crashing, and will report a TO for any that do time out.
|
SOW_Automator/
|
639
(8 years ago)
by nino.borges:
Final versions before leaving AD.
|
Stella/
|
8
(13 years ago)
by ninoborges:
Initial Import
|
Summation/
|
563
(11 years ago)
by nino.borges:
Added some code so that I can catch my own exception.
|
compiled/
|
8
(13 years ago)
by ninoborges:
Initial Import
|
pyvnc2swf-0.8.2/
|
8
(13 years ago)
by ninoborges:
Initial Import
|
Abbyy_Automator.py
|
8
(13 years ago)
by ninoborges:
Initial Import
|
AppendTiffExt.py
|
8
(13 years ago)
by ninoborges:
Initial Import
|
Carrie.py
|
8
(13 years ago)
by ninoborges:
Initial Import
|
Carry_cat.py
|
8
(13 years ago)
by ninoborges:
Initial Import
|
CleanOut_Share.py
|
8
(13 years ago)
by ninoborges:
Initial Import
|
ClientStatAnalysis.py
|
640
(8 years ago)
by nino.borges:
minor changes in use
|
Commence_results.py
|
8
(13 years ago)
by ninoborges:
Initial Import
|
CompareDirByHash.py
|
8
(13 years ago)
by ninoborges:
Initial Import
|
CopyThese.py
|
8
(13 years ago)
by ninoborges:
Initial Import
|
DII_Kreator.py
|
8
(13 years ago)
by ninoborges:
Initial Import
|
Dii_creator.py
|
8
(13 years ago)
by ninoborges:
Initial Import
|
DirCompare.py
|
8
(13 years ago)
by ninoborges:
Initial Import
|
DisplayImage.py
|
8
(13 years ago)
by ninoborges:
Initial Import
|
Document_Oculus.py
|
667
(6 years ago)
by nino.borges:
Program to help in detection of near duplicates in paper world
|
EBStartUp.py
|
8
(13 years ago)
by ninoborges:
Initial Import
|
EB_FileRenamer.py
|
8
(13 years ago)
by ninoborges:
Initial Import
|
EB_FileRenamer_2.py
|
8
(13 years ago)
by ninoborges:
Initial Import
|
EarthClock-1.4.rar
|
8
(13 years ago)
by ninoborges:
Initial Import
|
EmailDomainExtractor.py
|
621
(9 years ago)
by nino.borges:
a program for extracting email domains and outputting the unique values.
|
ExcelEmptyRowRemover.py
|
595
(10 years ago)
by nino.borges:
This is after refactoring and is the version that I gave to app support and ESI
|
FamilyToRandomDict.py
|
622
(9 years ago)
by nino.borges:
version 1 of the program to randomize but keep family together
|
FileExtReplace.py
|
8
(13 years ago)
by ninoborges:
Initial Import
|
GatherPathForBegNo.py
|
150
(13 years ago)
by nino.borges:
Added the DDSC Logo to the repository and gatherpathforbegno.py
|
Gather_CD_Dirs.py
|
8
(13 years ago)
by ninoborges:
Initial Import
|
Gather_CD_Dirs_old.py
|
8
(13 years ago)
by ninoborges:
Initial Import
|
Gather_ImgDir_Sizes.py
|
8
(13 years ago)
by ninoborges:
Initial Import
|
Gather_ImgDir_Sizes_OLD.py
|
8
(13 years ago)
by ninoborges:
Initial Import
|
Gather_RollFilm_Dirs.py
|
233
(13 years ago)
by nino.borges:
Added roll film dirs.
|
GenericGUIAPP.py
|
8
(13 years ago)
by ninoborges:
Initial Import
|
HW_IproExtract.py
|
583
(11 years ago)
by nino.borges:
update before leaving
|
HW_IproExtract_B.py
|
584
(11 years ago)
by nino.borges:
update before leaving
|
HW_enumerator_Checker.py
|
529
(12 years ago)
by nino.borges:
A program to test the enumerations in the HW db.
|
HomeAutomationStatusReport.py
|
668
(6 years ago)
by nino.borges:
Creates an HTML report on the home systems and sends to website
|
ImgDir_Cat_ForCLM.py
|
8
(13 years ago)
by ninoborges:
Initial Import
|
ImgInfoToDII.py
|
8
(13 years ago)
by ninoborges:
Initial Import
|
LookInIPF.py
|
8
(13 years ago)
by ninoborges:
Initial Import
|
Low_steve.py
|
8
(13 years ago)
by ninoborges:
Initial Import
|
MacAddrGetter.py
|
8
(13 years ago)
by ninoborges:
Initial Import
|
NS_MOTD_client.pyw
|
8
(13 years ago)
by ninoborges:
Initial Import
|
NS_MOTD_server.pyw
|
8
(13 years ago)
by ninoborges:
Initial Import
|
Narco_Deficiency_Report.py
|
481
(12 years ago)
by nino.borges:
This program will help us crft the deviciency reports from Narco, post query.
|
NativesToDataLoad.py
|
449
(12 years ago)
by nino.borges:
A simple app that will let me add natives with load files to a review tool.
|
Nav_update.py
|
8
(13 years ago)
by ninoborges:
Initial Import
|
Nino.py
|
8
(13 years ago)
by ninoborges:
Initial Import
|
Nino.pyw
|
8
(13 years ago)
by ninoborges:
Initial Import
|
NinoSystemsInfo.py
|
8
(13 years ago)
by ninoborges:
Initial Import
|
Nino_Chat.py
|
8
(13 years ago)
by ninoborges:
Initial Import
|
PS_Admin.py
|
8
(13 years ago)
by ninoborges:
Initial Import
|
PS_Split_join.py
|
8
(13 years ago)
by ninoborges:
Initial Import
|
PerligoDupeGroup.py
|
581
(11 years ago)
by nino.borges:
Add before leaving
|
Personal_mbd.py
|
8
(13 years ago)
by ninoborges:
Initial Import
|
Pmw.py
|
8
(13 years ago)
by ninoborges:
Initial Import
|
PmwBlt.py
|
8
(13 years ago)
by ninoborges:
Initial Import
|
PmwColor.py
|
8
(13 years ago)
by ninoborges:
Initial Import
|
Print_It_All.py
|
8
(13 years ago)
by ninoborges:
Initial Import
|
PyBlade.py
|
8
(13 years ago)
by ninoborges:
Initial Import
|
Reassemble.py
|
8
(13 years ago)
by ninoborges:
Initial Import
|
Reunitizer.py
|
8
(13 years ago)
by ninoborges:
Initial Import
|
SplitTheCheck.py
|
653
(6 years ago)
by nino.borges:
simple program to play with splitting a check
|
Sql_Get.py
|
8
(13 years ago)
by ninoborges:
Initial Import
|
StripComp.py
|
8
(13 years ago)
by ninoborges:
Initial Import
|
Syncor.py
|
8
(13 years ago)
by ninoborges:
Initial Import
|
Test_URL.py
|
8
(13 years ago)
by ninoborges:
Initial Import
|
URL_Grab.py
|
8
(13 years ago)
by ninoborges:
Initial Import
|
UnclMannys_OldestShare.py
|
8
(13 years ago)
by ninoborges:
Initial Import
|
Upload.py
|
8
(13 years ago)
by ninoborges:
Initial Import
|
Vacation_Days.pyw
|
8
(13 years ago)
by ninoborges:
Initial Import
|
WakeOnLan.py
|
8
(13 years ago)
by ninoborges:
Initial Import
|
Wanda.py
|
8
(13 years ago)
by ninoborges:
Initial Import
|
Wanda_lin.py
|
8
(13 years ago)
by ninoborges:
Initial Import
|
Y_Map.py
|
8
(13 years ago)
by ninoborges:
Initial Import
|
ZipSize.py
|
232
(13 years ago)
by nino.borges:
changed expire date on chai v8 and 10. Added GatherSize to MCP lib.
|
batesCompare.py
|
8
(13 years ago)
by ninoborges:
Initial Import
|
catlogfiles.py
|
8
(13 years ago)
by ninoborges:
Initial Import
|
comicGrab.py
|
8
(13 years ago)
by ninoborges:
Initial Import
|
directorySize.py
|
8
(13 years ago)
by ninoborges:
Initial Import
|
directorySize2.py
|
8
(13 years ago)
by ninoborges:
Initial Import
|
doall.py
|
8
(13 years ago)
by ninoborges:
Initial Import
|
eDiiToDAT.py
|
560
(11 years ago)
by nino.borges:
New program to convert eDiii to dat, so that it can be loaded into RL
|
eRoom_MultiFileAdd.py
|
8
(13 years ago)
by ninoborges:
Initial Import
|
file_counter.py
|
8
(13 years ago)
by ninoborges:
Initial Import
|
file_ext_rename.py
|
8
(13 years ago)
by ninoborges:
Initial Import
|
find_username.py
|
8
(13 years ago)
by ninoborges:
Initial Import
|
ifmerger.py
|
8
(13 years ago)
by ninoborges:
Initial Import
|
itunes_lib.py
|
8
(13 years ago)
by ninoborges:
Initial Import
|
john_muir_dataParser.py
|
553
(11 years ago)
by nino.borges:
a simple program that allowed me to parse a pdf and spreadsheet where the rows didnt line up at all.
|
jpgToWeb.py
|
8
(13 years ago)
by ninoborges:
Initial Import
|
lgflcntr.py
|
8
(13 years ago)
by ninoborges:
Initial Import
|
log_file.py
|
8
(13 years ago)
by ninoborges:
Initial Import
|
moveup.py
|
8
(13 years ago)
by ninoborges:
Initial Import
|
mp3info.py
|
8
(13 years ago)
by ninoborges:
Initial Import
|
output0.tif
|
8
(13 years ago)
by ninoborges:
Initial Import
|
output1.tif
|
8
(13 years ago)
by ninoborges:
Initial Import
|
peopleview_installer.py
|
8
(13 years ago)
by ninoborges:
Initial Import
|
pv_dest
|
8
(13 years ago)
by ninoborges:
Initial Import
|
pyrobocopy.py
|
8
(13 years ago)
by ninoborges:
Initial Import
|
test_url2.pyw
|
8
(13 years ago)
by ninoborges:
Initial Import
|
winGuiAuto.py
|
8
(13 years ago)
by ninoborges:
Initial Import
|
winamp.py
|
8
(13 years ago)
by ninoborges:
Initial Import
|