shared

package
v5.9.3 Latest Latest
Warning

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

Go to latest
Published: Aug 10, 2022 License: MIT Imports: 3 Imported by: 0

Documentation

Index

Constants

View Source
const (
	StatusPending        = "pending"        // waiting for permission to sync
	StatusPendingEmail   = "pendingemail"   // permission granted but missing email
	StatusQueued         = "queued"         // in sync queue. will be synced soon
	StatusPendingUpgrade = "pendingupgrade" // in sync queue. will be synced soon
	StatusSyncing        = "syncing"        // syncing now
	StatusSynced         = "synced"         // done
	StatusWipeDb         = "pendingdbwipe"  // in sync queue. lbryum database will be pruned
	StatusFailed         = "failed"
	StatusFinalized      = "finalized"     // no more changes allowed
	StatusAbandoned      = "abandoned"     // deleted on youtube or banned
	StatusAgeRestricted  = "agerestricted" // one or more videos are age restricted and should be reprocessed with special keys
)
View Source
const (
	VideoStatusPublished      = "published"
	VideoStatusFailed         = "failed"
	VideoStatusUpgradeFailed  = "upgradefailed"
	VideoStatusUnpublished    = "unpublished"
	VideoStatusTransferFailed = "transferfailed"
)
View Source
const (
	TransferStateNotTouched = iota
	TransferStatePending
	TransferStateComplete
	TransferStateManual
)
View Source
const LatestMetadataVersion = 2

Variables

View Source
var BlockchainErrors = []string{
	"txn-mempool-conflict",
	"too-long-mempool-chain",
}
View Source
var ErrorsNoRetry = []string{
	"Requested format is not available",
	"non 200 status code received",
	"This video contains content from",
	"dont know which claim to update",
	"uploader has not made this video available in your country",
	"download error: AccessDenied: Access Denied",
	"Playback on other websites has been disabled by the video owner",
	"Error in daemon: Cannot publish empty file",
	"Error extracting sts from embedded url response",
	"Unable to extract signature tokens",
	"Client.Timeout exceeded while awaiting headers",
	"the video is too big to sync, skipping for now",
	"video is too long to process",
	"video is too short to process",
	"no compatible format available for this video",
	"Watch this video on YouTube.",
	"have blocked it on copyright grounds",
	"the video must be republished as we can't get the right size",
	"HTTP Error 403",
	"giving up after 0 fragment retries",
	"Sorry about that",
	"This video is not available",
	"requested format not available",
	"interrupted by user",
	"Sign in to confirm your age",
	"This video is unavailable",
	"video is a live stream and hasn't completed yet",
	"Premieres in",
	"Private video",
	"This live event will begin in",
	"This video has been removed by the uploader",
	"Premiere will begin shortly",
	"cannot unmarshal number 0.0",
	"default youtube thumbnail found",
	"livestream is likely bugged",
}
View Source
var FatalErrors = []string{
	":5279: read: connection reset by peer",
	"no space left on device",
	"NotEnoughFunds",
	"Cannot publish using channel",
	"cannot concatenate 'str' and 'NoneType' objects",
	"more than 90% of the space has been used.",
	"Couldn't find private key for id",
	"You already have a stream claim published under the name",
	"Missing inputs",
}
View Source
var NeverRetryFailures = []string{
	"Error extracting sts from embedded url response",
	"Unable to extract signature tokens",
	"the video is too big to sync, skipping for now",
	"video is too long to process",
	"video is too short to process",
	"This video contains content from",
	"no compatible format available for this video",
	"Watch this video on YouTube.",
	"have blocked it on copyright grounds",
	"giving up after 0 fragment retries",
	"Sign in to confirm your age",
	"Playback on other websites has been disabled by the video owner",
	"uploader has not made this video available in your country",
	"This video has been removed by the uploader",
}
View Source
var WalletErrors = []string{
	"Not enough funds to cover this transaction",
	"failed: Not enough funds",
	"Error in daemon: Insufficient funds, please deposit additional LBC",
}

Functions

This section is empty.

Types

type Fee

type Fee struct {
	Amount   string `json:"amount"`
	Address  string `json:"address"`
	Currency string `json:"currency"`
}

type PublishAddress added in v5.6.33

type PublishAddress struct {
	Address string `json:"address"`
	IsMine  bool   `json:"is_mine"`
}

func (*PublishAddress) UnmarshalJSON added in v5.6.33

func (p *PublishAddress) UnmarshalJSON(data []byte) error

type SyncFlags

type SyncFlags struct {
	TakeOverExistingChannel bool
	SkipSpaceCheck          bool
	SyncUpdate              bool
	SingleRun               bool
	RemoveDBUnpublished     bool
	UpgradeMetadata         bool
	DisableTransfers        bool
	QuickSync               bool
	MaxTries                int
	Refill                  int
	Limit                   int
	Status                  string
	SecondaryStatus         string
	ChannelID               string
	SyncFrom                int64
	SyncUntil               int64
	ConcurrentJobs          int
	VideosLimit             int
	MaxVideoSize            int
	MaxVideoLength          time.Duration
}

func (*SyncFlags) IsSingleChannelSync

func (f *SyncFlags) IsSingleChannelSync() bool

func (*SyncFlags) VideosToSync added in v5.6.18

func (f *SyncFlags) VideosToSync(totalSubscribers uint) int

VideosToSync dynamically figures out how many videos should be synced for a given subs count if nothing was otherwise specified

type VideoStatus

type VideoStatus struct {
	ChannelID       string
	VideoID         string
	Status          string
	ClaimID         string
	ClaimName       string
	FailureReason   string
	Size            *int64
	MetaDataVersion uint
	IsTransferred   *bool
}

type YoutubeChannel

type YoutubeChannel struct {
	ChannelId          string         `json:"channel_id"`
	TotalVideos        uint           `json:"total_videos"`
	TotalSubscribers   uint           `json:"total_subscribers"`
	DesiredChannelName string         `json:"desired_channel_name"`
	Fee                *Fee           `json:"fee"`
	ChannelClaimID     string         `json:"channel_claim_id"`
	TransferState      int            `json:"transfer_state"`
	PublishAddress     PublishAddress `json:"publish_address"`
	PublicKey          string         `json:"public_key"`
	LengthLimit        int            `json:"length_limit"`
	SizeLimit          int            `json:"size_limit"`
	LastUploadedVideo  string         `json:"last_uploaded_video"`
	WipeDB             bool           `json:"wipe_db"`
	Language           string         `json:"language"`
}

Jump to

Keyboard shortcuts

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