adacore

package module
v0.3.9 Latest Latest
Warning

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

Go to latest
Published: Sep 21, 2020 License: Apache-2.0 Imports: 28 Imported by: 4

README

Ada Core

Build Status

概要

adacore是一个开箱即用的报表输出工具。

使用

具体可见 例子-报表

执行该例子后,会生成一个这样的 页面

接口现在还比较简单,逐步完善中,如果您有任何的意见和建议,可以提出来。

更新日志
v0.2
  • 加入ChatBot支持。
  • 支持 telegram,这里加入:Ada
v0.1
  • 支持grpc调用。

Documentation

Index

Constants

View Source
const (
	// ChartSortNoSort - no sort
	ChartSortNoSort string = ""
	// ChartSortSort - sort
	ChartSortSort string = "sort"
	// ChartSortReverse - reverse sort
	ChartSortReverse string = "reverse"
)

Variables

View Source
var (
	// ErrDuplicateFNInImageMap - Duplicate filename in ImageMap
	ErrDuplicateFNInImageMap = errors.New("Duplicate filename in ImageMap")
	// ErrDuplicateBNInImageMap - Duplicate buffname in ImageMap
	ErrDuplicateBNInImageMap = errors.New("Duplicate buffname in ImageMap")

	// ErrNilImageMap - ImageMap is nil
	ErrNilImageMap = errors.New("ImageMap is nil")

	// ErrInvalidImageFileType - invalid image file type
	ErrInvalidImageFileType = errors.New("invalid image file type")
)

Functions

func BuildMarkdownData

func BuildMarkdownData(lst []*adacorepb.MarkdownStream) (*adacorepb.MarkdownData, error)

BuildMarkdownData - []HTMLStream => HTMLData

func BuildMarkdownStream

func BuildMarkdownStream(mddata *adacorepb.MarkdownData, token string) ([]*adacorepb.MarkdownStream, error)

BuildMarkdownStream - MarkdownData => []MarkdownStream

func DownloadBuff added in v0.2.42

func DownloadBuff(url string) ([]byte, error)

DownloadBuff - download buffer

func DownloadFile added in v0.2.42

func DownloadFile(fn string, url string) error

DownloadFile - download file

func FillImage added in v0.2.42

func FillImage(destfn string, w int, h int, srcfn string, anchor imaging.Anchor, filter imaging.ResampleFilter) error

FillImage - fill image file

func FitImage added in v0.2.42

func FitImage(destfn string, w int, h int, srcfn string, filter imaging.ResampleFilter) error

FitImage - fit image file

func FixTableString added in v0.2.35

func FixTableString(str string) string

FixTableString - fix table string

func InitLogger

func InitLogger(cfg *Config)

InitLogger - init logger

func InitTemplates added in v0.1.38

func InitTemplates() error

InitTemplates - init templates

func LoadImageFile added in v0.2.42

func LoadImageFile(fn string) (image.Image, error)

LoadImageFile - load image file

func LoadMarkdownAndFiles added in v0.2.37

func LoadMarkdownAndFiles(fn string, globpattern string) (*adacorepb.MarkdownData, error)

LoadMarkdownAndFiles - load a markdown file & somes files

func NewRateOfChgFloat added in v0.3.7

func NewRateOfChgFloat(fval []float32) []float32

NewRateOfChgFloat - new

func NewRateOfChgFloat64 added in v0.3.7

func NewRateOfChgFloat64(fval []float64) []float32

NewRateOfChgFloat64 - new

func NewRateOfChgInt added in v0.3.7

func NewRateOfChgInt(ival []int) []float32

NewRateOfChgInt - new

func ResizeImage added in v0.2.42

func ResizeImage(destfn string, w int, h int, srcfn string, filter imaging.ResampleFilter) error

ResizeImage - resize image file

func SaveHTMLData

func SaveHTMLData(htmldata *adarender.HTMLData, hashname string, cfg *Config) (string, error)

SaveHTMLData - save html

func SaveImageFile added in v0.2.42

func SaveImageFile(fn string, img image.Image) error

SaveImageFile - save image file

Types

type ChartBar added in v0.1.41

