Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New movie player in the analysis panel that downloads a zipfile of all JPEGs #423

Merged
merged 43 commits into from
Jun 16, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
43 commits
Select commit Hold shift + click to select a range
b569f98
new movie approach
simsong Jun 1, 2024
2b9d5f7
rvfc_demo.js works
simsong Jun 4, 2024
52e355f
after a lot of trial and error, stepping works and resetting works.
simsong Jun 5, 2024
913625b
forward step works; back step does not
simsong Jun 5, 2024
2924613
forward and back seem to work
simsong Jun 5, 2024
2780098
forward and back work, but play gets unsynced
simsong Jun 5, 2024
26fded3
plays and pauses
simsong Jun 6, 2024
771ce56
update
simsong Jun 7, 2024
1b1cca0
added all
simsong Jun 7, 2024
946ee7a
added
simsong Jun 7, 2024
f06918d
fixed typo
simsong Jun 9, 2024
a195927
initial unzip
simsong Jun 9, 2024
d83da2c
added tracked
simsong Jun 9, 2024
3f1e554
update
simsong Jun 9, 2024
8b9917f
updated
simsong Jun 9, 2024
d06e355
Merge remote-tracking branch 'origin/main' into dev-movieapi
simsong Jun 9, 2024
0f04f40
updating schema
simsong Jun 9, 2024
4e17eae
update schema a little more
simsong Jun 9, 2024
451ce07
removed reference to annotations
simsong Jun 10, 2024
426c2fd
get-movie-data always returns URLs and now can also return the zipfiles
simsong Jun 10, 2024
4b434a2
working to repass self-tests
simsong Jun 11, 2024
db7d2d5
test_movie_test works
simsong Jun 11, 2024
a0a3a75
all tests pass locally
simsong Jun 11, 2024
23388cc
all tests pass locally
simsong Jun 11, 2024
1c12677
fixed upgrade from schema 10 to 11
simsong Jun 11, 2024
7bc9376
Merge remote-tracking branch 'origin/main' into dev-movieapi
simsong Jun 13, 2024
261354d
demo_tracer1.html and demo_tracer2.html working again.
simsong Jun 14, 2024
00a92c6
http://localhost:8080/demo_tracer2.html animates properly but does no…
simsong Jun 14, 2024
05b9910
draging and single-framing works in demo_tracer2.html. Now need to ma…
simsong Jun 14, 2024
00ed509
* zipfile movie creation when tracking happens
simsong Jun 15, 2024
cb06198
improved garbage collection
simsong Jun 15, 2024
2b2ebf1
updated ctools
simsong Jun 15, 2024
64f00d4
cleaning up for deployment to dev
simsong Jun 15, 2024
21f3b19
fixedd for id
simsong Jun 15, 2024
b14dbc4
improved cleanup logic
simsong Jun 15, 2024
17de4bb
onload update headline after load
simsong Jun 15, 2024
b090e73
fixed credentials.ini for CI/CD
simsong Jun 15, 2024
062e129
fixed credentials.ini for CI/CD
simsong Jun 15, 2024
fb21ecf
fixed credentials.ini for CI/CD
simsong Jun 15, 2024
55e30ad
fixed credentials.ini for CI/CD
simsong Jun 15, 2024
332236e
updated all actions
simsong Jun 15, 2024
abdc929
added [s3] section
simsong Jun 15, 2024
ee3a033
added some feedback to js
simsong Jun 15, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions .github/workflows/continuous-integration-pip.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,13 +36,13 @@ jobs:
submodules: true

- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}

- name: "Configure ubuntu with ffmpeg"
if: startsWith(matrix.os, 'ubuntu')
uses: FedericoCarboni/setup-ffmpeg@v2
uses: FedericoCarboni/setup-ffmpeg@v3
id: setup-ffmpeg

- name: "Configure ubuntu"
Expand All @@ -62,7 +62,7 @@ jobs:

- name: "Install Chrome"
id: setup-chrome
uses: browser-actions/setup-chrome@v1.4.0
uses: browser-actions/setup-chrome@v1.7.1
with:
chrome-version: stable

Expand All @@ -72,7 +72,7 @@ jobs:
${{ steps.setup-chrome.outputs.chrome-path }} --version

- name: Install chromedriver
uses: nanasess/setup-chromedriver@v2.2.1
uses: nanasess/setup-chromedriver@v2.2.2

- name: Update GITHUB_PATH and install Python dependencies
run: |
Expand Down Expand Up @@ -112,7 +112,7 @@ jobs:

