Rebuild all/empty all filtered decks (enhanced fork) [Official thread]

If you have a problem with the add-on rebuild all/empty all filtered decks (enhanced fork) post in this thread. This way I get notified. If you make a new thread I will likely miss it.

2 Likes

Hello,

When trying to “rebuild all” I get a pop-up that says “can’t modify this deck.” and an endless “processing…” bar. I am running Anki 2.1.33. Any suggestions?

Thank you for your hard work.

Justin

@jrholbro:

Thanks for reporting this issue.

I need more details. Can you share the following info: in the main window click on help->About. in the window that opens click the button “copy debug info” and paste what’s in your clipboard.

I think you might have one of the following add-ons installed: “Hoarders Delight” or “Slackers delight”. If you disable these and restart Anki: Does the problem still occur?

Hey,

Thanks for the quick response. I did have “Slackers delight” installed which seemed to be causing the issue. Thank you for your help.

I’m happy to reinstall the add-on and try to replicate the issue if the info will be helpful to you.

@jrholbro: I just uploaded a new version to ankiweb that should work with slacker’s delight. Could you update your add-ons and restart. If the problem persists of if you run into other problems let me know.

1 Like

Confirmed that it does work with Slacker’s Delight. Thank you for the useful add-on and update!

The buttons at the bottom of the main window don’t appear with this enhanced fork. This addon doesn’t appear to be working at all for me.

An older version of the addon (Rebuild All & Empty All for Anki 2.1 - AnkiWeb) still works, but I want to disable the old version and use your version because the configuration options would be useful to me.

I’m using the latest version of Anki 2.1.43

@Sea191: The add-on works for me in .43. My fork (modified version) uses exactly the same code to draw the buttons as the original. So it surprises me that one add-on works and the other not.

My add-on can not be run at the same time as the original add-on. So disable the other add-on and restart Anki and try again.

To check if it’s a bug in my add-on: Disable all other add-ons and restart again. If it works without other add-ons maybe you have an add-on conflict: Reenable half of the add-ons, restart and try again. Do this a few times until you find the add-on conflict and tell me which add-ons conflict with my add-on.

Thanks for looking into it. I followed the directions to figure out which add-on was conflicting, and I found that the conflict occurred with “Advanced Review Bottom Bar” (Advanced Review Bottom Bar - AnkiWeb)

My add-on modifies/extends a built-in function whereas “Advanced Review Bottom Bar” overwrites the built-in function which also overwrites my modifications because the ohter add-on is loaded after mine. There’s nothing that I can do about it. You could ask the other add-on creator.

Maybe renaming the other add-on folder helps so that it’s sorted and thus loaded before mine? You could try to rename the other add-on folder from 1136455830 to something like 0136455830 (and restart anki). I don’t know what happens then and what happens if you try to update your add-ons when you have such a change. If you don’t know what I’m talking about just forget about this idea because it’s too complicated.

1 Like

Oh, awesome! Yeah, renaming the addon folder like you suggested did the trick. I can now use both Advanced Review Bottom Bar and the rebuild allempty all filtered decks enhanced fork at the same time.

I’ll also remember to keep it in mind if the add-on gets updated, thanks!

Hi, I just downloaded your add-on and would like some clarification:

I organize my filter decks using numbers/letters preceding the deck name so I can prioritize the decks I want to do first->last (top->bottom on the anki home screen) which also allows me to quickly reorganize my filter deck priority by just changing a number or letter in the deck name

Is there a way to make it so the add-on rebuilds decks based on alphanumeric order?
The original add-on this fork was based off didn’t seem to do that. This one gave me the same number of cards per deck using rebuild all and when I rebuilt each individually in my preferred order but I’m unsure if that was just a coincidence today.

Most of my cards have multiple tags that would fit into multiple filtered decks so if the above question is not possible and the add-on is a binary first/last configuration, would there be a way to add more tiers to the build order?

1 Like

Hi, I’m getting errors when performing rebuild all

Error
An error occurred. Please start Anki while holding down the shift key, which will temporarily disable the add-ons you have installed.
If the issue only occurs when add-ons are enabled, please use the Tools > Add-ons menu item to disable some add-ons and restart Anki, repeating until you discover the add-on that is causing the problem.
When you’ve discovered the add-on that is causing the problem, please report the issue on the add-on support site.
Debug info:
Anki 2.1.49 (dc80804a) Python 3.8.6 Qt 5.14.2 PyQt 5.14.2
Platform: Windows 10
Flags: frz=True ao=True sv=2
Add-ons, last update check: 2022-07-30 23:31:50

Caught exception:
Traceback (most recent call last):
File “aqt\webview.py”, line 41, in cmd
File “aqt\webview.py”, line 142, in _onCmd
File “aqt\webview.py”, line 595, in _onBridgeCmd
File “decorator.py”, line 232, in fun
File “anki\hooks.py”, line 89, in decorator_wrapper
File “anki\hooks.py”, line 81, in repl
File “C:\Users\user\AppData\Roaming\Anki2\addons21\104518886\rebuild_all.py”, line 114, in _handleFilteredDeckButtons
_updateFilteredDecks(url)
File “C:\Users\user\AppData\Roaming\Anki2\addons21\104518886\rebuild_all.py”, line 100, in updateFilteredDecks
rebuilt_nested_first(dynDeckIds, actionFunc)
File “C:\Users\user\AppData\Roaming\Anki2\addons21\104518886\rebuild_all.py”, line 66, in rebuilt_nested_first
actionFunc(e)
File “anki\scheduler\legacy.py”, line 52, in rebuildDyn
File “anki\scheduler\base.py”, line 96, in rebuild_filtered_deck
File “anki_backend\generated.py”, line 121, in rebuild_filtered_deck
File "anki_backend_init
.py", line 131, in _run_command
anki.errors.SearchError:

Invalid search: ⁨a colon : was found, but there was no keyword preceding it. If you want to search for a literal :, prepend a backslash: :.⁊

is there anyway to fix this?

try the string/search you run first in the browser and see if you also get the same error.

The bottom of your error message is the most relevant part:

Invalid search: <U+2068>a colon : was found, but there was no keyword preceding it. 
If you want to search for a literal :, prepend a backslash: :.<U+2069>

This sounds to me as if the problem is not with my add-on but that your search string does not adhere to anki’s conventions.

If you have a search string that works in the browser but not with my add-on paste it here.

Hi,

Is there a way to assign a hotkey to this add-on?

not at the moment. I’ve added this (as well as adding better documentation) to my todo list for the next spring.

(post deleted by author)

Mistakingly deleted the comment, so this is a repost.

Would you be able to add an “Exclude deck” option to the configurable variables?
This would help because I have a couple of filtered decks that are overlapping and I would like to rebuild those decks manually.

I like this idea. I’ve added this to my todo list, but I do not know when I’ll have time for this.

1 Like

Thank you! This addon really changed how I use Anki 180° and I’ve been using Anki for years!