polygon

package
v0.19.6 Latest Latest
Warning

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

Go to latest
Published: Jan 14, 2025 License: MIT Imports: 16 Imported by: 0

Documentation

Index

Constants

View Source
const (
	FullProblemScore = 100
)

Variables

View Source
var (
	ErrBadPolygonStatus = errors.New("bad polygon status")
	ErrInvalidMethod    = errors.New("invalid method")
	ErrProblemNotFound  = errors.New("problem not found")
)
View Source
var (
	ErrAllTestsAreSamples = errors.New("all tests are samples, try -s flag")
	ErrBadTestsOrder      = errors.New("bad tests order, fix in polygon required")
)

Functions

This section is empty.

Types

type Answer

type Answer struct {
	Status  string          `json:"status"`
	Comment string          `json:"comment"`
	Result  json.RawMessage `json:"result"`
}

type CheckerTestRequest added in v0.17.0

type CheckerTestRequest url.Values

func NewCheckerTestRequest added in v0.17.0

func NewCheckerTestRequest(pID, index int) CheckerTestRequest

func (CheckerTestRequest) Answer added in v0.17.0

func (ctr CheckerTestRequest) Answer(answer string) CheckerTestRequest

func (CheckerTestRequest) Input added in v0.17.0

func (ctr CheckerTestRequest) Input(input string) CheckerTestRequest

func (CheckerTestRequest) Output added in v0.17.0

func (ctr CheckerTestRequest) Output(output string) CheckerTestRequest

func (CheckerTestRequest) Verdict added in v0.17.0

func (ctr CheckerTestRequest) Verdict(verdict string) CheckerTestRequest

type Config

type Config struct {
	URL       string `json:"url"`
	APIKey    string `json:"apiKey"`
	APISecret string `json:"apiSecret"`
}

type FileRequest added in v0.12.2

type FileRequest url.Values

func NewFileRequest added in v0.12.2

func NewFileRequest(pID int, typ FileType, name, file string) FileRequest

func (FileRequest) CheckExisting added in v0.12.2

func (fr FileRequest) CheckExisting(f bool) FileRequest

func (FileRequest) SourceType added in v0.12.2

func (fr FileRequest) SourceType(typ string) FileRequest

type FileType added in v0.12.2

type FileType string
const (
	TypeSource   FileType = "source"
	TypeResource FileType = "resource"
	TypeAUX      FileType = "aux"
)

type GroupAnswer

type GroupAnswer struct {
	Name           string   `json:"name"`
	PointsPolicy   string   `json:"pointsPolicy"`
	FeedbackPolicy string   `json:"feedbackPolicy"`
	Dependencies   []string `json:"dependencies"`
}

type PackageAnswer added in v0.16.0

type PackageAnswer struct {
	ID                  int    `json:"id"`
	Revision            int    `json:"revision"`
	CreationTimeSeconds int    `json:"creationTimeSeconds"`
	State               string `json:"state"`
	Comment             string `json:"comment"`
	Type                string `json:"type"`
}

type Polygon

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

func NewPolygon

func NewPolygon(cfg *Config) *Polygon

func (*Polygon) BuildPackage added in v0.16.0

func (p *Polygon) BuildPackage(pID int, full, verify bool) error

func (*Polygon) Commit added in v0.16.0

func (p *Polygon) Commit(pID int, minor bool, message string) error

func (*Polygon) ContestProblems added in v0.16.3

func (p *Polygon) ContestProblems(pID int) (map[string]ProblemAnswer, error)

Problem Idx (A, B, C) -> Problem.

func (*Polygon) DownloadPackage added in v0.16.0

func (p *Polygon) DownloadPackage(pID, packID int, packType string) ([]byte, error)

func (*Polygon) EnableGroups

func (p *Polygon) EnableGroups(pID int) error

func (*Polygon) EnablePoints

func (p *Polygon) EnablePoints(pID int) error

func (*Polygon) GetGroups

func (p *Polygon) GetGroups(pID int) ([]GroupAnswer, error)

func (*Polygon) GetPackages added in v0.16.0

