internal

package
v0.0.0-...-a4a14a9 Latest Latest
Warning

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

Go to latest
Published: Sep 19, 2023 License: MIT Imports: 19 Imported by: 0

Documentation

Index

Constants

View Source
const (
	Exit_success                   = iota
	Error_incomplete_configuration // 必須パラメータが引数や設定ファイル、環境変数で設定されなかった。
)
View Source
const (
	Magnification = 1000
)

Variables

View Source
var ShowUsage func()

Functions

func AbsPath

func AbsPath(path *string)

func AddPostfix

func AddPostfix(file, postfix *string) *string

func Argparse

func Argparse(readme *string) (*Setting, []SettingForDD, []string, *ArgsAll)

戻り値は引数処理結果のsettingと引数にあったファイルのリスト

func Ask

func Ask(input_file *string, setting *Setting, p *pb.ProgressBar, strs []string) bool

func AskByDD

func AskByDD(s *SettingForDD, lcs string, setting *Setting)

func CheckInputDir

func CheckInputDir(inputDir *string) error

func CheckOutputDir

func CheckOutputDir(outputDir *string) error

func CheckPathAndRunFunction

func CheckPathAndRunFunction(
	path string,
	funcNotExist func(err error),
	funcIsDir func(),
	funcIsFile func(),
)

引数で与えられたpathを調べ、 存在しなければfuncNotExistを実行し、 ディレクトリであればfuncIsDirを実行し、 ファイルであればfuncIsFileを実行する関数。 いい名前があればリネームしたい。

func Clamp

func Clamp[T int | int8 | int16 | int32 | int64 | uint | uint8 | uint16 | uint32 | uint64 | float32 | float64](value, min, max T) T

func CreateDir

func CreateDir(path string)

func CreateHttpRequest

func CreateHttpRequest(messages *[]Message, openaiURL, aiModel, apiKey, tmpdir *string, temperature float64, tmpflag bool) *http.Request

func CreateID

func CreateID(input_file *string, setting *Setting) string

func CreateOutputDirWithSetting

func CreateOutputDirWithSetting(setting *Setting)

func CreateSameDirsOn

func CreateSameDirsOn(ref_dir, target_dir string)

ref_dirの子ディレクトリをtarget_dirに作成する。

func CreateSettingHjsonTemplate

func CreateSettingHjsonTemplate(path string)

func CreateTmpDir

func CreateTmpDir(setting *Setting)

func CreateUsageText

func CreateUsageText(parser *arg.Parser) *string

func DivideByFuncEnd

func DivideByFuncEnd(divided [][]string, num int) [][]string

func DivideBySize

func DivideBySize(divided [][]string, num int) [][]string

サイズで区切る 空行のところでサイズチェックして超える前で分割する 空行がないとき、指定サイズを超える。

func DivideOnHeadingElement

func DivideOnHeadingElement(in [][]string) [][]string

heading要素 <h1> <h2> ... で区切る

func DivideOnNewLine

func DivideOnNewLine(text *string) [][]string

func GetApikey

func GetApikey(apikey, apiFile *string) (*string, error)

func GetBinDir

func GetBinDir() string

func GetCommonParentPath

func GetCommonParentPath(paths []string) string

func GetCurrentDir

func GetCurrentDir() string

func GetFileList

func GetFileList(paths []string) []string

func GetFileNameWithoutExt

func GetFileNameWithoutExt(path *string) string

func GetHomeDir

func GetHomeDir() string

func GetPathWithBinDir

func GetPathWithBinDir(path string) string

func GetPathWithCurrentDir

func GetPathWithCurrentDir(path string) string

func GetPathWithHomeDir

func GetPathWithHomeDir(path string) string

func GetPostfix

func GetPostfix(postfix *string) error

func GetPrompt

func GetPrompt(prompt, promptFile *string) error

func GetResponseBody

func GetResponseBody(req *http.Request, tmpdir *string, tmpflag bool) []byte

func GetSettingFilePath

func GetSettingFilePath() (*string, error)

func GetTargetFiles

func GetTargetFiles(dir string, extension string) []string

RunWithSetting から呼ばれる。

func GetText

func GetText(filepath *string) (*string, error)

func GetTextNoError

func GetTextNoError(filepath *string) *string

func HasSetting

func HasSetting() bool

func IsOver

func IsOver(value, num int) bool

var IsOver func(value, num int) bool

func JsonFormat

func JsonFormat(body []byte) string

func Move

func Move(src, dst string)

func OutputTextForCheck

func OutputTextForCheck(file, str *string)

func QuestionByText

func QuestionByText(inputText *string, setting *Setting, tmpflag bool, id *string) (*string, error)

func RemoveEmptyDirectories

func RemoveEmptyDirectories(path string) error

func ResetValueIfValueIsEmpty

func ResetValueIfValueIsEmpty(setting *Setting)

もし、初期値が設定されている値が、設定ファイルにおいて指定されていない場合、初期値を指定しなおす。

func RunByDD

func RunByDD(settingsfordd []SettingForDD, files []string, setting *Setting)

func RunImmidiateTerminate

func RunImmidiateTerminate(argsAll *ArgsAll, readme *string)

即終了系の処理 OpenAIに投げないで終了する処理

func RunInputTextOnArgs

func RunInputTextOnArgs(argsAll *ArgsAll, setting *Setting)

func RunOnBash