type ChartBar struct {
	ID          string           `yaml:"id"`
	DatasetName string           `yaml:"datasetname"`
	Title       string           `yaml:"title"`
	SubText     string           `yaml:"subtext"`
	LegendData  []string         `yaml:"legenddata"`
	XType       string           `yaml:"xtype"`
	XData       string           `yaml:"xdata"`
	XShowAll    bool             `yaml:"xshowall"`
	YType       string           `yaml:"ytype"`
	YData       []ChartBasicData `yaml:"ydata"`
}

ChartBar - chart bar infomation

type ChartBasicData added in v0.1.41

type ChartBasicData struct {
	Name string `yaml:"name"`
	Data string `yaml:"data"`
}

ChartBasicData - chart basic data

type ChartPie added in v0.1.38

type ChartPie struct {
	ID          string `yaml:"id"`
	DatasetName string `yaml:"datasetname"`
	Title       string `yaml:"title"`
	SubText     string `yaml:"subtext"`
	Width       int    `yaml:"width"`
	Height      int    `yaml:"height"`
	A           string `yaml:"a"`
	BVal        string `yaml:"bval"`
	CVal        string `yaml:"cval"`
	Sort        string `yaml:"sort"`
}

ChartPie - chart pie infomation

type ChartTreeMap added in v0.1.45

type ChartTreeMap struct {
	ID          string                   `yaml:"id"`
	Title       string                   `yaml:"title"`
	SubText     string                   `yaml:"subtext"`
	Width       int                      `yaml:"width"`
	Height      int                      `yaml:"height"`
	RecountType string                   `yaml:"recounttype"`
	LegendData  []string                 `yaml:"legenddata"`
	TreeMap     []ChartTreeMapSeriesNode `yaml:"treemap"`
}

ChartTreeMap - chart treemap infomation

type ChartTreeMapData added in v0.1.45

type ChartTreeMapData struct {
	Name     string             `yaml:"name"`
	Value    int                `yaml:"value"`
	URL      string             `yaml:"url"`
	Children []ChartTreeMapData `yaml:"children"`
}

ChartTreeMapData - chart treemap data

type ChartTreeMapDataFloat added in v0.1.49

type ChartTreeMapDataFloat struct {
	Name     string                  `yaml:"name"`
	Value    float32                 `yaml:"value"`
	URL      string                  `yaml:"url"`
	Children []ChartTreeMapDataFloat `yaml:"children"`
}

ChartTreeMapDataFloat - chart treemap float data

type ChartTreeMapFloat added in v0.1.49

type ChartTreeMapFloat struct {
	ID          string                        `yaml:"id"`
	Title       string                        `yaml:"title"`
	SubText     string                        `yaml:"subtext"`
	Width       int                           `yaml:"width"`
	Height      int                           `yaml:"height"`
	RecountType string                        `yaml:"recounttype"`
	LegendData  []string                      `yaml:"legenddata"`
	TreeMap     []ChartTreeMapSeriesNodeFloat `yaml:"treemap"`
}

ChartTreeMapFloat - chart treemap float infomation

type ChartTreeMapSeriesNode added in v0.1.46

type ChartTreeMapSeriesNode struct {
	Name string             `yaml:"name"`
	Data []ChartTreeMapData `yaml:"data"`
}

ChartTreeMapSeriesNode - chart treemap series node

type ChartTreeMapSeriesNodeFloat added in v0.1.49

type ChartTreeMapSeriesNodeFloat struct {
	Name string                  `yaml:"name"`
	Data []ChartTreeMapDataFloat `yaml:"data"`
}

ChartTreeMapSeriesNodeFloat - chart treemap series node

type Client

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

Client - AdaRenderServClient

func NewClient

func NewClient(servAddr string, token string) *Client

NewClient - new AdaRenderClient

func (*Client) BuildWithMarkdown

func (client *Client) BuildWithMarkdown(ctx context.Context, mddata *adacorepb.MarkdownData) (
	*adacorepb.ReplyMarkdown, error)

BuildWithMarkdown - MarkdownData => ReplyMarkdown

func (*Client) BuildWithMarkdownFile

func (client *Client) BuildWithMarkdownFile(ctx context.Context, fn string, tempname string) (*adacorepb.ReplyMarkdown, error)

BuildWithMarkdownFile - markdown file => ReplyMarkdown

type Commodity added in v0.2.39

type Commodity struct {
	ID    string           `yaml:"id"`
	Items []*CommodityItem `yaml:"items"`
}

Commodity - commodity

func (*Commodity) LoadImageMap added in v0.2.39

