api

package
v1.2.6 Latest Latest
Warning

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

Go to latest
Published: Apr 19, 2021 License: MIT Imports: 19 Imported by: 0

Documentation

Index

Constants

View Source
const (
	VpnHostRoot = "https://vpn.inf.shizuoka.ac.jp"
	VpnIndexURL = "https://vpn.inf.shizuoka.ac.jp/dana/home/index.cgi"
)
View Source
const (
	VolumeIDFSShare = "resource_1423533946.487706.3"
	VolumeIDFS      = "resource_1389773645.177066.2," // resource_1389773645.177066.2,2020 とか
)
View Source
const (
	VolumeNameFSShare = "fsshare"
	VolumeNameFS      = "fs"
)

Variables

Functions

func GetVolumeIDFromName

func GetVolumeIDFromName(name string) (string, error)

func IsPermissionDenied

func IsPermissionDenied(err error) bool

func ReadLog

func ReadLog() []byte

Types

type Client

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

func NewClient

func NewClient() *Client

func (*Client) CheckCookies added in v1.2.6

func (c *Client) CheckCookies() bool

func (*Client) ConfirmSession

func (c *Client) ConfirmSession(ok bool) error

if ok == true, continue to login on current device. else, stop to login.

func (*Client) Download

func (c *Client) Download(targetPath, savePath, volumeID string) error

targetPath にあるファイルをダウンロードする。パスの指定は report を / としたもの。

func (*Client) List

func (c *Client) List(path, volumeID string) ([]*SegmentInfo, error)

セグメント情報の構造体のスライスを返す

func (*Client) LoadCookiesOrLogin

func (c *Client) LoadCookiesOrLogin(username, password string) error

func (*Client) Login

func (c *Client) Login(username string, password string) error

func (*Client) Logout

func (c *Client) Logout() error

func (*Client) UploadFile

func (c *Client) UploadFile(srcPath, fileRenameOpt, volumeID, destDirPath string) error

ローカルの `srcPath` を `volumeID` ドライブの `destDirPath` へアップロードする。 `fileRenameOpt` が空文字列でなければ、アップロードしたファイルの名前は `fileRenameOpt` へ変更される。 `destDirPath` の '/' は '\' に置換されて送信される。

type ErrRedirectedToLogin

type ErrRedirectedToLogin struct {
	NextPath string // リダイレクト先のURLパス
	PrevPath string // リダイレクト元のURLパス
}

func (*ErrRedirectedToLogin) Error

func (err *ErrRedirectedToLogin) Error() string

type PermissionError

type PermissionError struct {
	RequestPath string
	VolumeID    string
}

func (*PermissionError) Error

func (pe *PermissionError) Error() string

type SegmentInfo

type SegmentInfo struct {
	Name      string  `json:"name"`    // ファイル or ディレクトリ の名前
	Path      string  `json:"path"`    // ファイルならダウンロード URL、ディレクトリなら移動先の URL
	IsFile    bool    `json:"is_file"` // file であるか
	IsDir     bool    `json:"is_dir"`  // dir であるか
	Size      float64 `json:"size"`    // サイズ
	Unit      string  `json:"unit"`    // サイズの単位
	VolumeID  string  `json:"volume_id"`
	UpdatedAt string  `json:"updated_at"` // TODO: できれば日時の構造体を使って欲しい
}

type SessionError

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

func (*SessionError) Error

func (se *SessionError) Error() string

Jump to

Keyboard shortcuts

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