func (p *Polygon) GetPackages(pID int) ([]PackageAnswer, error)

func (*Polygon) GetProblem added in v0.16.0

func (p *Polygon) GetProblem(pID int) (*ProblemAnswer, error)

func (*Polygon) GetTests

func (p *Polygon) GetTests(pID int) ([]TestAnswer, error)

func (*Polygon) IncrementalScoring

func (p *Polygon) IncrementalScoring(pID int, samples bool) error

func (*Polygon) SaveCheckerTest added in v0.17.0

func (p *Polygon) SaveCheckerTest(ctr CheckerTestRequest) error

func (*Polygon) SaveFile added in v0.12.2

func (p *Polygon) SaveFile(fReq FileRequest) error

func (*Polygon) SaveScript added in v0.17.0

func (p *Polygon) SaveScript(pID int, testset, source string) error

func (*Polygon) SaveSolution added in v0.12.2

func (p *Polygon) SaveSolution(sr SolutionRequest) error

func (*Polygon) SaveStatement added in v0.17.0

func (p *Polygon) SaveStatement(sr StatementRequest) error

func (*Polygon) SaveStatementResource added in v0.17.0

func (p *Polygon) SaveStatementResource(pID int, name, data string) error

func (*Polygon) SaveTags added in v0.12.1

func (p *Polygon) SaveTags(pID int, tags string) error

func (*Polygon) SaveTest

func (p *Polygon) SaveTest(tReq TestRequest) error

func (*Polygon) SaveTestGroup added in v0.17.0

func (p *Polygon) SaveTestGroup(tgr TestGroupRequest) error

func (*Polygon) SaveValidatorTest added in v0.17.0

func (p *Polygon) SaveValidatorTest(vtr ValidatorTestRequest) error

func (*Polygon) SetChecker added in v0.12.2

func (p *Polygon) SetChecker(pID int, checker string) error

func (*Polygon) SetInteractor added in v0.12.2

func (p *Polygon) SetInteractor(pID int, interactor string) error

func (*Polygon) SetValidator added in v0.12.2

func (p *Polygon) SetValidator(pID int, validator string) error

func (*Polygon) UpdateInfo added in v0.12.2

func (p *Polygon) UpdateInfo(pr ProblemRequest) error

func (*Polygon) UpdateWorkingCopy added in v0.16.0

func (p *Polygon) UpdateWorkingCopy(pid int) error

type ProblemAnswer added in v0.16.0

type ProblemAnswer struct {
	ID            int    `json:"id"`
	Owner         string `json:"owner"`
	Name          string `json:"name"`
	Deleted       bool   `json:"deleted"`
	Favourite     bool   `json:"favourite"`
	AccessType    string `json:"accessType"`
	Revision      int    `json:"revision"`
	LatestPackage int    `json:"latestPackage,omitempty"`
	Modified      bool   `json:"modified"`
}

type ProblemRequest added in v0.12.2

type ProblemRequest url.Values

func NewProblemRequest added in v0.12.2

func NewProblemRequest(pID int) ProblemRequest

func (ProblemRequest) InputFile added in v0.12.2

func (pr ProblemRequest) InputFile(name string) ProblemRequest

func (ProblemRequest) Interactive added in v0.12.2

func (pr ProblemRequest) Interactive(f bool) ProblemRequest

func (ProblemRequest) MemoryLimit added in v0.12.2

func (pr ProblemRequest) MemoryLimit(ml int) ProblemRequest

func (ProblemRequest) OutputFile added in v0.12.2

func (pr ProblemRequest) OutputFile(name string) ProblemRequest

func (ProblemRequest) TimeLimit added in v0.12.2

func (pr ProblemRequest) TimeLimit(tl int) ProblemRequest

type SolutionRequest added in v0.17.0

type SolutionRequest url.Values

func NewSolutionRequest added in v0.17.0

func NewSolutionRequest(pID int, name, file string, tag SolutionTag) SolutionRequest

func (SolutionRequest) CheckExisting added in v0.17.0