func RunOnBash(format string, a ...any) string

func RunWithSetting

func RunWithSetting(setting *Setting)

func ShowSetting

func ShowSetting(s *Setting)

func SplitText

func SplitText(text *string, num int) []string

sizeに指定された値

func StackTrace

func StackTrace()

func StringJoin

func StringJoin(in []string) *string

Types

type ArgsAll

type ArgsAll struct {
	ArgsSetting
	ArgsDD
	ArgsCommandLine

	InputText  string `` /* 293-byte string literal not displayed */
	Readme     bool   `` /* 200-byte string literal not displayed */
	OutputText string `` /* 200-byte string literal not displayed */
}

type ArgsCommandLine

type ArgsCommandLine struct {
	InputDir    string  `` /* 186-byte string literal not displayed */
	OutputDir   string  `` /* 216-byte string literal not displayed */
	ApiFile     string  `` /* 231-byte string literal not displayed */
	Apikey      string  `` /* 163-byte string literal not displayed */
	PromptFile  string  `` /* 576-byte string literal not displayed */
	Prompt      string  `` /* 372-byte string literal not displayed */
	Postfix     string  `` /* 155-byte string literal not displayed */
	Extension   string  `` /* 261-byte string literal not displayed */
	Tmp         string  `` /* 297-byte string literal not displayed */
	Concurrency int     `` /* 560-byte string literal not displayed */
	AiModel     string  `` /* 440-byte string literal not displayed */
	Temperature float64 `` /* 580-byte string literal not displayed */
	OpenaiURL   string  `` /* 271-byte string literal not displayed */
	Split       int     `` /* 496-byte string literal not displayed */
	Move        string  `` /* 222-byte string literal not displayed */
}

func (ArgsCommandLine) Description

func (ArgsCommandLine) Description() string

type ArgsDD

type ArgsDD struct {
	InputFiles []string `` /* 381-byte string literal not displayed */
}

type ArgsSetting

type ArgsSetting struct {
	CreateSetting bool   `arg:"-c,--create-setting"   help:"設定ファイルの雛形を生成する。\n"`
	Setting       string `` /* 355-byte string literal not displayed */
}

type BoolString

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

type BoolStrings

type BoolStrings []BoolString

func (*BoolStrings) Set

func (bss *BoolStrings) Set(status bool, value *string)

type Choice

type Choice struct {
	Index        int     `json:"index"`
	Messages     Message `json:"message"`
	FinishReason string  `json:"finish_reason"`
}

type FileEntries

type FileEntries struct {
	Dirs  []string
	Files []string
}

func Dirwalk

func Dirwalk(dirpath string) (FileEntries, error)

find -type dとは違って、指定したディレクトリを含まない treeと同じカウント方法 $ tree -d --charset ascii ./input | grep "directories" 4 directories

type Message

type Message struct {
	Role    string `json:"role"`
	Content string `json:"content"`
}

type OpenaiRequest

type OpenaiRequest struct {
	Model       string    `json:"model"`
	Messages    []Message `json:"messages"`
	Temperature float64   `json:"temperature"`
}

type OpenaiResponse

type OpenaiResponse struct {
	ID      string   `json:"id"`
	Object  string   `json:"object"`
	Created int      `json:"created"`
	Choices []Choice `json:"choices"`
	Usages  Usage    `json:"usage"`
}

func GetOpenAIResponse

func GetOpenAIResponse(messages *[]Message, openaiURL, aiModel, apiKey, tmpdir *string, temperature float64, tmpflag bool) *OpenaiResponse

Questionからしか呼ばないつもり。

type Setting

type Setting struct {
	InputDir  string `` /* 186-byte string literal not displayed */
	OutputDir string `` /* 218-byte string literal not displayed */
	SettingCommon
}

func GetSetting

func GetSetting(argsAll *ArgsAll, parser *arg.Parser) (*Setting, error)

引数と設定ファイルから設定を取得する。

func GetTemplateSetting

func GetTemplateSetting() *Setting

func ReadSettingHjson

func ReadSettingHjson(path *string) *Setting

func Unmarshal

func Unmarshal(b []byte) Setting

type SettingCommon

type SettingCommon struct {
	Apikey      string  `` /* 206-byte string literal not displayed */
	Prompt      string  `` /* 764-byte string literal not displayed */
	Extension   string  `` /* 461-byte string literal not displayed */
	Concurrency int     `` /* 510-byte string literal not displayed */
	Temperature float64 `` /* 451-byte string literal not displayed */
	Tmp         string  `` /* 287-byte string literal not displayed */
	Postfix     string  `` /* 154-byte string literal not displayed */
	AiModel     string  `` /* 404-byte string literal not displayed */
	OpenaiURL   string  `` /* 312-byte string literal not displayed */
	Split       int     `` /* 491-byte string literal not displayed */
	Move        string  `` /* 191-byte string literal not displayed */
}

type SettingForDD

type SettingForDD struct {
	Input     string // 入力ファイル
	OutputDir string

	Common *SettingCommon
}

func GetSettingsForDD

func GetSettingsForDD(argsAll *ArgsAll, setting *Setting) ([]SettingForDD, []string)

type Usage

type Usage struct {
	PromptTokens     int `json:"prompt_tokens"`
	CompletionTokens int `json:"completion_tokens"`
	TotalTokens      int `json:"total_tokens"`
}

Jump to

Keyboard shortcuts

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