Documentation ¶
Index ¶
- type ApisPubMediaGETPUBMEDIALINKS
- type ApisStatus
- type CatalogsPublicationsV4Manifest
- type DBAvailableBibleBook
- type DBCuratedAsset
- type DBDatedText
- type DBImageAsset
- type DBPublication
- type DBPublicationAsset
- type DBPublicationAssetImageMap
- type DBPublicationAttribute
- type DBPublicationAttributeMap
- type DBPublicationDocument
- type DBPublicationRootKey
- type DBRevision
- type EPUBContentOpf
- type EPUBTocNcx
- type Img
- type LangData
- type Languages
- type Publication
- type PublicationChapter
- type PublicationV2
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ApisPubMediaGETPUBMEDIALINKS ¶
type ApisPubMediaGETPUBMEDIALINKS struct { Status struct { ID string `json:"id"` Title string `json:"title"` Status int `json:"status"` } `json:"0"` PubName string `json:"pubName"` ParentPubName string `json:"parentPubName"` Booknum string `json:"booknum"` // idk, is null Pub string `json:"pub"` // the codename Issue string `json:"issue"` FormattedDate string `json:"formattedDate"` FileFormat []string `json:"fileFormat"` Track string `json:"track"` // idk, is null Specialty string `json:"Specialty"` // idk, is empty string PubImage struct { URL string `json:"url"` ModifiedDatetime string `json:"modifiedDateTime"` Checksum string `json:"checksum"` } `json:"pubImage"` Languages map[string]struct { Name string `json:"name"` Direction string `json:"direction"` Locale string `json:"locale"` } `json:"languages"` Files map[string]map[string][]struct { Title string `json:"title"` File struct { URL string `json:"url"` Stream string `json:"stream"` ModifiedDatetime string `json:"modifiedDatetime"` Checksum string `json:"checksum"` } `json:"file"` Filesize int TrackImage struct { URL string `json:"url"` ModifiedDatetime string `json:"modifiedDatetime"` Checksum string `json:"checksum"` } `json:"trackImage"` Markers string `json:"markers"` // idk, is null Label string `json:"label"` Track string `json:"track"` HasTrack bool `json:"hasTrack"` Pub string `json:"pub"` Docid int `json:"docid"` Booknum int `json:"booknum"` Mimetype string `json:"mimetype"` Edition string `json:"edition"` EditionDescr string `json:"editionDescr"` Format string `json:"format"` FormatDescr string `json:"formatDescr"` Specialty string `json:"specialty"` SpecialtyDescr string `json:"specialtyDescr"` Subtitled bool `json:"subtitled"` FrameWidth int `json:"frameWidth"` FrameHeight int `json:"frameHeight"` FrameRate int `json:"frameRate"` Duration int `json:"duration"` BitRate int `json:"bitRate"` } `json:"files"` }
ApisPubMediaGETPUBMEDIALINKS format output from https://app.jw-cdn.org/apis/pub-media/GETPUBMEDIALINKS?langwritten=E&pub=S-38&fileformat=epub
type ApisStatus ¶
type ApisStatus struct { ID string `json:"id"` Title string `json:"title"` Status int `json:"status"` }
ApisStatus - this hold status of api, when something goes wrong
type CatalogsPublicationsV4Manifest ¶
type CatalogsPublicationsV4Manifest struct { Version int `json:"version"` Current string `json:"current"` }
CatalogsPublicationsV4Manifest is meant to receive part of url required to get catalog.db curl --silent https://app.jw-cdn.org/catalogs/publications/v4/manifest.json | jq
{ "version": 1, "current": "815ecc5a-e72b-48ac-aa9f-e1e7d256e43b" }
type DBAvailableBibleBook ¶
type DBAvailableBibleBook struct { Book int `json:"book"` PublicationID int `json:"publication_id"` }
DBAvailableBibleBook -
type DBCuratedAsset ¶
type DBCuratedAsset struct { ListType int `json:"list_type"` SortOrder int `json:"sort_order"` PublicationAssetID int `json:"publication_asset_id"` }
DBCuratedAsset -
type DBDatedText ¶
type DBDatedText struct { Class int `json:"class"` Start string `json:"start"` End string `json:"end"` PublicationID int `json:"publication_id"` }
DBDatedText -
type DBImageAsset ¶
type DBImageAsset struct { Width int `json:"width"` Height int `json:"height"` NameFragment string `json:"name_fragment"` Size int `json:"size"` MimeType string `json:"mime_type"` ID int `json:"id"` }
DBImageAsset -
type DBPublication ¶
type DBPublication struct { PublicationRootKeyID int `json:"publication_root_key_id"` MepsLanguageID int `json:"meps_language_id"` PublicationTypeID int `json:"publication_type_id"` IssueTagNumber int `json:"issue_tag_number"` Title string `json:"title"` IssueTitle string `json:"issue_title"` // notnull 0 ShortTitle string `json:"short_title"` CoverTitle string `json:"cover_title"` // notnull 0 UndatedTitle string `json:"undated_title"` // notnull 0 UndatedReferenceTitle string `json:"undated_reference_title"` // notnull 0 Year int `json:"year"` // should be smallint (int8), I'll go for int now Symbol string `json:"symbol"` KeySymbol string `json:"key_symbol"` // notnull 0 | varchar(16) Reserved int `json:"reserved"` ID int `json:"id"` }
DBPublication -
type DBPublicationAsset ¶
type DBPublicationAsset struct { PublicationID int `json:"publication_id"` MepsLanguageID int `json:"meps_language_id"` Signature string `json:"signature"` Size int `json:"size"` ExpandedSize int `json:"expanded_size"` MimeType string `json:"mime_type"` SchemaVersion int `json:"schema_version"` MinPlatformVersion int `json:"min_platform_version"` CatalogedOn string `json:"cataloged_on"` LastUpdated string `json:"last_updated"` LastModified string `json:"last_modified"` GenerallyAvailableDate string `json:"generally_available_date"` // notnull 0 ConventionReleaseDayNumber int `json:"convention_release_day_number"` // notnull 0 ID int `json:"id"` }
DBPublicationAsset -
type DBPublicationAssetImageMap ¶
type DBPublicationAssetImageMap struct { PublicationAssetID int `json:"publication_asset_id"` ImageAssetID int `json:"image_asset_id"` }
DBPublicationAssetImageMap -
type DBPublicationAttribute ¶
DBPublicationAttribute -
type DBPublicationAttributeMap ¶
type DBPublicationAttributeMap struct { PublicationID int `json:"publication_id"` PublicationAttributeID int `json:"publication_attribute_id"` }
DBPublicationAttributeMap -
type DBPublicationDocument ¶
type DBPublicationDocument struct { DocumentID int `json:"document_id"` PublicationID int `json:"publication_id"` }
DBPublicationDocument -
type DBPublicationRootKey ¶
type DBPublicationRootKey struct { Symbol string `json:"symbol"` Year int `json:"year"` // notnull 0 | should be smallint (int8) Language int `json:"language"` ID int `json:"id"` }
DBPublicationRootKey -
type DBRevision ¶
DBRevision -
type EPUBContentOpf ¶
type EPUBContentOpf struct { XMLName xml.Name `xml:"package"` Version string `xml:"version,attr"` Xmlns string `xml:"xmlns,attr"` UniqueIdentifier string `xml:"unique-identifier,attr"` Metadata struct { XMLName xml.Name `xml:"metadata"` DC string `xml:"dc,attr"` OPF string `xml:"opf,attr"` DCTitle string `xml:"title"` DCCreator struct { XMLName xml.Name `xml:"creator"` Name string `xml:",chardata"` ID string `xml:"id,attr"` XMLLang string `xml:"lang,attr"` Dir string `xml:"dir,attr"` } Meta []struct { XMLName xml.Name `xml:"meta"` Value string `xml:",chardata"` Name string `xml:"name,attr"` Content string `xml:"contant,attr"` Refines string `xml:"refines,attr"` Property string `xml:"property,attr"` Scheme string `xml:"scheme,attr"` ID string `xml:"id,attr"` } `xml:"meta"` // There are multiple meta tags DCLanguage string `xml:"language"` DCPublisher string `xml:"publisher"` DCIdentifier struct { XMLName xml.Name `xml:"identifier"` ID string `xml:"id,attr"` Name string `xml:",chardata"` } } // </metadata> Manifest struct { XMLName xml.Name `xml:"manifest"` Items []struct { XMLName xml.Name `xml:"item"` ID string `xml:"id,attr"` Properties string `xml:"properties,attr"` Href string `xml:"href,attr"` MediaType string `xml:"media-type,attr"` } `xml:"item"` } // </manifest> Spine struct { XMLName xml.Name `xml:"spine"` Toc string `xml:"toc,attr"` PageProgressionDirection string `xml:"page-progression-direction,attr"` ItemRefs []struct { XMLName xml.Name `xml:"itemref"` IDRef string `json:"idref,attr"` Linear string `json:"no"` } `xml:"itemref"` } // </spine> Guide struct { XMLName xml.Name `xml:"guide"` Type string `xml:"type,attr"` Href string `xml:"href,attr"` Title string `xml:"title,attr"` } }
EPUBContentOpf - This is supposed to read content.obf into some readable thing
type EPUBTocNcx ¶
type EPUBTocNcx struct { XMLName xml.Name `xml:"ncx"` Version string `xml:"version,attr"` Lang string `xml:"lang,attr"` Xmlns string `xml:"xmlns,attr"` Head struct { XMLName xml.Name `xml:"head"` Meta []struct { XMLName xml.Name `xml:"meta"` Name string `xml:"name,attr"` Content string `xml:"contant,attr"` } `xml:"meta"` } DocTitle struct { XMLName xml.Name `xml:"docTitle"` Text string `xml:"text"` } DocAuthor struct { XMLName xml.Name `xml:"docAuthor"` Text string `xml:"text"` } XMLName xml.Name `xml:"navMap"` NavPoint []struct { XMLName xml.Name `xml:"navPoint"` Class string `xml:"class,attr"` ID string `xml:"id,attr"` PlayOrder string `xml:"playOrder,attr"` // Maybe it should be int? NavLabel struct { XMLName xml.Name `xml:"navLabel"` Text string `xml:"text"` } Content struct { XMLName xml.Name `xml:"content"` Src string `xml:"src,attr"` } } `xml:"navPoint"` } }
EPUBTocNcx - This is supposed to read toc.ncx into some readable thing
type LangData ¶
type LangData struct { Code string // E - English | P - Polish Title string InitialFormat string // the initial format, like epub Path string // This should contain part of path ~/LibJWgo/publications should be skipped, and only /nwt/P/ should be given }
LangData stores per-language data
type Languages ¶
type Languages struct { Status int `json:"status"` // 200 - OK Languages []struct { Symbol string `json:"symbol"` // pl Langcode string `json:"langcode"` // P <--- this is what you need (nwt_P) Name string `json:"name"` // Polish VernacularName string `json:"vernacularName"` // Polish AltSpellings []string `json:"altSpellings"` // Polish, polski Direction string `json:"direction"` // ltr IsSignLanguage bool `json:"isSignLanguage"` IsCounted bool `json:"IsCounted"` HasWebContent bool `json:"hasWebContent"` } `json:"languages"` LocalizedCount string `json:"localizedCount"` // How many languages do we have? }
Languages response from site https://www.jw.org/en/languages/
type Publication ¶
type Publication struct { Code string // This is meant to store the codename of publication (for example 'nwt' is the Bible) Year int Image Img LangData *[]LangData }
Publication holds all kind of information about a publication
type PublicationChapter ¶
PublicationChapter - stores info about chapters
Source Files ¶
- ApisPubMediaGETPUBMEDIALINKS.go
- ApisStatus.go
- CatalogPublicationsV4Manifest.go
- DBAvailableBibleBook.go
- DBCuratedAsset.go
- DBDatedText.go
- DBImageAsset.go
- DBPublication.go
- DBPublicationAsset.go
- DBPublicationAssetImageMap.go
- DBPublicationAttribute.go
- DBPublicationAttributeMap.go
- DBPublicationDocument.go
- DBPublicationRootKey.go
- DBRevision.go
- EPUBContentOpf.go
- EPUBTocNcx.go
- Img.go
- LangData.go
- Languages.go
- Publication.go
- PublicationChapter.go
- PublicationV2.go
- main.go