func (sr SolutionRequest) CheckExisting(f bool) SolutionRequest

func (SolutionRequest) SourceType added in v0.17.0

func (sr SolutionRequest) SourceType(typ string) SolutionRequest

type SolutionTag added in v0.12.2

type SolutionTag string
const (
	TagMain              SolutionTag = "MA"
	TagCorrect           SolutionTag = "OK"
	TagIncorrect         SolutionTag = "RJ"
	TagTimeLimit         SolutionTag = "TL"
	TagTLorOK            SolutionTag = "TO"
	TagWrongAnswer       SolutionTag = "WA"
	TagPresentationError SolutionTag = "PE"
	TagMemoryLimit       SolutionTag = "ML"
	TagRuntimeError      SolutionTag = "RE"
)

type StatementRequest added in v0.17.0

type StatementRequest url.Values

func NewStatementRequest added in v0.17.0

func NewStatementRequest(pID int, lang string) StatementRequest

func (StatementRequest) Encoding added in v0.17.0

func (sr StatementRequest) Encoding(enc string) StatementRequest

func (StatementRequest) Input added in v0.17.0

func (sr StatementRequest) Input(input string) StatementRequest

func (StatementRequest) Interaction added in v0.17.0

func (sr StatementRequest) Interaction(interaction string) StatementRequest

func (StatementRequest) Legend added in v0.17.0

func (sr StatementRequest) Legend(legend string) StatementRequest

func (StatementRequest) Name added in v0.17.0

func (StatementRequest) Notes added in v0.17.0

func (sr StatementRequest) Notes(notes string) StatementRequest

func (StatementRequest) Output added in v0.17.0

func (sr StatementRequest) Output(output string) StatementRequest

func (StatementRequest) Scoring added in v0.17.0

func (sr StatementRequest) Scoring(scoring string) StatementRequest

func (StatementRequest) Tutorial added in v0.17.0

func (sr StatementRequest) Tutorial(tutorial string) StatementRequest

type TestAnswer

type TestAnswer struct {
	Index           int     `json:"index"`
	Group           string  `json:"group"`
	Points          float32 `json:"points"`
	UseInStatements bool    `json:"useInStatements"`
}

type TestGroupRequest added in v0.17.0

type TestGroupRequest url.Values

func NewTestGroupRequest added in v0.17.0

func NewTestGroupRequest(pID int, testset, group string) TestGroupRequest

func (TestGroupRequest) Dependencies added in v0.17.0

func (tgr TestGroupRequest) Dependencies(deps []string) TestGroupRequest

func (TestGroupRequest) FeedbackPolicy added in v0.17.0

func (tgr TestGroupRequest) FeedbackPolicy(feedback string) TestGroupRequest

func (TestGroupRequest) PointsPolicy added in v0.17.0

func (tgr TestGroupRequest) PointsPolicy(policy string) TestGroupRequest

type TestRequest

type TestRequest url.Values

func NewTestRequest

func NewTestRequest(pID int, index int) TestRequest

func (TestRequest) Description added in v0.12.0

func (tr TestRequest) Description(description string) TestRequest

func (TestRequest) Group

func (tr TestRequest) Group(group string) TestRequest

func (TestRequest) Input added in v0.12.0

func (tr TestRequest) Input(input string) TestRequest

func (TestRequest) Points

func (tr TestRequest) Points(points float32) TestRequest

func (TestRequest) TestSet added in v0.17.0

func (tr TestRequest) TestSet(testset string) TestRequest

func (TestRequest) UseInStatements added in v0.12.2

func (tr TestRequest) UseInStatements(f bool) TestRequest

type ValidatorTestRequest added in v0.17.0

type ValidatorTestRequest url.Values

func NewValidatorTestRequest added in v0.17.0

func NewValidatorTestRequest(pID, index int) ValidatorTestRequest

func (ValidatorTestRequest) Input added in v0.17.0

func (ValidatorTestRequest) Verdict added in v0.17.0

func (vtr ValidatorTestRequest) Verdict(verdict string) ValidatorTestRequest

VALID or INVALID.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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