szkopul_client

package
v0.6.1 Latest Latest
Warning

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

Go to latest
Published: Jul 2, 2023 License: MIT Imports: 32 Imported by: 0

Documentation

Index

Constants

View Source
const ErrorFetchingProblemSiteFailed = `fetching problem site failed`
View Source
const ErrorIDNotFound = `problem id not found`
View Source
const ErrorNeedArchive = "you have to specify the archive"
View Source
const ErrorNeedProblemID = "you have to specify the Problem ID"
View Source
const ErrorNeedSubmissionID = "you have to specify the Submission ID"
View Source
const ErrorParsingProblemsFailed = `parsing some problems failed`
View Source
const ErrorServiceUnavailable = `service unavailable`
View Source
const PdfStatementProblemURL = `/problemset/problem/%v/statement`
View Source
const SiteStatementProblemURL = `/problemset/problem/%v/site/?key=statement`
View Source
const StandardIOReg = `(\nKomunikacja\n|\nOpis interfejsu\s+)`
View Source
const SubmitIDRegStr = `\d+`

Variables

View Source
var Archives = [...]string{
	"OI",
}
View Source
var ErrorNotLogged = "not logged in"

Functions

func GetAliasAndName added in v0.4.0

func GetAliasAndName(name string) (alias string, problemName string)

func Init

func Init(path, host, proxy string)

func ProblemURL added in v0.4.0

func ProblemURL(host, problemID string) string

Types

type Info

type Info struct {
	Archive      string `json:"archive"`
	ContestID    string `json:"contest_id"`
	StageID      string `json:"stage_id"`
	ProblemAlias string `json:"problem_alias"`
	ProblemID    string `json:"problem_id"`
	SubmissionID string `json:"submission_id"`
	RootPath     string
}

func (*Info) APISubmitURL

func (info *Info) APISubmitURL(host string) (string, error)

func (*Info) Hint

func (info *Info) Hint() string

func (*Info) MySubmissionURL

func (info *Info) MySubmissionURL(host string) string

func (*Info) OpenURL

func (info *Info) OpenURL(host string) (string, error)

func (*Info) Path

func (info *Info) Path() string

func (*Info) ProblemSetURL added in v0.4.0

func (info *Info) ProblemSetURL(host string) (string, error)

func (*Info) ProblemURL

func (info *Info) ProblemURL(host string) (string, error)

func (*Info) SubmissionURL

func (info *Info) SubmissionURL(host string) (string, error)

func (*Info) SubmitURL

func (info *Info) SubmitURL(host string) (string, error)

func (*Info) ToTask added in v0.5.2

func (info *Info) ToTask() database_client.Task

type StatisInfo added in v0.4.0

type StatisInfo struct {
	ID      string
	Name    string
	Alias   string
	Stage   string
	Contest string
	Points  string
}

func (*StatisInfo) ParsePoint added in v0.4.1

func (prob *StatisInfo) ParsePoint() string

type Submission

type Submission struct {
	// contains filtered or unexported fields
}

func (*Submission) ParseID

func (s *Submission) ParseID() string

func (*Submission) ParsePoints

func (s *Submission) ParsePoints() string

func (*Submission) ParseStatus

func (s *Submission) ParseStatus() string

type SzkopulClient

type SzkopulClient struct {
	Jar            *cookiejar.Jar `json:"cookies"`
	Username       string         `json:"handle"`
	Password       string         `json:"password"`
	LastSubmission *Info          `json:"last_submission"`
	// contains filtered or unexported fields
}
var Instance *SzkopulClient

func (*SzkopulClient) ConfigLogin

func (c *SzkopulClient) ConfigLogin() (err error)

func (*SzkopulClient) DecryptPassword

func (c *SzkopulClient) DecryptPassword() (string, error)

func (*SzkopulClient) GetCsrf

func (c *SzkopulClient) GetCsrf(URL string) (csrf string, err error)

func (*SzkopulClient) Login

func (c *SzkopulClient) Login() (err error)

func (*SzkopulClient) Parse added in v0.4.0

func (c *SzkopulClient) Parse(info Info, db *sql.DB) (problems []StatisInfo, paths []string, err error)

func (*SzkopulClient) ParseProblem added in v0.4.0

func (c *SzkopulClient) ParseProblem(host, problemID, path string, mu *sync.Mutex) (name string, alias string, samples int, standardIO bool, perf util.Performance, err error)

func (*SzkopulClient) Statis added in v0.4.0

func (c *SzkopulClient) Statis(info Info) (problems []StatisInfo, perf util.Performance, err error)

func (*SzkopulClient) Submit

func (c *SzkopulClient) Submit(info Info, sourcePath string) (err error)

func (*SzkopulClient) WatchSubmission

func (c *SzkopulClient) WatchSubmission(info Info, n int, line bool) (submissions []Submission, err error)

Jump to

Keyboard shortcuts

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