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: 0

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

Jump to

Keyboard shortcuts

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