func (c *Commodity) LoadImageMap(fullfn bool) (*ImageMap, error)

LoadImageMap - load ImageMap

type CommodityItem added in v0.2.39

type CommodityItem struct {
	Title       string        `yaml:"title"`
	CurPrice    float32       `yaml:"curprice"`
	Img         string        `yaml:"img"`
	ImgFileName string        `yaml:"imgfilename"`
	URL         string        `yaml:"url"`
	Shop        CommodityShop `yaml:"shop"`
}

CommodityItem - commodity item

type CommodityShop added in v0.2.39

type CommodityShop struct {
	Name string `yaml:"name"`
	URL  string `yaml:"url"`
}

CommodityShop - commodity shop

type Config

type Config struct {

	// AdaRenderServAddr - Ada render service address
	AdaRenderServAddr string
	// AdaRenderToken - This is a valid adarenderserv token
	AdaRenderToken string

	// ClientTokens - There are the valid clienttokens for this node
	ClientTokens []string
	// MaxExpireTime - max expire time in seconds
	MaxExpireTime int32
	// IsAllowTemplateData - Whether to allow templatedata
	IsAllowTemplateData bool
	// Templates - This is all the templates available for this role.
	Templates []string
	// ResNums - This is the amount of resources available for this role
	ResNums int32

	// FilePath - Output file path
	FilePath string
	// BindAddr - bind addr
	BindAddr string
	// BaseURL - base URL
	BaseURL string
	// TemplatesPath - templates file path
	// Deprecated: The configuration of the template path is no longer needed.
	TemplatesPath string

	Log struct {
		// LogPath - log path
		LogPath string
		// LogLevel - log level, it can be debug, info, warn, error
		LogLevel string
		// LogConsole - it can be output to console
		LogConsole bool
	}
}

Config - config

func LoadConfig

func LoadConfig(filename string) (*Config, error)

LoadConfig - load config

func (*Config) HasToken

func (cfg *Config) HasToken(token string) bool

HasToken - has token

type Dataset added in v0.1.38

type Dataset struct {
	Name string      `yaml:"name"`
	Data interface{} `yaml:"data"`
}

Dataset - dataset

type DownloadMgr added in v0.2.42

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

DownloadMgr - download manager

func NewDownloadMgr added in v0.2.42

func NewDownloadMgr(workernums int) *DownloadMgr

NewDownloadMgr - new DownloadMgr

func (*DownloadMgr) AddTask added in v0.2.42

func (mgr *DownloadMgr) AddTask(url string, ondownloaded FuncOnDownloaded)

AddTask - add task

func (*DownloadMgr) LogState added in v0.2.42

func (mgr *DownloadMgr) LogState()

LogState - output state to log

type DownloadWorker added in v0.2.42

type DownloadWorker struct {
	WorkerIndex     int
	CurURL          string
	StartTime       int64
	LastTime        int64
	Buff            []byte
	IsRunning       bool
	TotalTaskNums   int
	TotalBuffNums   int64
	TotalFailedNums int
	TotalTime       int64
}

DownloadWorker - download worker

func (*DownloadWorker) LogState added in v0.2.42

func (dw *DownloadWorker) LogState()

LogState - output state to log

type FuncOnDownloaded added in v0.2.42

type FuncOnDownloaded func(url string, buf []byte, err error)

FuncOnDownloaded - func (url string, buf []byte, err error)

type ImageMap added in v0.2.39

type ImageMap struct {
	MapImgs map[string][]byte
}

ImageMap - image mapping

func NewImageMap added in v0.2.39

func NewImageMap() *ImageMap

NewImageMap - new ImageMap

func (*ImageMap) AddImage added in v0.2.39

func (im *ImageMap) AddImage(fn string, fullfn bool) (string, error)

AddImage - add a image

func (*ImageMap) AddImageBuff added in v0.2.39

func (im *ImageMap) AddImageBuff(name string, buf []byte) error

AddImageBuff - add a image buffer

type KeywordMapping

type KeywordMapping struct {
	// Keyword - keyword
	Keyword string
	// URL - url
	URL string
}

KeywordMapping - keyword mapping

type KeywordMappingList

type KeywordMappingList struct {
	Keywords []*KeywordMapping
}

KeywordMappingList - KeywordMapping list

func LoadKeywordMappingList

