Damien Elmes
3f534b8c86
fix dupe search with included formatting
...
https://anki.tenderapp.com/discussions/ankidesktop/41286-2125-doesnt-show-duplicates
2020-05-08 15:26:45 +10:00
Damien Elmes
8dfd362fed
support globbing chars inside word boundary search
2020-04-25 09:43:08 +10:00
Damien Elmes
4c7210b430
(de)serialize decks in backend
2020-04-09 12:41:59 +10:00
Damien Elmes
36ec7830a9
load/save note types in backend
...
This allows us to normalize bad data, and is the first step towards
splitting note types into separate tables.
2020-04-08 10:05:07 +10:00
Damien Elmes
676f4e74a8
store config in separate DB table
...
- mtime is tracked on each key individually, which will allow
merging of config changes when syncing in the future
- added col.(get|set|remove)_config()
- in order to support existing code that was mutating returned
values (eg col.conf["something"]["another"] = 5), the returned list/dict
will be automatically wrapped so that when the value is dropped, it
will save the mutated item back to the DB if it's changed. Code that
is fetching lists/dicts from the config like so:
col.conf["foo"]["bar"] = baz
col.setMod()
will continue to work in most case, but should be gradually updated to:
conf = col.get_config("foo")
conf["bar"] = baz
col.set_config("foo", conf)
2020-04-06 15:39:47 +10:00
Damien Elmes
0750ad5c62
fix duplicates search
2020-04-04 17:38:35 +10:00
Damien Elmes
ac4284b2de
update tag handling
...
- tag list stored in a separate DB table
- non-wildcard searches now do full unicode case folding
(eg tag:masse matches 'Maße')
- wildcard matches do simple unicode case folding
- some functions haven't been updated yet, so ascii folding will
continue to be used in some operations
2020-04-03 19:34:46 +10:00
Damien Elmes
70a1992f70
fix is:due search
2020-04-02 09:33:05 +10:00
Damien Elmes
d1ecf33c72
cache timing_today in collection, update it when cutover reached
2020-03-29 12:26:24 +10:00
Damien Elmes
fdeca610b0
drop separate RequestContext/StorageContext
2020-03-29 12:12:35 +10:00
Damien Elmes
f52e775354
NoteTypeID
2020-03-26 15:00:24 +10:00
Damien Elmes
9696e959be
increase the rated search cap to 365, and allow searches for ease 0
...
An add-on appears to use ease 0 when rescheduling cards, and it may
make sense for Anki to do the same in the future as well.
2020-03-21 16:05:17 +10:00
Damien Elmes
51a379de23
add search that ignores combining chars
...
On a test of a ~40k card collection, the 'ignore accents' add-on
takes about 1150ms, and this code takes about 70ms.
2020-03-21 15:15:59 +10:00
Damien Elmes
f0ed34d79b
support regexp search in single field
2020-03-21 13:06:46 +10:00
Damien Elmes
97577dbc16
support wildcard in field*:val search
2020-03-21 12:45:25 +10:00
Damien Elmes
d1ebdbdcce
support regex searches
2020-03-21 12:00:48 +10:00
Damien Elmes
aee64016ac
fix formatting and unit test
2020-03-21 08:17:24 +10:00
Damien Elmes
3a4146560c
handle escaped tag searches and tag:* special case
2020-03-21 08:09:28 +10:00
Damien Elmes
124357bd82
handle * in single-field search
2020-03-21 07:56:32 +10:00
Damien Elmes
949252d438
fix ease search
2020-03-21 07:56:09 +10:00
Damien Elmes
d94effcdc7
fix is:new/is:review
2020-03-20 21:15:23 +10:00
Damien Elmes
79697746a4
added needs to use milliseconds
2020-03-20 21:15:23 +10:00
Damien Elmes
224bad2566
handle empty searches and leading/trailing whitespace
2020-03-20 21:15:23 +10:00
Damien Elmes
67cb27bada
add remaining tests and fix some clippy lints
2020-03-20 21:15:23 +10:00
Damien Elmes
8c158a3897
fix rated and state searches
2020-03-20 21:15:23 +10:00
Damien Elmes
37ad664afc
fix tags, more tests
2020-03-20 21:15:23 +10:00
Damien Elmes
fa654a0e22
fix cards
2020-03-20 21:15:23 +10:00
Damien Elmes
425a9d04ca
fix decks
2020-03-20 21:15:23 +10:00
Damien Elmes
2693e142aa
fix added
2020-03-20 21:15:23 +10:00
Damien Elmes
5df04b161c
fix qualified search
2020-03-20 21:15:23 +10:00
Damien Elmes
b70668d31c
avoid extra sql binding in unqualified search
2020-03-20 21:15:23 +10:00
Damien Elmes
1f9e8e388a
start on search tests
2020-03-20 21:15:23 +10:00
Damien Elmes
bca5f2ddff
prototype of integration
...
no ordering yet, and no tests
2020-03-20 21:15:23 +10:00