instance-id / Searcher

Houdini Searcher: Command palette-esq addon
https://github.com/instance-id/Searcher
10 stars 0 forks source link

Files missing in release + sqlite3.OperationalError: no such table: settings #2

Closed haakonstorm closed 6 months ago

haakonstorm commented 7 months ago

Really looking forward to trying this out!

I'm on latest Houdini 20.0.653 on Windows 11. Downloaded from releases. Edited Searcher.json and placed the Searcher_0.1.4 folder in a persistent folder.

Upon Houdini launch the Console errors out:

Error running pythonrc.py:
Traceback (most recent call last):
  File "C:/Users/redacted/software/Searcher_0.1.4/Searcher/python3.10libs/pythonrc.py", line 7, in <module>
    from searcher import searchersetup
ImportError: cannot import name 'searchersetup' from 'searcher' (unknown location)

Looking under python3.10libs/searcher it seems that the release is in fact missing the assets as compared to what is in the repo?

Downloading the repo as a .zip and moving the files from /python3.10libs/searcher and over to the persistent folder. Houdini starts but complains about "lts" which I figure is the long text search, so I replaced the sqlite3.dll in houdini_xxx/bin. Now this error:

Traceback (most recent call last):
  File "C:\PROGRA~1/SIDEEF~1/HOUDIN~1.653/houdini/python3.10libs\hdefereval.py", line 155, in _processDeferred
    result = code(*args, **kwargs)
  File "C:\Users/redacted/software/Searcher_0.1.4/Searcher/python3.10libs\searcher\searchersetup.py", line 285, in dbupdate
    chindex = getchangeindex(cur)
  File "C:\Users/redacted/software/Searcher_0.1.4/Searcher/python3.10libs\searcher\searchersetup.py", line 212, in getchangeindex
    cur.execute("SELECT indexvalue FROM settings")
sqlite3.OperationalError: no such table: settings

I see there is a line commented out regarding settings, but don't know enough py to start editing the code.

Also, the actual hotkey trigger: Ctrl+"`" as I'm on a Norwegian keyboard layout, this key will most definitely not work as it is mapped to a dead-key. Can you point me to how I can change this hotkey to something else? Or do you want to me to write a separate issue for it?

Very eager to getting a command palette in Houdini. Thank you for you work.

instance-id commented 7 months ago

I will get my Windows VM up and running tomorrow to take a look at this. I should have tested extracting the zip and using it after I created it, so that is my bad. I was just headed to bed when I saw this, but will be sure to get to it in the morning.

instance-id commented 7 months ago

I am working on getting my Windows VM back up, was having a proxmox gpu issue, so I had to fiddle with it.

In the mean time, you can change the default hotkey to open the Searcher Window at the following location:

Hotkey Location Image ![](https://img.instance.id/F6nAqrgD5hMr/direct)
haakonstorm commented 7 months ago

Awesome, thank you man. I was looking into AHK to help me with the keymap, didn't even think about Hou's keymap editor. I have a hyper-key setup with AHK, remapping capslock to ctrlaltshift. Was thinking hyper+Z for ultimate one-handed command palette invocation in Houdini. I have an arm macbook m1, can test install there on macos on a Houdini apprentice edition when the fixed release is ready.

instance-id commented 7 months ago

It looks I need to update my build script to move the python byte code files and rename them. I just tried it manually using the files in the zip only and after moving them from python3.10libs//searcher/__pycache__/ into the parent searcher directory python3.10libs/searcher and renaming them from file_name.cpython-310.pyc' to simply file_name.pyc, I was able to get it working just fine on Linux.

Resolution

That said, I was able to reproduce the final issue you ran into on my Win10 machine. It looks like what is happening is, if you open Houdini but don't yet have the correct sqlite.dll in place, the database that searcher attempts to create is not correct due to houdini having errored out early on in the setup process. You should be able to resolve this by simply closing Houdini, navigating to the following location:

C:\Users\<your_user>\Documents\houdini20.0\Searcher and locate the file searcher.db and delete it. Now that you have the correct sqlite.dll in place, next time you open Houdini, it should recreate the database properly, and you should be good to go.

Please do let me know if this works for you. If not, I will have to spin up a Win11 box and see what else may be up. I need a Win11 VM anyways, so I might just do that and test it there as well regardless.


Edit: Unforunately, when I initially tried, I was not able to get it working on MacOS. Granted, this was just a project for my own use, and I didn't use Mac, so I really didn't try too terribly hard, and no one had ever brought it up since I released this a few years ago, so I never bothered to try again, as I only have a Mac Mini from somewhere around 2012-2013, which I have not even turned on in 2-3 years. You are definitely welcome to give it a try, though, I do not have high hopes for it.

I did put in place a manual restriction on MacOS, which you would have to remove from the .../houdini20.0/packages/Searcher.json settings file you configured initially.

You should be able to change Line 10 from this:

"enable": "houdini_version >= '18.0.348' and (houdini_os != 'macos')",

to this:

"enable": "houdini_version >= '18.0.348'",

This should allow MacOS to attempt to load the plugin. Honestly though, I can't remember exactly what wasn't working, so you may receive errors, or it might have been that it returned no results when trying to search or something along those lines.

instance-id commented 7 months ago

You can find the new release here: 0.1.5 which has the proper compiled files for runtime.

instance-id commented 6 months ago

I am assuming that everything ended up working out. Feel free to reopen this is you are still having issues.