-
Notifications
You must be signed in to change notification settings - Fork 5
/
TODO
55 lines (47 loc) · 1.79 KB
/
TODO
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
== Tasks
* argparse-ify dabnabbit
* retry() for fetching
* add .done() to progress bar
* Automatic scaling of progress bar to terminal window (+in refresh)
* Progress bar/spinner for calls with indeterminate return lengths
* Enforce uniqueness of dabblet (composite key: source title + dab title + source order?)
* Improve heuristic for finding relevant link within DabChoice
* Find/replace Dab answer within unparsed wiki text
* Implement upper-bounding for size of dab link context
* Handle redirect articles with dab links (skip em)
* DONE: get_category support paging/recursion
* Track Dabblets that are invalid (incorrect in some fashion)
** DONE: Link to a non-disambiguation page (Check for table#disambigbox to be sure that the dab page is actually a dab page before generating choices)
* DONE: Skip DabChoice links that don't have title attributes
* Rate viability
* Rate difficulty
== Service APIs
* Get Dabblet
** Dabblet ID
** Dab title
** Source page title
** Dab link context
** Dab choices (target article title, choice text
* Post Dabblet change
** Dabblet ID
** Dabblet choice ID
** Number of pages looked at by solver before submitting?
* Get stats
** Dabblets solved
** Dabblets served/viewed
** Dabblet solutions submitted (if using redundancy)
** Number of dabblets/dabchoices fetched into DB
** Average number of DabChoices per Dabblet
** Average number of Dabblets per page
** Number of articles with Dabblets
** Average difficulty of Dabblet (for solved and total)
== Peewee enhancement ideas
* Can't override __init__, even with decorators and inheritance
* Can only pass keyword arguments?
* Field default values
== Gevent thoughts
* Source reloader for bottle? (Gevent doesn't like being in threads)
* Scheduling
* Pools with shared semaphores
* Retry
* Automatic scaling of pools (based on retry)