summaryrefslogtreecommitdiff
path: root/ingest
diff options
context:
space:
mode:
Diffstat (limited to 'ingest')
-rw-r--r--ingest/ingest.go48
1 files changed, 0 insertions, 48 deletions
diff --git a/ingest/ingest.go b/ingest/ingest.go
deleted file mode 100644
index bffc417..0000000
--- a/ingest/ingest.go
+++ /dev/null
@@ -1,48 +0,0 @@
-package ingest
-
-import (
- "encoding/xml"
- "io"
- "os"
-)
-
-type Page struct {
- Title string `xml:"title"`
- Text string `xml:"revision>text"`
- Id int `xml:"id"`
-}
-
-func IngestWikiDump(filePath string, jobQueue chan<- Page) error {
- file, err := os.Open(filePath)
- if err != nil {
- return err
- }
- defer file.Close()
-
- // 3. Attach the streaming XML decoder
- decoder := xml.NewDecoder(file)
-
- for {
- t, err := decoder.Token()
- if err == io.EOF {
- break
- }
- if err != nil {
- return err
- }
-
- // Look for the opening <page> tag
- switch se := t.(type) {
- case xml.StartElement:
- if se.Name.Local == "page" {
- var p Page
- // Decode the entire page element into the struct
- if err := decoder.DecodeElement(&p, &se); err == nil {
- // Push to your worker pool channel
- jobQueue <- p
- }
- }
- }
- }
- return nil
-}