Documentation
¶
Index ¶
- Constants
- func FindCoverURL(artist string, title string) (string, error)
- type ArtistFirst
- type BeatDiscRecords
- type ClarityRecords
- type DamagedRecords
- type DutchVinyl
- type DutchVinylInfo
- type GrevilleInfo
- type GrevilleRecords
- type MusicFarmers
- type MusicFarmersInfo
- type OffWhiteRecords
- type OhJaanInfo
- type OhJeanRecords
- type PoisonCity
- type PoisonCityInfo
- type RepressedRecords
- type ResistRecords
- type RetailerID
- type SKU
- type StrangeWorldRecords
- type Utopia
- type UtopiaSKUEntry
- type VinylRetailer
Constants ¶
View Source
const ( AF_URL_PREFIX = "https://artistfirst.com.au" AF_SEARCH_URL = "https://artistfirst.com.au/search?q=%s+vinyl" )
View Source
const ( BD_URL_PREFIX = "https://beatdisc.com.au" DATA_DIR = "./retailers/data" EMPTY_IMAGE_URL = "https://www.freeiconspng.com/thumbs/no-image-icon/no-image-icon-6.png" )
View Source
const ( CR_URL_PREFIX = "https://clarityrecords.net" CR_SEARCH_URL = "https://clarityrecords.net/search.php?search_query=%s+vinyl§ion=product" )
View Source
const ( DV_URL_PREFIX = "https://www.dutchvinyl.com.au" DV_SEARCH_URL = "https://www.dutchvinyl.com.au/a/search?type=product&q=%s+vinyl" )
View Source
const ( GR_URL_PREFIX = "https://grevillerecords.com.au" GR_SEARCH_URL = "https://grevillerecords.com.au/search?options[prefix]=last&page=%v&q=%s+vinyl" )
View Source
const ( MF_URL_PREFIX = "https://musicfarmers.com" MF_SEARCH_URL = "https://musicfarmers.com/search?q=%s" )
View Source
const ( OFFW_URL_PREFIX = "https://offwhiterecords.com/" OFFW_SEARCH_URL = "https://offwhiterecords.com/store/search_results.cfm?search_term=%s&search_sub=SEARCH" )
View Source
const ( OJ_URL_PREFIX = "https://www.ohjeanrecords.com" OJ_SEARCH_URL = "https://www.ohjeanrecords.com/apps/omega-search/?type=product&options%%5Bprefix%%5D=last&q=%s" )
View Source
const ( PC_URL_PREFIX = "https://poisoncityestore.com" PC_SEARCH_URL = "https://poisoncityestore.com/search?q=%s+vinyl" )
View Source
const ( RER_URL_PREFIX = "https://repressedrecords.com" RER_SEARCH_URL = "https://repressedrecords.com/search?q=%s+vinyl&options[prefix]=last" )
View Source
const ( RR_URL_PREFIX = "https://shop.resistrecords.com" RR_SEARCH_URL = "https://shop.resistrecords.com/search?q=%s+vinyl" )
View Source
const ( // enum corresponding to retailer ids in the database Retailer_ArtistFirst RetailerID = 1 Retailer_PoisonCity = 2 Retailer_ResistRecords = 3 Retailer_DamagedRecords = 4 Retailer_RepressedRecords = 5 Retailer_Utopia = 6 Retailer_BeatdiscRecords = 7 Retailer_MusicFarmers = 8 Retailer_DutchVinyl = 9 Retailer_ClarityRecords = 10 Retailer_OhJeanRecords = 11 Retailer_StrengeWorldRecords = 12 Retailer_GrevilleRecords = 13 )
View Source
const ( SW_URL_PREFIX = "https://www.strangeworldrecords.com.au" SW_SEARCH_URL = "https://www.strangeworldrecords.com.au/search?q=%s+vinyl" )
View Source
const ( UTOP_URL_PREFIX = "https://utopia.com.au" UTOP_PRODUCT_URL_PREFIX = "https://utopia.com.au/collections/all/products" UTOP_SEARCH_INSTOCK_URL = "/search?q=%s+vinyl&_=pf&pf_st_currently_in_stock=true&pf_pt_product_type=New+Vinyl+-+12 Inch" )
View Source
const (
DR_SEARCH_URL = "https://damagedmusic.com.au/?s=%s+vinyl&post_type=product"
)
View Source
const (
SOLD_OUT = "sold out"
)
Variables ¶
This section is empty.
Functions ¶
Types ¶
type ArtistFirst ¶
type ArtistFirst struct{}
func (*ArtistFirst) GetArtistQueryURL ¶
func (a *ArtistFirst) GetArtistQueryURL(artist string) string
func (*ArtistFirst) ScrapeArtistReleases ¶
func (a *ArtistFirst) ScrapeArtistReleases(artist string) (findings []SKU, err error)
type BeatDiscRecords ¶
type BeatDiscRecords struct{}
func (*BeatDiscRecords) GetArtistQueryURL ¶
func (a *BeatDiscRecords) GetArtistQueryURL(artist string) string
func (*BeatDiscRecords) ScrapeArtistReleases ¶
func (a *BeatDiscRecords) ScrapeArtistReleases(artist string) (findings []SKU, err error)
type ClarityRecords ¶
type ClarityRecords struct{}
func (*ClarityRecords) GetArtistQueryURL ¶
func (a *ClarityRecords) GetArtistQueryURL(artist string) string
func (*ClarityRecords) ScrapeArtistReleases ¶
func (a *ClarityRecords) ScrapeArtistReleases(artist string) (findings []SKU, err error)
type DamagedRecords ¶
type DamagedRecords struct{}
func (*DamagedRecords) GetArtistQueryURL ¶
func (a *DamagedRecords) GetArtistQueryURL(artist string) string
func (*DamagedRecords) ScrapeArtistReleases ¶
func (a *DamagedRecords) ScrapeArtistReleases(artist string) (findings []SKU, err error)
type DutchVinyl ¶
type DutchVinyl struct{}
func (*DutchVinyl) GetArtistQueryURL ¶
func (a *DutchVinyl) GetArtistQueryURL(artist string) string
func (*DutchVinyl) ScrapeArtistReleases ¶
func (a *DutchVinyl) ScrapeArtistReleases(artist string) (findings []SKU, err error)
type DutchVinylInfo ¶
type DutchVinylInfo struct { Id int64 `json:"id"` Title string `json:"title"` Handle string `json:"handle"` Description string `json:"description"` PublishedAt time.Time `json:"published_at"` CreatedAt time.Time `json:"created_at"` Vendor string `json:"vendor"` Type string `json:"type"` Tags []string `json:"tags"` Price int `json:"price"` PriceMin int `json:"price_min"` PriceMax int `json:"price_max"` Available bool `json:"available"` PriceVaries bool `json:"price_varies"` CompareAtPrice interface{} `json:"compare_at_price"` CompareAtPriceMin int `json:"compare_at_price_min"` CompareAtPriceMax int `json:"compare_at_price_max"` CompareAtPriceVaries bool `json:"compare_at_price_varies"` Variants []struct { Id int64 `json:"id"` Title string `json:"title"` Option1 string `json:"option1"` Option2 interface{} `json:"option2"` Option3 interface{} `json:"option3"` Sku string `json:"sku"` RequiresShipping bool `json:"requires_shipping"` Taxable bool `json:"taxable"` FeaturedImage interface{} `json:"featured_image"` Available bool `json:"available"` Name string `json:"name"` PublicTitle interface{} `json:"public_title"` Options []string `json:"options"` Price int `json:"price"` Weight int `json:"weight"` CompareAtPrice interface{} `json:"compare_at_price"` InventoryQuantity int `json:"inventory_quantity"` InventoryManagement string `json:"inventory_management"` InventoryPolicy string `json:"inventory_policy"` Barcode string `json:"barcode"` RequiresSellingPlan bool `json:"requires_selling_plan"` SellingPlanAllocations []interface{} `json:"selling_plan_allocations"` } `json:"variants"` Images []string `json:"images"` FeaturedImage string `json:"featured_image"` Options []string `json:"options"` Media []struct { Alt string `json:"alt"` Id int64 `json:"id"` Position int `json:"position"` PreviewImage struct { AspectRatio float32 `json:"aspect_ratio"` Height int `json:"height"` Width int `json:"width"` Src string `json:"src"` } `json:"preview_image"` AspectRatio float32 `json:"aspect_ratio"` Height int `json:"height"` MediaType string `json:"media_type"` Src string `json:"src"` Width int `json:"width"` } `json:"media"` RequiresSellingPlan bool `json:"requires_selling_plan"` SellingPlanGroups []interface{} `json:"selling_plan_groups"` Content string `json:"content"` }
type GrevilleInfo ¶
type GrevilleInfo struct { Id int64 `json:"id"` Title string `json:"title"` Handle string `json:"handle"` Description string `json:"description"` PublishedAt time.Time `json:"published_at"` CreatedAt time.Time `json:"created_at"` Vendor string `json:"vendor"` Type string `json:"type"` Tags []string `json:"tags"` Price int `json:"price"` PriceMin int `json:"price_min"` PriceMax int `json:"price_max"` Available bool `json:"available"` PriceVaries bool `json:"price_varies"` CompareAtPrice interface{} `json:"compare_at_price"` CompareAtPriceMin int `json:"compare_at_price_min"` CompareAtPriceMax int `json:"compare_at_price_max"` CompareAtPriceVaries bool `json:"compare_at_price_varies"` Variants []struct { Id int64 `json:"id"` Title string `json:"title"` Option1 string `json:"option1"` Option2 interface{} `json:"option2"` Option3 interface{} `json:"option3"` Sku string `json:"sku"` RequiresShipping bool `json:"requires_shipping"` Taxable bool `json:"taxable"` FeaturedImage interface{} `json:"featured_image"` Available bool `json:"available"` Name string `json:"name"` PublicTitle interface{} `json:"public_title"` Options []string `json:"options"` Price int `json:"price"` Weight int `json:"weight"` CompareAtPrice interface{} `json:"compare_at_price"` InventoryManagement string `json:"inventory_management"` Barcode string `json:"barcode"` RequiresSellingPlan bool `json:"requires_selling_plan"` SellingPlanAllocations []interface{} `json:"selling_plan_allocations"` } `json:"variants"` Images []string `json:"images"` FeaturedImage string `json:"featured_image"` Options []string `json:"options"` Media []struct { Alt interface{} `json:"alt"` Id int64 `json:"id"` Position int `json:"position"` PreviewImage struct { AspectRatio float32 `json:"aspect_ratio"` Height int `json:"height"` Width int `json:"width"` Src string `json:"src"` } `json:"preview_image"` AspectRatio float32 `json:"aspect_ratio"` Height int `json:"height"` MediaType string `json:"media_type"` Src string `json:"src"` Width int `json:"width"` } `json:"media"` RequiresSellingPlan bool `json:"requires_selling_plan"` SellingPlanGroups []interface{} `json:"selling_plan_groups"` Content string `json:"content"` }
type GrevilleRecords ¶
type GrevilleRecords struct{}
func (*GrevilleRecords) GetArtistQueryForPageURL ¶
func (a *GrevilleRecords) GetArtistQueryForPageURL(artist string, page int) string
func (*GrevilleRecords) GetArtistQueryURL ¶
func (a *GrevilleRecords) GetArtistQueryURL(artist string) string
func (*GrevilleRecords) ScrapeArtistReleases ¶
func (a *GrevilleRecords) ScrapeArtistReleases(artist string) (findings []SKU, err error)
type MusicFarmers ¶
type MusicFarmers struct{}
func (*MusicFarmers) GetArtistQueryURL ¶
func (a *MusicFarmers) GetArtistQueryURL(artist string) string
func (*MusicFarmers) ScrapeArtistReleases ¶
func (a *MusicFarmers) ScrapeArtistReleases(artist string) (findings []SKU, err error)
type MusicFarmersInfo ¶
type MusicFarmersInfo struct { Id int64 `json:"id"` Title string `json:"title"` Handle string `json:"handle"` Description string `json:"description"` PublishedAt time.Time `json:"published_at"` CreatedAt time.Time `json:"created_at"` Vendor string `json:"vendor"` Type string `json:"type"` Tags []interface{} `json:"tags"` Price int `json:"price"` PriceMin int `json:"price_min"` PriceMax int `json:"price_max"` Available bool `json:"available"` PriceVaries bool `json:"price_varies"` CompareAtPrice interface{} `json:"compare_at_price"` CompareAtPriceMin int `json:"compare_at_price_min"` CompareAtPriceMax int `json:"compare_at_price_max"` CompareAtPriceVaries bool `json:"compare_at_price_varies"` Variants []struct { Id int64 `json:"id"` Title string `json:"title"` Option1 string `json:"option1"` Option2 interface{} `json:"option2"` Option3 interface{} `json:"option3"` Sku string `json:"sku"` RequiresShipping bool `json:"requires_shipping"` Taxable bool `json:"taxable"` FeaturedImage interface{} `json:"featured_image"` Available bool `json:"available"` Name string `json:"name"` PublicTitle interface{} `json:"public_title"` Options []string `json:"options"` Price int `json:"price"` Weight int `json:"weight"` CompareAtPrice interface{} `json:"compare_at_price"` InventoryQuantity int `json:"inventory_quantity"` InventoryManagement string `json:"inventory_management"` InventoryPolicy string `json:"inventory_policy"` Barcode string `json:"barcode"` RequiresSellingPlan bool `json:"requires_selling_plan"` SellingPlanAllocations []interface{} `json:"selling_plan_allocations"` } `json:"variants"` Images []string `json:"images"` FeaturedImage string `json:"featured_image"` Options []string `json:"options"` Media []struct { Alt interface{} `json:"alt"` Id int64 `json:"id"` Position int `json:"position"` PreviewImage struct { AspectRatio float32 `json:"aspect_ratio"` Height int `json:"height"` Width int `json:"width"` Src string `json:"src"` } `json:"preview_image"` AspectRatio float32 `json:"aspect_ratio"` Height int `json:"height"` MediaType string `json:"media_type"` Src string `json:"src"` Width int `json:"width"` } `json:"media"` RequiresSellingPlan bool `json:"requires_selling_plan"` SellingPlanGroups []interface{} `json:"selling_plan_groups"` Content string `json:"content"` }
type OffWhiteRecords ¶
type OffWhiteRecords struct{}
func (*OffWhiteRecords) GetArtistQueryURL ¶
func (a *OffWhiteRecords) GetArtistQueryURL(artist string) string
func (*OffWhiteRecords) ScrapeArtistReleases ¶
func (a *OffWhiteRecords) ScrapeArtistReleases(artist string) ([]SKU, error)
type OhJaanInfo ¶
type OhJaanInfo struct { Id int64 `json:"id"` Gid string `json:"gid"` Vendor string `json:"vendor"` Type string `json:"type"` Variants []struct { Id int64 `json:"id"` Price int `json:"price"` Name string `json:"name"` PublicTitle interface{} `json:"public_title"` Sku string `json:"sku"` } `json:"variants"` }
type OhJeanRecords ¶
type OhJeanRecords struct{}
func (*OhJeanRecords) GetArtistQueryURL ¶
func (a *OhJeanRecords) GetArtistQueryURL(artist string) string
func (*OhJeanRecords) ScrapeArtistReleases ¶
func (a *OhJeanRecords) ScrapeArtistReleases(artist string) (findings []SKU, err error)
type PoisonCity ¶
type PoisonCity struct{}
func (*PoisonCity) GetArtistQueryURL ¶
func (a *PoisonCity) GetArtistQueryURL(artist string) string
func (*PoisonCity) ScrapeArtistReleases ¶
func (a *PoisonCity) ScrapeArtistReleases(artist string) (findings []SKU, err error)
type PoisonCityInfo ¶
type PoisonCityInfo struct { Id int `json:"id"` Title string `json:"title"` Handle string `json:"handle"` Description string `json:"description"` PublishedAt time.Time `json:"published_at"` CreatedAt time.Time `json:"created_at"` Vendor string `json:"vendor"` Type string `json:"type"` Tags []string `json:"tags"` Price int `json:"price"` PriceMin int `json:"price_min"` PriceMax int `json:"price_max"` Available bool `json:"available"` PriceVaries bool `json:"price_varies"` CompareAtPrice interface{} `json:"compare_at_price"` CompareAtPriceMin int `json:"compare_at_price_min"` CompareAtPriceMax int `json:"compare_at_price_max"` CompareAtPriceVaries bool `json:"compare_at_price_varies"` Variants []struct { Id int `json:"id"` Title string `json:"title"` Option1 string `json:"option1"` Option2 interface{} `json:"option2"` Option3 interface{} `json:"option3"` Sku string `json:"sku"` RequiresShipping bool `json:"requires_shipping"` Taxable bool `json:"taxable"` FeaturedImage interface{} `json:"featured_image"` Available bool `json:"available"` Name string `json:"name"` PublicTitle interface{} `json:"public_title"` Options []string `json:"options"` Price int `json:"price"` Weight int `json:"weight"` CompareAtPrice interface{} `json:"compare_at_price"` InventoryQuantity int `json:"inventory_quantity"` InventoryManagement string `json:"inventory_management"` InventoryPolicy string `json:"inventory_policy"` Barcode string `json:"barcode"` RequiresSellingPlan bool `json:"requires_selling_plan"` SellingPlanAllocations []interface{} `json:"selling_plan_allocations"` } `json:"variants"` Images []string `json:"images"` FeaturedImage string `json:"featured_image"` Options []string `json:"options"` Media []struct { Alt interface{} `json:"alt"` Id int64 `json:"id"` Position int `json:"position"` PreviewImage struct { AspectRatio float32 `json:"aspect_ratio"` Height int `json:"height"` Width int `json:"width"` Src string `json:"src"` } `json:"preview_image"` AspectRatio float32 `json:"aspect_ratio"` Height int `json:"height"` MediaType string `json:"media_type"` Src string `json:"src"` Width int `json:"width"` } `json:"media"` RequiresSellingPlan bool `json:"requires_selling_plan"` SellingPlanGroups []interface{} `json:"selling_plan_groups"` Content string `json:"content"` }
search for: new Shopify.OptionSelectors("product-select",{ product: { ... }, onVariantSelected: selectCallback }); we want the product json part
type RepressedRecords ¶
type RepressedRecords struct{}
func (*RepressedRecords) GetArtistQueryURL ¶
func (a *RepressedRecords) GetArtistQueryURL(artist string) string
func (*RepressedRecords) ScrapeArtistReleases ¶
func (a *RepressedRecords) ScrapeArtistReleases(artist string) (findings []SKU, err error)
type ResistRecords ¶
type ResistRecords struct{}
func (*ResistRecords) GetArtistQueryURL ¶
func (a *ResistRecords) GetArtistQueryURL(artist string) string
func (*ResistRecords) ScrapeArtistReleases ¶
func (a *ResistRecords) ScrapeArtistReleases(artist string) (findings []SKU, err error)
type RetailerID ¶
type RetailerID int
type SKU ¶
type SKU struct { Name string `db:"name" json:"name"` Artist string `db:"artist" json:"artist"` Url string `db:"item_url" json:"itemUrl"` Image string `db:"image_url" json:"imageUrl"` Price string `db:"price" json:"price"` Retailer string `db:"retailer" json:"retailer"` RetailerUrl string `db:"retailer_url" json:"retailerUrl"` }
type StrangeWorldRecords ¶
type StrangeWorldRecords struct{}
func (*StrangeWorldRecords) GetArtistQueryURL ¶
func (a *StrangeWorldRecords) GetArtistQueryURL(artist string) string
func (*StrangeWorldRecords) ScrapeArtistReleases ¶
func (a *StrangeWorldRecords) ScrapeArtistReleases(artist string) (findings []SKU, err error)
type UtopiaSKUEntry ¶
type UtopiaSKUEntry struct { Id int64 `json:"id"` Title string `json:"title"` Handle string `json:"handle"` Description string `json:"description"` PublishedAt time.Time `json:"published_at"` CreatedAt time.Time `json:"created_at"` Vendor string `json:"vendor"` Type string `json:"type"` Tags []string `json:"tags"` Price int `json:"price"` PriceMin int `json:"price_min"` PriceMax int `json:"price_max"` Available bool `json:"available"` PriceVaries bool `json:"price_varies"` CompareAtPrice interface{} `json:"compare_at_price"` CompareAtPriceMin int `json:"compare_at_price_min"` CompareAtPriceMax int `json:"compare_at_price_max"` CompareAtPriceVaries bool `json:"compare_at_price_varies"` Variants []struct { Id int64 `json:"id"` Title string `json:"title"` Option1 string `json:"option1"` Option2 interface{} `json:"option2"` Option3 interface{} `json:"option3"` Sku string `json:"sku"` RequiresShipping bool `json:"requires_shipping"` Taxable bool `json:"taxable"` FeaturedImage interface{} `json:"featured_image"` Available bool `json:"available"` Name string `json:"name"` PublicTitle interface{} `json:"public_title"` Options []string `json:"options"` Price int `json:"price"` Weight int `json:"weight"` CompareAtPrice interface{} `json:"compare_at_price"` InventoryManagement string `json:"inventory_management"` Barcode string `json:"barcode"` RequiresSellingPlan bool `json:"requires_selling_plan"` SellingPlanAllocations []interface{} `json:"selling_plan_allocations"` } `json:"variants"` Images []string `json:"images"` FeaturedImage string `json:"featured_image"` Options []string `json:"options"` Media []struct { Alt interface{} `json:"alt"` Id int64 `json:"id"` Position int `json:"position"` PreviewImage struct { AspectRatio float64 `json:"aspect_ratio"` Height int `json:"height"` Width int `json:"width"` Src string `json:"src"` } `json:"preview_image"` AspectRatio float64 `json:"aspect_ratio"` Height int `json:"height"` MediaType string `json:"media_type"` Src string `json:"src"` Width int `json:"width"` } `json:"media"` RequiresSellingPlan bool `json:"requires_selling_plan"` SellingPlanGroups []interface{} `json:"selling_plan_groups"` Content string `json:"content"` }
type VinylRetailer ¶
type VinylRetailer interface { GetArtistQueryURL(artist string) string ScrapeArtistReleases(artist string) ([]SKU, error) }
func VinylRetailerFactory ¶
func VinylRetailerFactory(retailerId RetailerID) (VinylRetailer, error)
Source Files
¶
Click to show internal directories.
Click to hide internal directories.