SYMBOL INDEX (119 symbols across 29 files) FILE: captchouli.go constant IDKey (line 19) | IDKey = common.IDKey constant ColourKey (line 20) | ColourKey = common.ColourKey constant BackgroundKey (line 21) | BackgroundKey = common.BackgroundKey function Open (line 33) | func Open() error { function Close (line 38) | func Close() error { function ExtractSolution (line 48) | func ExtractSolution(r *http.Request) (solution []byte, err error) { function ExtractID (line 66) | func ExtractID(r *http.Request) (id [64]byte, err error) { function DecodeID (line 75) | func DecodeID(s string) (id [64]byte, err error) { function ExtractCaptcha (line 93) | func ExtractCaptcha(r io.Reader) (id [64]byte, solution []byte, err erro... function findID (line 111) | func findID(n *html.Node) string { FILE: captchouli_test.go function TestMain (line 10) | func TestMain(t *testing.M) { function newService (line 15) | func newService(t *testing.T) *Service { FILE: common/defs.go type DataSource (line 8) | type DataSource method String (line 26) | func (d DataSource) String() string { constant Gelbooru (line 11) | Gelbooru DataSource = iota constant Danbooru (line 12) | Danbooru constant IDKey (line 17) | IDKey = "captchouli-id" constant ColourKey (line 18) | ColourKey = "captchouli-color" constant BackgroundKey (line 19) | BackgroundKey = "captchouli-background" type FetchRequest (line 37) | type FetchRequest struct type Error (line 42) | type Error struct method Error (line 46) | func (e Error) Error() string { FILE: common/util.go function init (line 14) | func init() { function RandomInt (line 19) | func RandomInt(max int) int { function DecodeMD5 (line 28) | func DecodeMD5(s string) (buf [16]byte, err error) { function ThumbPath (line 40) | func ThumbPath(md5 [16]byte) string { type cryptoSource (line 47) | type cryptoSource struct method Int63 (line 49) | func (cryptoSource) Int63() int64 { method Seed (line 56) | func (cryptoSource) Seed(_ int64) {} FILE: common/vars.go function init (line 14) | func init() { FILE: danbooru/main.go type cacheEntry (line 37) | type cacheEntry struct function Fetch (line 45) | func Fetch(req common.FetchRequest) (f *os.File, image db.Image, err err... function tryFetchPage (line 106) | func tryFetchPage(requested, tags string) (err error) { function processPost (line 197) | func processPost(requested string, p boorufetch.Post, FILE: danbooru/main_test.go function TestMain (line 15) | func TestMain(t *testing.M) { function TestFetch (line 20) | func TestFetch(t *testing.T) { function testFetches (line 24) | func testFetches(t *testing.T, tag string) { function TestNoMatch (line 58) | func TestNoMatch(t *testing.T) { function TestOnlyOnePage (line 67) | func TestOnlyOnePage(t *testing.T) { FILE: db/captchas.go type Filters (line 15) | type Filters struct function GenerateCaptcha (line 21) | func GenerateCaptcha(f Filters) (id [64]byte, images [9][16]byte, err er... function getMatchingImages (line 69) | func getMatchingImages(f Filters, images *[9][16]byte, buf *[]byte, function getNonMatchingImages (line 87) | func getNonMatchingImages(f Filters, n int, images *[9][16]byte, buf *[]... function queryHashes (line 106) | func queryHashes(q squirrel.SelectBuilder, i int, images *[9][16]byte, function CheckSolution (line 131) | func CheckSolution(id [64]byte, solution []byte) (solved bool, err error) { function isSolved (line 173) | func isSolved(correct []byte, proposed []byte) bool { function GetSolution (line 189) | func GetSolution(id [64]byte) (solution []byte, err error) { function IsSolved (line 204) | func IsSolved(id [64]byte) (is bool, err error) { FILE: db/db_test.go function TestMain (line 8) | func TestMain(t *testing.M) { FILE: db/images.go type Image (line 12) | type Image struct function IsInDatabase (line 21) | func IsInDatabase(md5 [16]byte) (bool, error) { function InsertImage (line 26) | func InsertImage(img Image) (err error) { function BlacklistImage (line 68) | func BlacklistImage(hash [16]byte) (err error) { function ImageCount (line 81) | func ImageCount(f Filters) (n int, err error) { FILE: db/init.go function Open (line 27) | func Open() (err error) { function Close (line 75) | func Close() error { function OpenForTests (line 83) | func OpenForTests() { FILE: db/migrations.go function runMigrations (line 74) | func runMigrations(from, to int) (err error) { function createIndex (line 114) | func createIndex(table, column string, unique bool) string { FILE: db/pending_images.go type PendingImage (line 13) | type PendingImage struct function IsPendingImage (line 21) | func IsPendingImage(md5 [16]byte) (bool, error) { function InsertPendingImage (line 26) | func InsertPendingImage(img PendingImage) (err error) { function PopRandomPendingImage (line 44) | func PopRandomPendingImage(tag string) (img PendingImage, err error) { function CountPending (line 95) | func CountPending(tag string) (n int, err error) { FILE: db/upkeep.go constant expiryTime (line 11) | expiryTime = 30 * time.Minute function runUpkeepTasks (line 13) | func runUpkeepTasks() { function deleteStaleCaptchas (line 32) | func deleteStaleCaptchas() error { function vacuum (line 42) | func vacuum() error { FILE: db/upkeep_test.go function TestUpkeep (line 5) | func TestUpkeep(t *testing.T) { FILE: db/util.go function execAll (line 9) | func execAll(tx *sql.Tx, q ...string) error { function InTransaction (line 20) | func InTransaction(fn func(*sql.Tx) error) (err error) { function imageExists (line 35) | func imageExists(table string, md5 [16]byte) (exists bool, err error) { function lowercaseTags (line 49) | func lowercaseTags(tags []string) { FILE: distort.cc function random_int (line 10) | static int random_int(std::mt19937& rng, int min, int max) function random_double (line 16) | static double random_double(std::mt19937& rng, double min, double max) function flip (line 22) | static void flip(cv::Mat& src, cv::Mat& dst, std::mt19937& rng) function gaussian_blur (line 31) | static void gaussian_blur(cv::Mat& src, cv::Mat& dst, std::mt19937& rng) function cpli_distort_mat (line 38) | void cpli_distort_mat(cv::Mat& src, cv::Mat& dst) FILE: fetch.go function init (line 18) | func init() { function fetch (line 51) | func fetch(req common.FetchRequest) (err error) { FILE: fetch_test.go function TestFetch (line 9) | func TestFetch(t *testing.T) { FILE: files.go function writeThumbnail (line 11) | func writeThumbnail(thumb []byte, md5 [16]byte) (err error) { FILE: service.go function init (line 41) | func init() { constant Gelbooru (line 51) | Gelbooru = common.Gelbooru constant Danbooru (line 52) | Danbooru = common.Danbooru constant poolMinSize (line 57) | poolMinSize = 6 constant Safe (line 64) | Safe Rating = iota constant Questionable (line 65) | Questionable constant Explicit (line 66) | Explicit type Options (line 70) | type Options struct type Service (line 87) | type Service struct method initPool (line 143) | func (s *Service) initPool(tags []string) (err error) { method formatExplicitness (line 178) | func (s *Service) formatExplicitness() string { method initTag (line 196) | func (s *Service) initTag(tag string) (err error) { method filters (line 234) | func (s *Service) filters(tag string) db.Filters { method NewCaptcha (line 247) | func (s *Service) NewCaptcha(w io.Writer, colour, background string, method Router (line 313) | func (s *Service) Router() *httprouter.Router { method ServeNewCaptcha (line 332) | func (s *Service) ServeNewCaptcha(w http.ResponseWriter, r *http.Request, method ServeCheckCaptcha (line 351) | func (s *Service) ServeCheckCaptcha(w http.ResponseWriter, r *http.Req... type appendSlice (line 95) | type appendSlice struct method Get (line 100) | func (s *appendSlice) Get() []string { method Append (line 106) | func (s *appendSlice) Append(extra string) { function NewService (line 113) | func NewService(opts Options) (s *Service, err error) { function CheckCaptcha (line 301) | func CheckCaptcha(id [64]byte, solution []byte) error { function handleError (line 374) | func handleError(w http.ResponseWriter, err error) { function ServeStatus (line 387) | func ServeStatus(w http.ResponseWriter, r *http.Request) (err error) { FILE: service_test.go function TestCaptcha (line 13) | func TestCaptcha(t *testing.T) { function assertCode (line 65) | func assertCode(t *testing.T, w *httptest.ResponseRecorder, code int) { FILE: templates/captcha.go function streamencodeID (line 14) | func streamencodeID(w *quicktemplate.Writer, id [64]byte) { function streamthumbnail (line 20) | func streamthumbnail(w *quicktemplate.Writer, id [16]byte, tempBuf []byt... FILE: templates/captcha.qtpl.go function StreamCaptcha (line 24) | func StreamCaptcha(qw422016 *qt422016.Writer, colour, background, tag st... function WriteCaptcha (line 86) | func WriteCaptcha(qq422016 qtio422016.Writer, colour, background, tag st... function Captcha (line 97) | func Captcha(colour, background, tag string, id [64]byte, images [9][16]... FILE: test_utils/utils.go function WriteSample (line 10) | func WriteSample(t *testing.T, name string, buf []byte) { FILE: thumbnail.cc function cpli_unload_classifier (line 127) | void cpli_unload_classifier(void* c) FILE: thumbnail.go function initClassifier (line 25) | func initClassifier() (err error) { function thumbnail (line 65) | func thumbnail(path string) (thumb []byte, err error) { FILE: thumbnail.h type Buffer (line 4) | typedef struct { FILE: thumbnail_test.go function TestThumbnailing (line 11) | func TestThumbnailing(t *testing.T) {