NRCan / CanCurve

flood depth damage function tools for Canada
Other
0 stars 0 forks source link

database install issues #29

Open hmcgrath opened 2 weeks ago

hmcgrath commented 2 weeks ago

installed from dev branch, install successful. loaded Case 1:

2024-11-07T15:34:52 SUCCESS Plugin installed successfully 2024-11-07T15:35:12 INFO CanCurve : ui populated for testCase 'case1' 2024-11-07T15:35:28 WARNING Python error : An error has occurred while executing Python code: See message log (Python Error) for more details.

CanCurve Log: 2024-11-07T15:35:12 WARNING cc.BldgsDialog: failed to remove the existing project database filepath w/ [WinError 3] The system cannot find the path specified: '' 2024-11-07T15:35:12 INFO cc.BldgsDialog: ui populated for testCase 'case1' 2024-11-07T15:35:28 INFO cc.BldgsDialog.tab4actions_run: start 2024-11-07T15:35:28 INFO cc.BldgsDialog.tab4actions_run:

         Step 1
         ----------------------

2024-11-07T15:35:28 INFO c00: using user-provided depth-replacement-fraction dataset 2024-11-07T15:35:28 INFO load_ci_df: loaded cost-item table (1108, 4)

Python Error: 2024-11-07T15:35:28 WARNING Traceback (most recent call last): File "C:\Users/hmcgrath/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\cancurve\bldgs\assertions.py", line 124, in assert_drf_db _assert_sqlite_table_exists(conn, 'drf') File "C:\Users/hmcgrath/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\cancurve\bldgs\assertions.py", line 23, in _assert_sqlite_table_exists cursor = conn.execute("SELECT name FROM sqlite_master WHERE type='table' AND name=?", (table_name, )) sqlite3.DatabaseError: file is not a database

         During handling of the above exception, another exception occurred:

         Traceback (most recent call last):
          File "C:\Users/hmcgrath/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\cancurve\bldgs\dialog.py", line 528, in action_tab4actions_run
          _, _, _, err_msg = self._run_c00_setup_project(logger=log, out_dir=out_dir)
          File "C:\Users/hmcgrath/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\cancurve\bldgs\dialog.py", line 638, in _run_c00_setup_project
          ci_df, drf_df, ofp, err_msg = func(
          File "C:\Users/hmcgrath/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\cancurve\bldgs\core.py", line 802, in c00_setup_project
          drf_df_raw = load_drf(drf_db_fp, log=log, expo_units=expo_units)
          File "C:\Users/hmcgrath/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\cancurve\bldgs\core.py", line 136, in load_drf
          assert_drf_db(conn)
          File "C:\Users/hmcgrath/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\cancurve\bldgs\assertions.py", line 130, in assert_drf_db
          raise AssertionError(f"MasterRuleBook failed expectation check\n {e}")
         AssertionError: MasterRuleBook failed expectation check
          file is not a database
hmcgrath commented 2 weeks ago

this also might be helpfile:

An error has occurred while executing Python code:

AssertionError: MasterRuleBook failed expectation check file is not a database Traceback (most recent call last): File "C:\Users/hmcgrath/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\cancurve\bldgs\assertions.py", line 124, in assert_drf_db _assert_sqlite_table_exists(conn, 'drf') File "C:\Users/hmcgrath/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\cancurve\bldgs\assertions.py", line 23, in _assert_sqlite_table_exists cursor = conn.execute("SELECT name FROM sqlite_master WHERE type='table' AND name=?", (table_name, )) sqlite3.DatabaseError: file is not a database

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File "C:\Users/hmcgrath/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\cancurve\bldgs\dialog.py", line 528, in action_tab4actionsrun , , , err_msg = self._run_c00_setup_project(logger=log, out_dir=out_dir) File "C:\Users/hmcgrath/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\cancurve\bldgs\dialog.py", line 638, in _run_c00_setup_project ci_df, drf_df, ofp, err_msg = func( File "C:\Users/hmcgrath/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\cancurve\bldgs\core.py", line 802, in c00_setup_project drf_df_raw = load_drf(drf_db_fp, log=log, expo_units=expo_units) File "C:\Users/hmcgrath/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\cancurve\bldgs\core.py", line 136, in load_drf assert_drf_db(conn) File "C:\Users/hmcgrath/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\cancurve\bldgs\assertions.py", line 130, in assert_drf_db raise AssertionError(f"MasterRuleBook failed expectation check\n {e}") AssertionError: MasterRuleBook failed expectation check file is not a database

Python version: 3.9.18 (heads/master:5eba59e, Feb 1 2024, 20:02:10) [MSC v.1929 64 bit (AMD64)] QGIS version: 3.34.5-Prizren Prizren, 4b308492

Python Path: C:\Users/hmcgrath/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\whitebox_workflows_for_qgis C:\Users/hmcgrath/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\LAStools C:/PROGRA~1/QGIS33~1.5/apps/qgis-ltr/./python C:/Users/hmcgrath/AppData/Roaming/QGIS/QGIS3\profiles\default/python C:/Users/hmcgrath/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins C:/PROGRA~1/QGIS33~1.5/apps/qgis-ltr/./python/plugins C:\PROGRA~1\QGIS33~1.5\apps\grass\grass83\etc\python C:\Users\hmcgrath\Documents C:\Program Files\QGIS 3.34.5\bin\python39.zip C:\PROGRA~1\QGIS33~1.5\apps\Python39\DLLs C:\PROGRA~1\QGIS33~1.5\apps\Python39\lib C:\Program Files\QGIS 3.34.5\bin C:\PROGRA~1\QGIS33~1.5\apps\Python39 C:\PROGRA~1\QGIS33~1.5\apps\Python39\lib\site-packages C:\PROGRA~1\QGIS33~1.5\apps\Python39\lib\site-packages\win32 C:\PROGRA~1\QGIS33~1.5\apps\Python39\lib\site-packages\win32\lib C:\PROGRA~1\QGIS33~1.5\apps\Python39\lib\site-packages\Pythonwin C:/Users/hmcgrath/AppData/Roaming/QGIS/QGIS3\profiles\default/python C:\Users\hmcgrath\AppData\Roaming\QGIS\QGIS3\profiles\default\python\plugins\canflood C:\Users/hmcgrath/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\cancurve

cefect commented 2 weeks ago

Strange. It looks like you are using an old version of QGIS (but it’s probably is not the issue). Can you try uninstalling the plug-in, restarting QGIs, Then reinstalling from the latest zip file?

Seth Bryant

On Thu, Nov 7, 2024 at 13:48 hmcgrath @.***> wrote:

this also might be helpfile:

An error has occurred while executing Python code:

AssertionError: MasterRuleBook failed expectation check file is not a database Traceback (most recent call last): File "C:\Users/hmcgrath/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\cancurve\bldgs\assertions.py", line 124, in assert_drf_db _assert_sqlite_table_exists(conn, 'drf') File "C:\Users/hmcgrath/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\cancurve\bldgs\assertions.py", line 23, in _assert_sqlite_table_exists cursor = conn.execute("SELECT name FROM sqlite_master WHERE type='table' AND name=?", (table_name, )) sqlite3.DatabaseError: file is not a database

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File "C:\Users/hmcgrath/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\cancurve\bldgs\dialog.py", line 528, in action_tab4actionsrun , , , err_msg = self._run_c00_setup_project(logger=log, out_dir=out_dir) File "C:\Users/hmcgrath/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\cancurve\bldgs\dialog.py", line 638, in _run_c00_setup_project ci_df, drf_df, ofp, err_msg = func( File "C:\Users/hmcgrath/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\cancurve\bldgs\core.py", line 802, in c00_setup_project drf_df_raw = load_drf(drf_db_fp, log=log, expo_units=expo_units) File "C:\Users/hmcgrath/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\cancurve\bldgs\core.py", line 136, in load_drf assert_drf_db(conn) File "C:\Users/hmcgrath/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\cancurve\bldgs\assertions.py", line 130, in assert_drf_db raise AssertionError(f"MasterRuleBook failed expectation check\n {e}") AssertionError: MasterRuleBook failed expectation check file is not a database

Python version: 3.9.18 (heads/master:5eba59e, Feb 1 2024, 20:02:10) [MSC v.1929 64 bit (AMD64)] QGIS version: 3.34.5-Prizren Prizren, 4b308492

Python Path:

C:\Users/hmcgrath/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\whitebox_workflows_for_qgis

C:\Users/hmcgrath/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\LAStools C:/PROGRA1/QGIS331.5/apps/qgis-ltr/./python C:/Users/hmcgrath/AppData/Roaming/QGIS/QGIS3\profiles\default/python

C:/Users/hmcgrath/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins C:/PROGRA1/QGIS331.5/apps/qgis-ltr/./python/plugins C:\PROGRA1\QGIS331.5\apps\grass\grass83\etc\python C:\Users\hmcgrath\Documents C:\Program Files\QGIS 3.34.5\bin\python39.zip C:\PROGRA1\QGIS331.5\apps\Python39\DLLs C:\PROGRA1\QGIS331.5\apps\Python39\lib C:\Program Files\QGIS 3.34.5\bin C:\PROGRA1\QGIS331.5\apps\Python39 C:\PROGRA1\QGIS331.5\apps\Python39\lib\site-packages C:\PROGRA1\QGIS331.5\apps\Python39\lib\site-packages\win32 C:\PROGRA1\QGIS331.5\apps\Python39\lib\site-packages\win32\lib C:\PROGRA1\QGIS331.5\apps\Python39\lib\site-packages\Pythonwin C:/Users/hmcgrath/AppData/Roaming/QGIS/QGIS3\profiles\default/python

C:\Users\hmcgrath\AppData\Roaming\QGIS\QGIS3\profiles\default\python\plugins\canflood

C:\Users/hmcgrath/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\cancurve

— Reply to this email directly, view it on GitHub https://github.com/NRCan/CanCurve/issues/29#issuecomment-2463182929, or unsubscribe https://github.com/notifications/unsubscribe-auth/ALHJCQXRQLUPKZG6FFMR46LZ7PG3VAVCNFSM6AAAAABRMBAVBWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDINRTGE4DEOJSHE . You are receiving this because you are subscribed to this thread.Message ID: @.***>

hmcgrath commented 2 weeks ago

I did just download a ZIP from dev branch, 2-3 hours ago. is there a new version since then?

Is the DRF been emptied? it is only 1kb, and when I open in sql it seems empty.

hmcgrath commented 1 week ago

downloaded cancurve this morning and reinstalled plugin.
still getting error.

An error has occurred while executing Python code:

AssertionError: MasterRuleBook failed expectation check file is not a database Traceback (most recent call last): File "C:\Users/hmcgrath/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\cancurve\bldgs\assertions.py", line 124, in assert_drf_db _assert_sqlite_table_exists(conn, 'drf') File "C:\Users/hmcgrath/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\cancurve\bldgs\assertions.py", line 23, in _assert_sqlite_table_exists cursor = conn.execute("SELECT name FROM sqlite_master WHERE type='table' AND name=?", (table_name, )) sqlite3.DatabaseError: file is not a database

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File "C:\Users/hmcgrath/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\cancurve\bldgs\dialog.py", line 559, in action_tab4actions_step1 self._run_c00_setup_project() File "C:\Users/hmcgrath/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\cancurve\bldgs\dialog.py", line 638, in _run_c00_setup_project ci_df, drf_df, ofp, err_msg = func( File "C:\Users/hmcgrath/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\cancurve\bldgs\core.py", line 802, in c00_setup_project drf_df_raw = load_drf(drf_db_fp, log=log, expo_units=expo_units) File "C:\Users/hmcgrath/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\cancurve\bldgs\core.py", line 136, in load_drf assert_drf_db(conn) File "C:\Users/hmcgrath/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\cancurve\bldgs\assertions.py", line 130, in assert_drf_db raise AssertionError(f"MasterRuleBook failed expectation check\n {e}") AssertionError: MasterRuleBook failed expectation check file is not a database

Python version: 3.9.18 (heads/master:5eba59e, Feb 1 2024, 20:02:10) [MSC v.1929 64 bit (AMD64)] QGIS version: 3.34.5-Prizren Prizren, 4b308492

Python Path: C:\Users/hmcgrath/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\whitebox_workflows_for_qgis C:\Users/hmcgrath/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\LAStools C:/PROGRA~1/QGIS33~1.5/apps/qgis-ltr/./python C:/Users/hmcgrath/AppData/Roaming/QGIS/QGIS3\profiles\default/python C:/Users/hmcgrath/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins C:/PROGRA~1/QGIS33~1.5/apps/qgis-ltr/./python/plugins C:\PROGRA~1\QGIS33~1.5\apps\grass\grass83\etc\python C:\Users\hmcgrath\Documents C:\Program Files\QGIS 3.34.5\bin\python39.zip C:\PROGRA~1\QGIS33~1.5\apps\Python39\DLLs C:\PROGRA~1\QGIS33~1.5\apps\Python39\lib C:\Program Files\QGIS 3.34.5\bin C:\PROGRA~1\QGIS33~1.5\apps\Python39 C:\PROGRA~1\QGIS33~1.5\apps\Python39\lib\site-packages C:\PROGRA~1\QGIS33~1.5\apps\Python39\lib\site-packages\win32 C:\PROGRA~1\QGIS33~1.5\apps\Python39\lib\site-packages\win32\lib C:\PROGRA~1\QGIS33~1.5\apps\Python39\lib\site-packages\Pythonwin C:/Users/hmcgrath/AppData/Roaming/QGIS/QGIS3\profiles\default/python C:\Users/hmcgrath/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\cancurve C:\Users\hmcgrath\AppData\Roaming\QGIS\QGIS3\profiles\default\python\plugins\canflood

cefect commented 1 week ago

No new changes. It sounds like something went wrong with the default database during the install. I’ll try and take a look later today. In the meantime, You could download the database directly from the repository And Point your models to it

Seth Bryant

On Fri, Nov 8, 2024 at 08:26 hmcgrath @.***> wrote:

downloaded cancurve this morning and reinstalled plugin. still getting error.

An error has occurred while executing Python code:

AssertionError: MasterRuleBook failed expectation check file is not a database Traceback (most recent call last): File "C:\Users/hmcgrath/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\cancurve\bldgs\assertions.py", line 124, in assert_drf_db _assert_sqlite_table_exists(conn, 'drf') File "C:\Users/hmcgrath/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\cancurve\bldgs\assertions.py", line 23, in _assert_sqlite_table_exists cursor = conn.execute("SELECT name FROM sqlite_master WHERE type='table' AND name=?", (table_name, )) sqlite3.DatabaseError: file is not a database

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File "C:\Users/hmcgrath/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\cancurve\bldgs\dialog.py", line 559, in action_tab4actions_step1 self._run_c00_setup_project() File "C:\Users/hmcgrath/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\cancurve\bldgs\dialog.py", line 638, in _run_c00_setup_project ci_df, drf_df, ofp, err_msg = func( File "C:\Users/hmcgrath/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\cancurve\bldgs\core.py", line 802, in c00_setup_project drf_df_raw = load_drf(drf_db_fp, log=log, expo_units=expo_units) File "C:\Users/hmcgrath/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\cancurve\bldgs\core.py", line 136, in load_drf assert_drf_db(conn) File "C:\Users/hmcgrath/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\cancurve\bldgs\assertions.py", line 130, in assert_drf_db raise AssertionError(f"MasterRuleBook failed expectation check\n {e}") AssertionError: MasterRuleBook failed expectation check file is not a database

Python version: 3.9.18 (heads/master:5eba59e, Feb 1 2024, 20:02:10) [MSC v.1929 64 bit (AMD64)] QGIS version: 3.34.5-Prizren Prizren, 4b308492

Python Path:

C:\Users/hmcgrath/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\whitebox_workflows_for_qgis

C:\Users/hmcgrath/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\LAStools C:/PROGRA1/QGIS331.5/apps/qgis-ltr/./python C:/Users/hmcgrath/AppData/Roaming/QGIS/QGIS3\profiles\default/python

C:/Users/hmcgrath/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins C:/PROGRA1/QGIS331.5/apps/qgis-ltr/./python/plugins C:\PROGRA1\QGIS331.5\apps\grass\grass83\etc\python C:\Users\hmcgrath\Documents C:\Program Files\QGIS 3.34.5\bin\python39.zip C:\PROGRA1\QGIS331.5\apps\Python39\DLLs C:\PROGRA1\QGIS331.5\apps\Python39\lib C:\Program Files\QGIS 3.34.5\bin C:\PROGRA1\QGIS331.5\apps\Python39 C:\PROGRA1\QGIS331.5\apps\Python39\lib\site-packages C:\PROGRA1\QGIS331.5\apps\Python39\lib\site-packages\win32 C:\PROGRA1\QGIS331.5\apps\Python39\lib\site-packages\win32\lib C:\PROGRA1\QGIS331.5\apps\Python39\lib\site-packages\Pythonwin C:/Users/hmcgrath/AppData/Roaming/QGIS/QGIS3\profiles\default/python

C:\Users/hmcgrath/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\cancurve

C:\Users\hmcgrath\AppData\Roaming\QGIS\QGIS3\profiles\default\python\plugins\canflood

— Reply to this email directly, view it on GitHub https://github.com/NRCan/CanCurve/issues/29#issuecomment-2465037956, or unsubscribe https://github.com/notifications/unsubscribe-auth/ALHJCQU7RPA7MWKN63CXBJDZ7TJ3TAVCNFSM6AAAAABRMBAVBWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDINRVGAZTOOJVGY . You are receiving this because you commented.Message ID: @.***>

cefect commented 1 week ago

can you check the MasterRuleBook database that installed: both in the .zip file you used and the install location (C:\Users/hmcgrath/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\cancurve\db).

It should be called mrb_20241007.db and should be ~132kb.

I'm guessing something went wrong in the downloading or the extraction of the zip.

Either way, I'll need to improve the error messages.

hmcgrath commented 1 week ago

the database when I download and unzip from github is only 1KB. image

cefect commented 1 week ago

Well, at least we know the issue. Can you try downloading the zip file again, From the latest release. Then extracting it yourself using seven zip or Win zip? How big is the file before and after extraction?

I wonder if there is some dependency QGIS is using during The plug-in install on your machine To unzip the file That doesn’t handle .db extensions. But strange, this wasn’t an issue before.

Seth Bryant

On Fri, Nov 8, 2024 at 08:54 hmcgrath @.***> wrote:

the database when I download and unzip from github is only 1KB. image.png (view on web) https://github.com/user-attachments/assets/56bdb23d-9235-4adc-8c9b-bc560528c12b

— Reply to this email directly, view it on GitHub https://github.com/NRCan/CanCurve/issues/29#issuecomment-2465101482, or unsubscribe https://github.com/notifications/unsubscribe-auth/ALHJCQSGLCDHK2W6XOUA4ETZ7TNE3AVCNFSM6AAAAABRMBAVBWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDINRVGEYDCNBYGI . You are receiving this because you commented.Message ID: @.***>

hmcgrath commented 1 week ago

the only way I get the full database (132KB) is if I open Desktop GitHub and create a pull request. then copy it to the default place or browse to it in a new location. I tried download the zip (https://github.com/NRCan/CanCurve/archive/refs/heads/dev.zip) from github, using both Chrome and Edge browsers, both start with database being 1kb before and after unzip.

cefect commented 1 week ago

Did you try downloading the .zip file from the latest release?

image