478a7e5add
added 2 new bugs - 123 -> pa_job_mgr crashed with a timeout, 124 -> pa_job_mgr logs have no timestamp
Damien De Paoli2024-01-21 18:14:25 +11:00
aad0389d77
BUG-122 - just closing this, duplicates were from 2 years ago and were 200ms apart, looks like a reload of the POST? If so, I now force a redirect after the POST, so reloads dont add more than 1 person
Damien De Paoli2024-01-01 12:16:37 +11:00
262efd89d4
Fixed BUG-121: crashing when cannot find a match when searching
Damien De Paoli2024-01-01 11:49:41 +11:00
3f39f74716
new bugs, 500 when cannot find a string, and duplicates of people?
Damien De Paoli2024-01-01 11:48:43 +11:00
48353f0486
have changed the rotation code to use jpegtran so its lossless
Damien De Paoli2023-11-11 22:28:29 +11:00
0ed56d6a1a
added a debug for rotate code, and put quotes in the right spots so paths with spaces are covered - D'oh!
Damien De Paoli2023-11-11 22:25:26 +11:00
51492efe04
replaced a couple of raw sqls with ORM, making sure JobExtra value is a str(), for newer pg/sqlalchmemy
Damien De Paoli2023-09-27 14:31:22 +10:00
7511261d34
quick fix for new sqlalchemy 2 stricter mapping issues - only really using this when trying to imply typing in classes, not desperately needed, so Im ok with this workaround for now
Damien De Paoli2023-09-27 14:30:24 +10:00
621eba26ed
still do need text() imported from sqlalchemy, and make sure JobExtra value is a string
Damien De Paoli2023-09-27 14:29:41 +10:00
799689d26e
trying something that I *think* should be throwing warnings for sql 2.0 issues, not sure it works?
Damien De Paoli2023-09-27 14:29:03 +10:00
d2bd3ff319
make sure JobExtra values is a string - issue with newer ps/sqlalchemy
Damien De Paoli2023-09-27 14:28:05 +10:00
db7f6c07d7
updated for newer postgres and sqlachemy, mainly use text() for explicit sqls, made sure value is a string in JobExtra, removed incorrect use of distinct in GetEntries query, finally used ORM to work out last/num_entry counts instead of raw sql
Damien De Paoli2023-09-27 14:27:31 +10:00
a8a4a1e5fe
convereted all raw SQL to ORM, and tightened up str/int use in JobExtra-> value field - sqlalchemy 2 is more strict here
Damien De Paoli2023-09-26 12:35:23 +10:00
3adca0b73d
temporarily locked version here and reverted, might be a whitespace diff?
Damien De Paoli2023-09-26 12:11:35 +10:00
ad8cd69939
adding sleep as a catch-all, its useful when python code kills gunicorn, at least the container stays up and I can get into it and debug
Damien De Paoli2023-09-26 12:10:50 +10:00
ffe6c309b6
remove db.session.execute and use simple ORM statements - less efficient, but only really deleting a small amount anyway
Damien De Paoli2023-09-26 12:10:09 +10:00
91877ded3a
hard-locking postgres version as postgres cant just be updated without it breaking the db, so need to do this by hand when a new version comes out
Damien De Paoli2023-09-18 22:28:04 +10:00
4f67cb30d9
had to remove the :int on route for Flask to load now - a library was failing with a converter / lookup failure
Damien De Paoli2023-09-18 22:26:30 +10:00
b636ac08b8
update file to use new pylint settings, added types and using docstrings in goolge format with partial openapi spec
Damien De Paoli2023-06-18 22:02:33 +10:00
2767d7872d
improving code quality via pylint (with googles .pylintrc and my addition of keeping useless returns, 4 spaces for indents
Damien De Paoli2023-06-18 21:00:16 +10:00
5386243295
add instructions to upgrade to newer postgres version
Damien De Paoli2023-06-13 23:00:58 +10:00
60258a2859
added download icon to svg, and button on viewer to allow to "view original - request from Mandy :)
Damien De Paoli2023-05-06 11:56:37 +10:00
a84ff49413
added BUG-120, somehow losing pref info. No prints are working in PROD, so changed a lot of printf( in the F/E to SetFELog with error and persistent/cant_close set across many files. Also used opportunity to remove a few unnecessary debugs
Damien De Paoli2023-04-09 13:10:28 +10:00
2b478ed505
made SafePath and ensured initital paths and move_paths have valid paths, and all filenames have to be found via os.walk so should be impossible to write to parts of the FS that are unsafe
Damien De Paoli2023-02-03 16:57:39 +11:00
4b1bbcb2bf
broad (small) changes to make style of all routes and jobs to be consistent, e.g. use underscords between words
Damien De Paoli2023-01-15 23:17:59 +11:00
dc11a0697b
create build-time random string for SECRET_KEY for prod
Damien De Paoli2023-01-15 23:17:16 +11:00
05c08938d8
create build-time random string for SECRET_KEY for prod
Damien De Paoli2023-01-15 23:17:05 +11:00
f1c43906ab
delete & restore files now clean up UI and dont reload page by default. For all moves/deletes/restores that start on a search view, they now reload the page instead of just cleaning up the UI as searching by name will cause the UI to need complex redrawing, easier to live with the reload for now
Damien De Paoli2023-01-15 13:32:25 +11:00
cc9e827474
fixed bug, where directories with the same name but different path were being lost due to distinct query in DB. I dont really remember why I decided I needed distinct, so this might introduce other issues, but theere is an array merge later that should remove any redundant data, so I think this is better/good for now
Damien De Paoli2023-01-15 13:31:04 +11:00
13bfedb1a8
when init jobs fail and HandleJobs() has a catchall fail, then turn them into persistent danger popups
Damien De Paoli2023-01-15 13:29:05 +11:00
2dac6125c4
change from UUID to md5sum of face_data to allow disconnected metadata to be rematched in the future. This also removes BUG-109 where a file in DEV was deleted them copied back and deleted again, and it caused duplicate metadata reading on a subsequent pa_job_manager restart
Damien De Paoli2023-01-13 17:35:30 +11:00
1ed4a0f25d
escape apostrophes in prefix/suffix on move existing which fixes BUG-116
Damien De Paoli2023-01-13 17:22:26 +11:00
9b75c0e80e
added BUG-116: apostrophes in existing paths crashs
Damien De Paoli2023-01-13 17:18:25 +11:00
f875b50dc8
fixed BUG-114 -> only show path-specific existing options in movedbox. Added test doc to read to TODO
Damien De Paoli2023-01-13 16:48:35 +11:00
f98369e118
append is better as the toast()s appear in time-order
Damien De Paoli2023-01-13 15:32:43 +11:00
e1af427fad
fixed BUG-115 move to existing paths can contain dashes
Damien De Paoli2023-01-12 17:12:48 +11:00
9aa0f8157d
new BUGs-114 (moving files is ignorant of paths), 115 (splitting of existing path cant handles dashes)
Damien De Paoli2023-01-12 17:08:44 +11:00
ef9f26189a
another large clean up of code, all POSTs are now using make_response() and returning json OR are for a form that flask handles with rendering direct html. Where there is a POST with json response, the jscript now calls CheckForJobs() to show it in the F/E. Removed several debugs. Fixed up undocumented BUG where import datetime was wrong, and prefix/suffix also to offer directories near the date of an image. Removed unused routes for clearing messages
Damien De Paoli2023-01-12 16:47:43 +11:00
a29cbb143c
Huge change, removed Status class and all "alert" messages are now shown as BS toast() and are via the DB and handled async in the F/E in jscript via Ajax. Fixed BUG-113 where toasts() were repeating. Removed many of the explicit alert messages (other than errors) and hooked {New|Finish}Job to consistently send messages to the F/E. Other messages (F/E without a job, like save settings) now use this model as well. Finally converted most of the older POST responses to formal json
Damien De Paoli2023-01-11 13:50:05 +11:00
2be2c504b2
Huge change, removed Status class and all "alert" messages are now shown as BS toast() and are via the DB and handled async in the F/E in jscript via Ajax. Fixed BUG-113 where toasts() were repeating. Removed many of the explicit alert messages (other than errors) and hooked {New|Finish}Job to consistently send messages to the F/E. Other messages (F/E without a job, like save settings) now use this model as well
Damien De Paoli2023-01-11 13:48:50 +11:00
829f38f223
added BUG-113: with a stale job, we keep checking each 1 second, and so we keep creating new status messages
Damien De Paoli2023-01-10 17:54:34 +11:00
0784861331
added persistent and cant_close to PA_JobManager_FE_Message, used them from pa_job_manager to set status messages with persistence/close buttons appropriately for items like fix_dups/stale_jobs. When "fixing" now, the persistent Status message stays, but its now positioned approx. below the navbar on the right and is ok. Started on changing status to a more sensible naming conventions (away from alert to level) - more work to complete this
Damien De Paoli2023-01-10 17:45:02 +11:00
56c2d586b6
clean up how we create toasts() [no longer try to reuse dom elements, just add new ones each time], support persistent notifications and close button or not [via separate booleans], created a clear message route and use that now in templates/base.html to clear FE messages. This will break for check dups as I am not setting persistence / close buttons correctly for those jobs, that is next. Converted move_files to new format
Damien De Paoli2023-01-09 13:13:51 +11:00
1ba9bf4312
renamed toast.js to jobs.js and moved Job related calls to jobs.py form files.py AND get job.py to allow job_mgr msgs to go to F/E via a POST of /checkforjobs (picked up in templates/base.html). move files also calls new CheckForJobs() to pick up when move job finishes without needing a page reload
Damien De Paoli2023-01-06 17:37:15 +11:00
62f476e80f
toast now used for JM messages that are successful, its a hack but good enough for now added TODO to do this all properly one day
Damien De Paoli2023-01-05 20:49:48 +11:00
a64b449327
created toast.js with a StatusMsg() func that dynamically adds toasts that can stack as we need more, and changed over code to use it
Damien De Paoli2023-01-04 23:36:20 +11:00
3384c5337a
created toast.js with a StatusMsg() func that dynamically adds toasts that can stack as we need more, and changed over the move_files to use it
Damien De Paoli2023-01-04 23:33:01 +11:00
c3971eb495
first-pass of popups for job creation for more than just move files, and fix BUG-112 (after move highlighting is broken)
Damien De Paoli2023-01-04 12:26:25 +11:00
7e115902fc
new BUG-112 - after move highliting is broken when I stay on the same page
Damien De Paoli2023-01-04 12:24:19 +11:00
0eeb68658b
move files now has bs toast pop for success and stays on the page you are on for more moves
Damien De Paoli2023-01-03 22:46:29 +11:00
972eac5b5b
first pass of move_files not redirecting to / and staying put for an other move_files, works, but needs success/toast
Damien De Paoli2023-01-03 15:48:13 +11:00
385a0ce17f
popped PROD!!! just above DB refresh of prod command as a reminder
Damien De Paoli2023-01-03 15:47:37 +11:00
022ec457a6
remove old "storage" directory from DEV and therefore from .*ignore
Damien De Paoli2023-01-03 15:46:48 +11:00
d136e9f4a1
consistent div/dl use (fix formatting of BUGs being too far left)
Damien De Paoli2023-01-03 12:58:49 +11:00
fd4f9905e1
using tabbed pane for the 3 different info parts on about, removed debugs, cleaned up ignore files to remove the new files for the about info
Damien De Paoli2023-01-03 12:08:57 +11:00
0684f4725a
build process (via Dockerfile) now timestamps build and that is exposed on about page
Damien De Paoli2023-01-03 11:46:53 +11:00
be3e2ae19e
improved about page to include BUGs and TODO, still better formatting required,and build date to be handled separate to last commit date
Damien De Paoli2023-01-03 00:34:03 +11:00
06846b86c5
fixed BUG-105, unmatched faces now ignores overridden faces
Damien De Paoli2023-01-02 22:42:22 +11:00
7d7f76ba33
about page now extends base (so has navbar -oops), and DEV finds last file change time
Damien De Paoli2022-12-31 15:54:25 +11:00
b952fe82f6
large refactor of code to use venv (in .python) for DEV, to use consistent python versions with PROD, sepcifically flask 2.2.2 to address the deprecation of FLASK_ENV -> replaced with ENV. Fixed up git and dockerignores to be more stringent
Damien De Paoli2022-12-31 15:42:03 +11:00
8232943621
added internal/git-log.txt to .gitignore if there in DEV for testing. Removed timezone from Date in About, and redid columns to 3 and 9 for better spacing in About
Damien De Paoli2022-12-31 14:35:52 +11:00
385665b702
BUG-111 also included a TODO for deprecation warning of FLASK_ENV, moved that to TODO list
Damien De Paoli2022-12-31 14:30:54 +11:00
fe1200ca65
add about template including 15 recent commits by default
Damien De Paoli2022-12-31 14:29:56 +11:00
2687be3979
also fixed BUG-111 (circular import issues which blocked git installation in Prod container)
Damien De Paoli2022-12-31 14:29:36 +11:00
1afaa338a8
finished basic about page, and including 15 recent commits by default
Damien De Paoli2022-12-31 14:28:05 +11:00
70c449d859
move the choices for AI models in SelectField to be delayed to when SettingsForm is created to avoid gunicorn barfing on init -- its all circular import issues I think, but this is bearable for now
Damien De Paoli2022-12-29 13:06:21 +11:00
9de6e21eaa
made main() a func, not sure it matters tbh, also reordered an import, but to no affect
Damien De Paoli2022-12-29 13:05:19 +11:00
1da4f410fd
fixed import of MovePathDetails to the rest of path imports
Damien De Paoli2022-12-29 13:03:02 +11:00
dc415c24f4
fixed upgrade / import issues, now upgrading and including git
Damien De Paoli2022-12-29 13:02:36 +11:00
ec95cbfd47
tinkering with git commit logs being stored during build, and hit a BUG - back to functional, but cant do git yet
Damien De Paoli2022-12-28 21:36:28 +11:00
2a1e2d7d5d
cleaned up code around json, *locn -> transitioned to top, right, bottom, left to finally fix ORM replacing [ with { <- FIXES BUG-108
Damien De Paoli2022-12-23 16:18:27 +11:00
81fea4f6f3
remove temporary code to fix faces (move coords from locn to top, right, etc.)
Damien De Paoli2022-12-23 16:04:51 +11:00