doaj

package
v0.1.93 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 10, 2016 License: GPL-3.0 Imports: 12 Imported by: 0

Documentation

Overview

Copyright 2015 by Leipzig University Library, http://ub.uni-leipzig.de
                  The Finc Authors, http://finc.info
                  Martin Czygan, <martin.czygan@uni-leipzig.de>

This file is part of some open source application.

Some open source application is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

Some open source application is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with Foobar. If not, see <http://www.gnu.org/licenses/>.

@license GPL-3.0+ <http://spdx.org/licenses/GPL-3.0+>

Directory of open access journals.

Index

Constants

View Source
const (
	// Internal bookkeeping.
	SourceID = "28"
	// Collection name
	Collection = "DOAJ Directory of Open Access Journals"
	// Format for all records
	Format = "ElectronicArticle"
	Genre  = "article"
)

Variables

View Source
var (
	LCCPatterns = assetutil.MustLoadRegexpMap("assets/finc/lcc.json")
	LanguageMap = assetutil.MustLoadStringMap("assets/doaj/language-iso-639-3.json")
)

Functions

This section is empty.

Types

type Author

type Author struct {
	Name string `json:"name"`
}

func (*Author) MarshalJSON added in v0.1.84

func (mj *Author) MarshalJSON() ([]byte, error)

func (*Author) MarshalJSONBuf added in v0.1.84

func (mj *Author) MarshalJSONBuf(buf fflib.EncodingBuffer) error

func (*Author) UnmarshalJSON added in v0.1.84

func (uj *Author) UnmarshalJSON(input []byte) error

func (*Author) UnmarshalJSONFFLexer added in v0.1.84

func (uj *Author) UnmarshalJSONFFLexer(fs *fflib.FFLexer, state fflib.FFParseState) error

type BibJSON

type BibJSON struct {
	Abstract   string       `json:"abstract"`
	Author     []Author     `json:"author"`
	EndPage    string       `json:"end_page"`
	Identifier []Identifier `json:"identifier"`
	Journal    Journal      `json:"journal"`
	Link       []Link       `json:"link"`
	Month      string       `json:"month"`
	StartPage  string       `json:"start_page"`
	Subject    []Subject    `json:"subject"`
	Title      string       `json:"title"`
	Year       string       `json:"year"`
}

func (*BibJSON) MarshalJSON added in v0.1.84

func (mj *BibJSON) MarshalJSON() ([]byte, error)

func (*BibJSON) MarshalJSONBuf added in v0.1.84

func (mj *BibJSON) MarshalJSONBuf(buf fflib.EncodingBuffer) error

func (*BibJSON) UnmarshalJSON added in v0.1.84

func (uj *BibJSON) UnmarshalJSON(input []byte) error

func (*BibJSON) UnmarshalJSONFFLexer added in v0.1.84

func (uj *BibJSON) UnmarshalJSONFFLexer(fs *fflib.FFLexer, state fflib.FFParseState) error

type DOAJ

type DOAJ struct{}

func (DOAJ) Iterate

func (s DOAJ) Iterate(r io.Reader) (<-chan []span.Importer, error)

func (*DOAJ) MarshalJSON added in v0.1.84

func (mj *DOAJ) MarshalJSON() ([]byte, error)

func (*DOAJ) MarshalJSONBuf added in v0.1.84

func (mj *DOAJ) MarshalJSONBuf(buf fflib.EncodingBuffer) error

func (*DOAJ) UnmarshalJSON added in v0.1.84

func (uj *DOAJ) UnmarshalJSON(input []byte) error

func (*DOAJ) UnmarshalJSONFFLexer added in v0.1.84

func (uj *DOAJ) UnmarshalJSONFFLexer(fs *fflib.FFLexer, state fflib.FFParseState) error

type Document

type Document struct {
	BibJson BibJSON `json:"bibjson"`
	Created string  `json:"created_date"`
	ID      string  `json:"id"`
	Index   Index   `json:"index"`
	Updated string  `json:"last_updated"`
	// make Response.Type available here
	Type string
}

func (Document) Authors

func (doc Document) Authors() (authors []finc.Author)

func (Document) DOI

func (doc Document) DOI() string

func (Document) Date

func (doc Document) Date() (time.Time, error)

Date return the document date. Journals entries usually have no date, so they will err.

func (*Document) MarshalJSON added in v0.1.84

func (mj *Document) MarshalJSON() ([]byte, error)

func (*Document) MarshalJSONBuf added in v0.1.84

func (mj *Document) MarshalJSONBuf(buf fflib.EncodingBuffer) error

func (Document) ToIntermediateSchema

func (doc Document) ToIntermediateSchema() (*finc.IntermediateSchema, error)

ToIntermediateSchema converts a doaj document to intermediate schema. For now any record, that has no usable date will be skipped.

func (*Document) UnmarshalJSON added in v0.1.84

func (uj *Document) UnmarshalJSON(input []byte) error

func (*Document) UnmarshalJSONFFLexer added in v0.1.84

func (uj *Document) UnmarshalJSONFFLexer(fs *fflib.FFLexer, state fflib.FFParseState) error

type Identifier

type Identifier struct {
	ID   string `json:"id"`
	Type string `json:"type"`
}

func (*Identifier) MarshalJSON added in v0.1.84

func (mj *Identifier) MarshalJSON() ([]byte, error)

