Documentation
¶
Index ¶
- Constants
- Variables
- func Init(path, host string)
- type Client
- func (c *Client) ConfigLogin() (err error)
- func (c *Client) DecryptPassword() (string, error)
- func (c *Client) Login() (err error)
- func (c *Client) Parse(info Info) (problems []string, paths []string, err error)
- func (c *Client) ParseProblem(URL, path string, mu *sync.Mutex) (samples int, standardIO bool, err error)
- func (c *Client) RaceContest(info Info) (err error)
- func (c *Client) Statis(info Info) (problems []StatisInfo, err error)
- func (c *Client) Submit(info Info, langID, source string) (err error)
- func (c *Client) WatchSubmission(info Info, n int, line bool) (submissions []Submission, err error)
- type Contest
- type Info
- func (info *Info) Hint() string
- func (info *Info) MySubmissionURL(host string) (string, error)
- func (info *Info) OpenURL(host string) (string, error)
- func (info *Info) Path() string
- func (info *Info) ProblemSetURL(host string) (string, error)
- func (info *Info) ProblemURL(host string) (string, error)
- func (info *Info) StandingsURL(host string) (string, error)
- func (info *Info) SubmissionURL(host string) (string, error)
- func (info *Info) SubmitURL(host string) (string, error)
- type Limit
- type Response
- type StatisInfo
- type Submission
Constants ¶
const ErrorNeedContestID = "You have to specify the Contest ID"
ErrorNeedContestID error
const ErrorNeedProblemID = "You have to specify the Problem ID"
ErrorNeedProblemID error
const ErrorNeedSubmissionID = "You have to specify the Submission ID"
ErrorNeedSubmissionID error
const ErrorUnknownType = "Unknown Type"
ErrorUnknownType error
Variables ¶
var ErrorNotLogged = "Not logged in"
ErrorNotLogged not logged in
var Langs = map[string]string{
"43": "GNU GCC C11 5.1.0 ",
"52": "Clang++17 Diagnostics ",
"50": "GNU G++14 6.4.0 ",
"54": "GNU G++17 7.3.0 ",
"73": "GNU G++20 11.2.0 (64 bit, winlibs) ",
"59": "Microsoft Visual C++ 2017 ",
"61": "GNU G++17 9.2.0 (64 bit, msys 2) ",
"65": "C# 8, .NET Core 3.1 ",
"9": "C# Mono 6.8 ",
"28": "D DMD32 v2.091.0 ",
"32": "Go 1.17.3 ",
"12": "Haskell GHC 8.10.1 ",
"60": "Java 11.0.6 ",
"36": "Java 1.8.0_241 ",
"48": "Kotlin 1.4.31 ",
"72": "Kotlin 1.5.31 ",
"19": "OCaml 4.02.1 ",
"3": "Delphi 7 ",
"4": "Free Pascal 3.0.2 ",
"51": "PascalABC.NET 3.4.2 ",
"13": "Perl 5.20.1 ",
"6": "PHP 7.2.13 ",
"7": "Python 2.7.18 ",
"31": "Python 3.8.10 ",
"40": "PyPy 2.7 (7.3.0) ",
"41": "PyPy 3.7 (7.3.0) ",
"70": "PyPy 3.8 (7.3.7, 64bit) ",
"67": "Ruby 3.0.0 ",
"75": "Rust 1.57.0 (2021) ",
"20": "Scala 2.12.8 ",
"34": "JavaScript V8 4.8.0 ",
"55": "Node.js 12.16.3 ",
}
Langs generated by ^[\s\S]*?value="(.+?)"[\s\S]*?>([\s\S]+?)<[\s\S]*?$
"\1": "\2",
var ProblemTypes = [...]string{
"contest",
}
ProblemTypes problem types
Functions ¶
Types ¶
type Client ¶
type Client struct { Jar *cookiejar.Jar `json:"cookies"` Handle string `json:"handle"` HandleOrEmail string `json:"handle_or_email"` Password string `json:"password"` Ftaa string `json:"ftaa"` Bfaa string `json:"bfaa"` LastSubmission *Info `json:"last_submission"` // contains filtered or unexported fields }
Client codeforces client
var Instance *Client
Instance global client
func (*Client) ConfigLogin ¶
ConfigLogin configure handle and password
func (*Client) DecryptPassword ¶
DecryptPassword get real password
func (*Client) ParseProblem ¶
func (c *Client) ParseProblem(URL, path string, mu *sync.Mutex) (samples int, standardIO bool, err error)
ParseProblem parse problem to path. mu can be nil
func (*Client) RaceContest ¶
RaceContest wait for contest starting
func (*Client) Statis ¶
func (c *Client) Statis(info Info) (problems []StatisInfo, err error)
Statis get statis
func (*Client) WatchSubmission ¶
WatchSubmission n is the number of submissions
type Contest ¶
type Contest struct { ID uint64 `json:"id"` Name string `json:"name"` Type string `json:"type"` Phase string `json:"phase"` Frozen bool `json:"frozen"` DurationSeconds int64 `json:"durationSeconds"` StartTimeSeconds int64 `json:"startTimeSeconds"` RelativeTimeSeconds int64 `json:"relativeTimeSeconds"` }
func GetContest ¶
func GetContest() []*Contest
type Info ¶
type Info struct { ProblemType string `json:"problem_type"` ContestID string `json:"contest_id"` GroupID string `json:"group_id"` ProblemID string `json:"problem_id"` SubmissionID string `json:"submission_id"` RootPath string }
Info information
func (*Info) MySubmissionURL ¶
MySubmissionURL parse submission url
func (*Info) ProblemSetURL ¶
ProblemSetURL parse problem set url
func (*Info) ProblemURL ¶
ProblemURL parse problem url
func (*Info) StandingsURL ¶
StandingsURL parse standings url
func (*Info) SubmissionURL ¶
SubmissionURL parse submission url
type StatisInfo ¶
StatisInfo statis information
type Submission ¶
type Submission struct {
// contains filtered or unexported fields
}
Submission submit state
func (*Submission) ParseProblemIndex ¶
func (s *Submission) ParseProblemIndex() string
ParseProblemIndex get problem's index