func LoadKeywordMappingList(fn string) (*KeywordMappingList, error)

LoadKeywordMappingList - load keyword mapping file

type Markdown

type Markdown struct {
	// Title - title
	Title string
	// contains filtered or unexported fields
}

Markdown - markdown

func NewMakrdown

func NewMakrdown(title string) *Markdown

NewMakrdown - new Markdown

func (*Markdown) AppendChartBar added in v0.1.41

func (md *Markdown) AppendChartBar(bar *ChartBar) (
	string, error)

AppendChartBar - append chart bar, the obj should be an object that can be encoded by yaml

func (*Markdown) AppendChartLine added in v0.1.38

func (md *Markdown) AppendChartLine(obj interface{}) (
	string, error)

AppendChartLine - append chart line, the obj should be an object that can be encoded by yaml

func (*Markdown) AppendChartPie added in v0.1.38

func (md *Markdown) AppendChartPie(pie *ChartPie) (
	string, error)

AppendChartPie - append chart pie, the obj should be an object that can be encoded by yaml

func (*Markdown) AppendChartTreeMap added in v0.1.45

func (md *Markdown) AppendChartTreeMap(treemap *ChartTreeMap) (
	string, error)

AppendChartTreeMap - append chart treemap, the obj should be an object that can be encoded by yaml

func (*Markdown) AppendChartTreeMapFloat added in v0.1.49

func (md *Markdown) AppendChartTreeMapFloat(treemap *ChartTreeMapFloat) (
	string, error)

AppendChartTreeMapFloat - append chart treemap, the obj should be an object that can be encoded by yaml

func (*Markdown) AppendCode

func (md *Markdown) AppendCode(code string, codetype string) string

AppendCode - append code

func (*Markdown) AppendCommodity added in v0.2.39

func (md *Markdown) AppendCommodity(commodity *Commodity, im *ImageMap, mddata *adacorepb.MarkdownData) (
	string, error)

AppendCommodity - append commodity

func (*Markdown) AppendDataset added in v0.1.38

func (md *Markdown) AppendDataset(name string, data interface{}) (
	string, error)

AppendDataset - append dataset, the obj should be an object that can be encoded by yaml

func (*Markdown) AppendImage added in v0.1.35

func (md *Markdown) AppendImage(text string, fn string, mddata *adacorepb.MarkdownData) (
	[]byte, string, error)

AppendImage - append image

func (*Markdown) AppendImageBuf added in v0.1.36

func (md *Markdown) AppendImageBuf(text string, name string, buf []byte, mddata *adacorepb.MarkdownData) (
	[]byte, string, error)

AppendImageBuf - append image buf

func (*Markdown) AppendParagraph

func (md *Markdown) AppendParagraph(str string) string

AppendParagraph - append paragraph

func (*Markdown) AppendTable

func (md *Markdown) AppendTable(head []string, data [][]string) string

AppendTable - append a table

func (*Markdown) AppendTableEx added in v0.2.31

func (md *Markdown) AppendTableEx(head []string, nofix []bool, data [][]string) string

AppendTableEx - append a table

func (*Markdown) FixTableString added in v0.2.32

func (md *Markdown) FixTableString(str string) string

FixTableString - fix table string

func (*Markdown) GetMarkdownString

func (md *Markdown) GetMarkdownString(lst *KeywordMappingList) string

GetMarkdownString - get markdown string

type Serv

type Serv struct {
	Cfg *Config

	ClientRender *adarenderclient.Client
	// contains filtered or unexported fields
}

Serv - AdaCore Service

func NewAdaCoreServ

func NewAdaCoreServ(cfg *Config) (*Serv, error)

NewAdaCoreServ -

func (*Serv) BuildWithMarkdown

func (serv *Serv) BuildWithMarkdown(stream adacorepb.AdaCoreService_BuildWithMarkdownServer) error

BuildWithMarkdown - build with markdown

func (*Serv) Start

func (serv *Serv) Start(ctx context.Context) error

Start - start a service

func (*Serv) Stop

func (serv *Serv) Stop()

Stop - stop service

Directories

Path Synopsis
samples
adacore command
adacore2 command
adacoreclient command
Zerro
Zerro
adacoreclient2 command
adarenderclient command
excel command
excelchart command
markdown command
report command
Zerro
Zerro
tools
buildtemplates command

Jump to

Keyboard shortcuts

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