- name: Upload to codecov.io
if: startsWith(matrix.os, 'ubuntu')
uses: codecov/codecov-action@v3
uses: codecov/codecov-action@v4
with:
token: ${{ secrets.CODECOV_TOKEN }}
verbose: true
Expand Down
39 changes: 31 additions & 8 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,10 @@ JS_FILES := $(TS_FILES:.ts=.js)

################################################################
# Manage the virtual environment
A = . venv/bin/activate
ACTIVATE = . venv/bin/activate
REQ = venv/pyvenv.cfg
PY=python3.11
PYTHON=$(A) ; $(PY)
PYTHON=$(ACTIVATE) ; $(PY)
PIP_INSTALL=$(PYTHON) -m pip install --no-warn-script-location
venv/pyvenv.cfg:
$(PY) -m venv venv
Expand Down Expand Up @@ -83,7 +83,7 @@ pytest: $(REQ)

# Set these during development to speed testing of the one function you care about:
TEST1MODULE=tests/movie_test.py
TEST1FUNCTION="-k test_movie_extract1"
TEST1FUNCTION="-k test_new_movie"
pytest1:
$(PYTHON) -m pytest --log-cli-level=DEBUG tests/dbreader_test.py
@echo dbreader_test is successful
Expand Down Expand Up @@ -113,15 +113,23 @@ pytest-quiet:
@echo dbreader_test is successful
$(PYTHON) -m pytest --log-cli-level=ERROR

################################################################
test-schema-upgrade:
$(PYTHON) dbmaint.py --rootconfig etc/mysql-root-localhost.ini --dropdb test_db1 || echo database does not exist
$(PYTHON) dbmaint.py --rootconfig etc/mysql-root-localhost.ini --createdb test_db1 --schema etc/schema_0.sql
$(PYTHON) dbmaint.py --rootconfig etc/mysql-root-localhost.ini --upgradedb test_db1
$(PYTHON) dbmaint.py --rootconfig etc/mysql-root-localhost.ini --dropdb test_db1


################################################################
### Database management for testing and CI/CD


create_localdb:
@echo Creating local database, exercise the upgrade code and write credentials to etc/credentials.ini using etc/github_actions_mysql_rootconfig.ini
@echo etc/credentials.ini will be used automatically by other tests
$(PYTHON) dbmaint.py --create_client=$$MYSQL_ROOT_PASSWORD --writeconfig etc/github_actions_mysql_rootconfig.ini
$(PYTHON) dbmaint.py --rootconfig etc/github_actions_mysql_rootconfig.ini --createdb actions_test --schema etc/schema_0.sql --writeconfig etc/credentials.ini
$(PYTHON) dbmaint.py --rootconfig etc/github_actions_mysql_rootconfig.ini --upgradedb actions_test --loglevel DEBUG
$(PYTHON) dbmaint.py --upgradedb --loglevel DEBUG
$(PYTHON) -m pytest -x --log-cli-level=DEBUG tests/dbreader_test.py

remove_localdb:
Expand Down Expand Up @@ -220,9 +228,24 @@ install-windows:
if [ -r requirements-windows.txt ]; then $(PIP_INSTALL) -r requirements-windows.txt ; else echo no requirements-ubuntu.txt ; fi
if [ -r requirements.txt ]; then $(PIP_INSTALL) -r requirements.txt ; else echo no requirements.txt ; fi

update:
$(PYTHON) pip freeze > requirements.txt
$(PYTHON) zappa update dev
################################################################
## Python maintence and Zappa deployment

# https://stackoverflow.com/questions/24764549/upgrade-python-packages-from-requirements-txt-using-pip-command
update-python:
cat requirements.txt | cut -f1 -d= | xargs pip install -U

update-dev:
$(ACTIVATE) && pip freeze > requirements.txt
$(ACTIVATE) && zappa update dev

update-prod:
$(ACTIVATE) && pip freeze > requirements.txt
$(ACTIVATE) && zappa update production

update-demo:
$(ACTIVATE) && pip freeze > requirements.txt
$(ACTIVATE) && zappa update demo

%.js: %.ts
tsc $<
6 changes: 3 additions & 3 deletions auth.py
Original file line number Diff line number Diff line change
Expand Up @@ -50,9 +50,9 @@ def smtp_config():
assert key in cp['smtp']
return section

def http404(msg=''):
return bottle.HTTPResponse(body='Authentication error 404 '+msg,
status=404)
def http403(msg=''):
return bottle.HTTPResponse(body='Authentication error 403 '+msg,
status=403)

@functools.cache
def get_dbreader():
Expand Down
Loading
Loading