func (*Identifier) MarshalJSONBuf added in v0.1.84

func (mj *Identifier) MarshalJSONBuf(buf fflib.EncodingBuffer) error

func (*Identifier) UnmarshalJSON added in v0.1.84

func (uj *Identifier) UnmarshalJSON(input []byte) error

func (*Identifier) UnmarshalJSONFFLexer added in v0.1.84

func (uj *Identifier) UnmarshalJSONFFLexer(fs *fflib.FFLexer, state fflib.FFParseState) error

type Index

type Index struct {
	Classification []string `json:"classification"`
	Country        string   `json:"country"`
	Date           string   `json:"date"`
	ISSN           []string `json:"issn"`
	Language       []string `json:"language"`
	License        []string `json:"license"`
	Publishers     []string `json:"publisher"`
	SchemaCode     []string `json:"schema_code"`
	SchemaSubjects []string `json:"schema_subjects"`
	Subjects       []string `json:"subject"`
}

func (*Index) MarshalJSON added in v0.1.84

func (mj *Index) MarshalJSON() ([]byte, error)

func (*Index) MarshalJSONBuf added in v0.1.84

func (mj *Index) MarshalJSONBuf(buf fflib.EncodingBuffer) error

func (*Index) UnmarshalJSON added in v0.1.84

func (uj *Index) UnmarshalJSON(input []byte) error

func (*Index) UnmarshalJSONFFLexer added in v0.1.84

func (uj *Index) UnmarshalJSONFFLexer(fs *fflib.FFLexer, state fflib.FFParseState) error

type Journal

type Journal struct {
	Country   string    `json:"country"`
	Language  []string  `json:"language"`
	License   []License `json:"license"`
	Number    string    `json:"number"`
	Publisher string    `json:"publisher"`
	Title     string    `json:"title"`
	Volume    string    `json:"volume"`
}

func (*Journal) MarshalJSON added in v0.1.84

func (mj *Journal) MarshalJSON() ([]byte, error)

func (*Journal) MarshalJSONBuf added in v0.1.84

func (mj *Journal) MarshalJSONBuf(buf fflib.EncodingBuffer) error

func (*Journal) UnmarshalJSON added in v0.1.84

func (uj *Journal) UnmarshalJSON(input []byte) error

func (*Journal) UnmarshalJSONFFLexer added in v0.1.84

func (uj *Journal) UnmarshalJSONFFLexer(fs *fflib.FFLexer, state fflib.FFParseState) error

type License

type License struct {
	Title string `json:"title"`
	Type  string `json:"type"`
}

func (*License) MarshalJSON added in v0.1.84

func (mj *License) MarshalJSON() ([]byte, error)

func (*License) MarshalJSONBuf added in v0.1.84

func (mj *License) MarshalJSONBuf(buf fflib.EncodingBuffer) error

func (*License) UnmarshalJSON added in v0.1.84

func (uj *License) UnmarshalJSON(input []byte) error

func (*License) UnmarshalJSONFFLexer added in v0.1.84

func (uj *License) UnmarshalJSONFFLexer(fs *fflib.FFLexer, state fflib.FFParseState) error
type Link struct {
	Type string `json:"type"`
	URL  string `json:"url"`
}

func (*Link) MarshalJSON added in v0.1.84

func (mj *Link) MarshalJSON() ([]byte, error)

func (*Link) MarshalJSONBuf added in v0.1.84

func (mj *Link) MarshalJSONBuf(buf fflib.EncodingBuffer) error

func (*Link) UnmarshalJSON added in v0.1.84

func (uj *Link) UnmarshalJSON(input []byte) error

func (*Link) UnmarshalJSONFFLexer added in v0.1.84

func (uj *Link) UnmarshalJSONFFLexer(fs *fflib.FFLexer, state fflib.FFParseState) error

type Response

type Response struct {
	ID     string   `json:"_id"`
	Index  string   `json:"_index"`
	Source Document `json:"_source"`
	Type   string   `json:"_type"`
}

func (*Response) MarshalJSON added in v0.1.84

func (mj *Response) MarshalJSON() ([]byte, error)

func (*Response) MarshalJSONBuf added in v0.1.84

func (mj *Response) MarshalJSONBuf(buf fflib.EncodingBuffer) error

func (*Response) UnmarshalJSON added in v0.1.84

func (uj *Response) UnmarshalJSON(input []byte) error

func (*Response) UnmarshalJSONFFLexer added in v0.1.84

func (uj *Response) UnmarshalJSONFFLexer(fs *fflib.FFLexer, state fflib.FFParseState) error

type Subject

type Subject struct {
	Code   string `json:"code"`
	Scheme string `json:"scheme"`
	Term   string `json:"term"`
}

func (*Subject) MarshalJSON added in v0.1.84

func (mj *Subject) MarshalJSON() ([]byte, error)

func (*Subject) MarshalJSONBuf added in v0.1.84

func (mj *Subject) MarshalJSONBuf(buf fflib.EncodingBuffer) error

func (*Subject) UnmarshalJSON added in v0.1.84

func (uj *Subject) UnmarshalJSON(input []byte) error

func (*Subject) UnmarshalJSONFFLexer added in v0.1.84

func (uj *Subject) UnmarshalJSONFFLexer(fs *fflib.FFLexer, state fflib.FFParseState) error

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL