зеркало из https://github.com/softlandia/glasio.git
v0.1.6
This commit is contained in:
Родитель
6c0e43bfcf
Коммит
b0000b80c7
8
HIST.md
8
HIST.md
|
@ -1,4 +1,8 @@
|
|||
## ver 0.1.5 // 2020.04.10 ##
|
||||
## ver 0.1.6 // 2020.04.13 ##
|
||||
|
||||
- мелкие улучшения
|
||||
|
||||
## ver 0.1.5 // 2020.04.10 ##
|
||||
|
||||
- мелкие улучшения
|
||||
|
||||
|
@ -16,5 +20,3 @@
|
|||
|
||||
_todo_
|
||||
|
||||
- нужно поправить чтение параметра WELL, при наличии пробела в имени скважины, считывается только до пробела...
|
||||
- нужно подумать про запись сначала во Writer, а потом его сохранение на диск...
|
||||
|
|
|
@ -9,4 +9,4 @@ DEPT .F :DEPTH (BOREHOLE) {F10.1}
|
|||
#
|
||||
~A
|
||||
200.0
|
||||
201.0
|
||||
201.1
|
|
@ -1,43 +1,46 @@
|
|||
**file: data\more_20_warnings.las**
|
||||
0, line: -1, desc: invalid STEP parameter, equal 0. replace to 1.000
|
||||
0, line: -1, desc: STEP parameter equal 0, replace to 0.000
|
||||
1, line: -1, desc: invalid STRT: 0.000 or STOP: 0.000, will be replace to actually
|
||||
2, line: 24, desc: can't convert string: '6.2.2' to number, set to NULL
|
||||
3, line: 25, desc: not all column readed, set log value to NULL
|
||||
4, line: 25, desc: not all column readed, set log value to NULL
|
||||
5, line: 26, desc: actual number of data lines more than expected, check: STRT, STOP, STEP
|
||||
6, line: 26, desc: expand number of points
|
||||
7, line: 27, desc: can't convert string: '6.2.2' to number, set to NULL
|
||||
5, line: 27, desc: actual step 1.00 ≠ global STEP 0.00
|
||||
6, line: 27, desc: can't convert string: '6.2.2' to number, set to NULL
|
||||
7, line: 29, desc: actual step 1.00 ≠ global STEP 0.00
|
||||
8, line: 29, desc: can't convert string: '5.97.' to number, set to NULL
|
||||
9, line: 30, desc: actual number of data lines more than expected, check: STRT, STOP, STEP
|
||||
10, line: 30, desc: expand number of points
|
||||
11, line: 31, desc: can't convert string: '6.47.' to number, set to NULL
|
||||
12, line: 33, desc: actual step 64.00 ≠ global STEP 1.00
|
||||
13, line: 33, desc: step 64.00 ≠ previously step 1.00
|
||||
14, line: 33, desc: can't convert string: '5.97.' to number, set to NULL
|
||||
15, line: 35, desc: actual step 47.00 ≠ global STEP 1.00
|
||||
16, line: 35, desc: step 47.00 ≠ previously step 64.00
|
||||
17, line: 35, desc: can't convert string: '5.47.' to number, set to NULL
|
||||
9, line: 31, desc: actual step 1.00 ≠ global STEP 0.00
|
||||
10, line: 31, desc: can't convert string: '6.47.' to number, set to NULL
|
||||
11, line: 33, desc: actual step 64.00 ≠ global STEP 0.00
|
||||
12, line: 33, desc: step 64.00 ≠ previously step 1.00
|
||||
13, line: 33, desc: can't convert string: '5.97.' to number, set to NULL
|
||||
14, line: 35, desc: actual step 47.00 ≠ global STEP 0.00
|
||||
15, line: 35, desc: step 47.00 ≠ previously step 64.00
|
||||
16, line: 35, desc: can't convert string: '5.47.' to number, set to NULL
|
||||
17, line: 37, desc: actual step 1.00 ≠ global STEP 0.00
|
||||
18, line: 37, desc: step 1.00 ≠ previously step 47.00
|
||||
19, line: 37, desc: can't convert string: '4.7.' to number, set to NULL
|
||||
20, line: 38, desc: actual number of data lines more than expected, check: STRT, STOP, STEP
|
||||
21, line: 38, desc: expand number of points
|
||||
22, line: 38, desc: can't convert string: '4.7.' to number, set to NULL
|
||||
23, line: 40, desc: line: 40 is empty, ignore
|
||||
24, line: 41, desc: actual step -117.20 ≠ global STEP 1.00
|
||||
25, line: 41, desc: step -117.20 ≠ previously step 1.00
|
||||
26, line: 41, desc: not all column readed, set log value to NULL
|
||||
27, line: 42, desc: actual step 170.20 ≠ global STEP 1.00
|
||||
28, line: 42, desc: step 170.20 ≠ previously step -117.20
|
||||
20, line: 38, desc: actual step 1.00 ≠ global STEP 0.00
|
||||
21, line: 38, desc: can't convert string: '4.7.' to number, set to NULL
|
||||
22, line: 40, desc: line: 40 is empty, ignore
|
||||
23, line: 41, desc: actual step -117.20 ≠ global STEP 0.00
|
||||
24, line: 41, desc: step -117.20 ≠ previously step 1.00
|
||||
25, line: 41, desc: not all column readed, set log value to NULL
|
||||
26, line: 42, desc: actual step 170.20 ≠ global STEP 0.00
|
||||
27, line: 42, desc: step 170.20 ≠ previously step -117.20
|
||||
28, line: 43, desc: actual step 1.00 ≠ global STEP 0.00
|
||||
29, line: 43, desc: step 1.00 ≠ previously step 170.20
|
||||
30, line: 45, desc: actual step 4.00 ≠ global STEP 1.00
|
||||
31, line: 45, desc: step 4.00 ≠ previously step 1.00
|
||||
32, line: 46, desc: step 1.00 ≠ previously step 4.00
|
||||
33, line: 49, desc: actual number of data lines more than expected, check: STRT, STOP, STEP
|
||||
34, line: 49, desc: expand number of points
|
||||
35, line: 49, desc: actual step 3.00 ≠ global STEP 1.00
|
||||
36, line: 49, desc: step 3.00 ≠ previously step 1.00
|
||||
37, line: 50, desc: step 1.00 ≠ previously step 3.00
|
||||
38, line: 54, desc: actual step 0.00 ≠ global STEP 1.00
|
||||
39, line: 54, desc: step 0.00 ≠ previously step 1.00
|
||||
40, line: 55, desc: actual step 0.00 ≠ global STEP 1.00
|
||||
30, line: 44, desc: actual step 1.00 ≠ global STEP 0.00
|
||||
31, line: 45, desc: actual step 4.00 ≠ global STEP 0.00
|
||||
32, line: 45, desc: step 4.00 ≠ previously step 1.00
|
||||
33, line: 46, desc: actual step 1.00 ≠ global STEP 0.00
|
||||
34, line: 46, desc: step 1.00 ≠ previously step 4.00
|
||||
35, line: 48, desc: actual step 1.00 ≠ global STEP 0.00
|
||||
36, line: 49, desc: actual step 3.00 ≠ global STEP 0.00
|
||||
37, line: 49, desc: step 3.00 ≠ previously step 1.00
|
||||
38, line: 50, desc: actual step 1.00 ≠ global STEP 0.00
|
||||
39, line: 50, desc: step 1.00 ≠ previously step 3.00
|
||||
40, line: 51, desc: actual step 1.00 ≠ global STEP 0.00
|
||||
41, line: 52, desc: actual step 1.00 ≠ global STEP 0.00
|
||||
42, line: 53, desc: actual step 1.00 ≠ global STEP 0.00
|
||||
43, line: 54, desc: step 0.00 ≠ previously step 1.00
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
**file: data\more_20_warnings.las**
|
||||
0, line: -1, desc: STEP parameter equal 0, replace to 1.000
|
||||
0, line: -1, desc: STEP parameter equal 0, replace to 0.000
|
||||
1, line: -1, desc: invalid STRT: 0.000 or STOP: 0.000, will be replace to actually
|
||||
2, line: 24, desc: can't convert string: '6.2.2' to number, set to NULL
|
||||
3, line: 25, desc: not all column readed, set log value to NULL
|
||||
|
|
Двоичные данные
debug.test
Двоичные данные
debug.test
Двоичный файл не отображается.
122
las.go
122
las.go
|
@ -104,14 +104,14 @@ type Las struct {
|
|||
// close file
|
||||
// return o.Null if error occure
|
||||
// если делать функцией, не методом, то придётся NULL передавать. а оно надо вообще
|
||||
func (o *Las) GetStepFromData(fileName string) float64 {
|
||||
iFile, err := os.Open(fileName)
|
||||
func (o *Las) GetStepFromData() float64 {
|
||||
iFile, err := os.Open(o.FileName)
|
||||
if err != nil {
|
||||
return o.Null
|
||||
}
|
||||
defer iFile.Close()
|
||||
|
||||
_, iScanner, err := xlib.SeekFileStop(fileName, "~A")
|
||||
_, iScanner, err := xlib.SeekFileStop(o.FileName, "~A")
|
||||
if (err != nil) || (iScanner == nil) {
|
||||
return o.Null
|
||||
}
|
||||
|
@ -126,8 +126,8 @@ func (o *Las) GetStepFromData(fileName string) float64 {
|
|||
continue
|
||||
}
|
||||
k := strings.IndexRune(s, ' ')
|
||||
if k < 0 { //data line must have minimum 2 column separated ' ' space
|
||||
return o.Null
|
||||
if k < 0 {
|
||||
k = len(s)
|
||||
}
|
||||
dept1, err = strconv.ParseFloat(s[:k], 64)
|
||||
if err != nil {
|
||||
|
@ -144,6 +144,10 @@ func (o *Las) GetStepFromData(fileName string) float64 {
|
|||
return o.Null
|
||||
}
|
||||
|
||||
func (o *Las) setStep(h float64) {
|
||||
o.Step = h
|
||||
}
|
||||
|
||||
//SetNull - change parameter NULL in WELL INFO section and in all logs
|
||||
func (o *Las) SetNull(aNull float64) error {
|
||||
for _, l := range o.Logs { //loop by logs
|
||||
|
@ -250,25 +254,76 @@ func (o *Las) selectSection(r rune) int {
|
|||
}
|
||||
}
|
||||
|
||||
//make test of loaded well info section
|
||||
//return error <> nil in one case, if getStepFromData return error
|
||||
func (o *Las) checkWellInfoSection() error {
|
||||
if o.Step == 0.0 {
|
||||
//TODO менять здесь шаг нельзя, здесь только проверка и сохранение извещения о некорректности, менять надо потом
|
||||
o.Step = o.GetStepFromData(o.FileName) // return o.Null if cannot calculate step from data
|
||||
if o.Step == o.Null {
|
||||
return errors.New("invalid STEP parameter and invalid step in data")
|
||||
const (
|
||||
checkHeaderStep = iota
|
||||
checkHeaderNull = iota
|
||||
checkHeaderWrap = iota
|
||||
checkHeaderCurve = iota
|
||||
checkHeaderStrtStop = iota
|
||||
)
|
||||
|
||||
// HeaderCheckMsg - one message on check las Header
|
||||
type HeaderCheckMsg struct {
|
||||
id int
|
||||
msg string
|
||||
}
|
||||
|
||||
// HeaderCheckRes - result of check readed las Header
|
||||
type HeaderCheckRes []HeaderCheckMsg
|
||||
|
||||
func (hc *HeaderCheckRes) needUpdateStep() bool {
|
||||
for _, m := range *hc {
|
||||
if m.id == checkHeaderStep {
|
||||
return true
|
||||
}
|
||||
o.addWarning(TWarning{directOnRead, lasSecWellInfo, -1, fmt.Sprintf("STEP parameter equal 0, replace to %4.3f", o.Step)})
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
func (hc *HeaderCheckRes) needUpdateNull() bool {
|
||||
for _, m := range *hc {
|
||||
if m.id == checkHeaderNull {
|
||||
return true
|
||||
}
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
func (hc *HeaderCheckRes) addStepWarning() {
|
||||
*hc = append(*hc, HeaderCheckMsg{checkHeaderStep, ""})
|
||||
}
|
||||
|
||||
func (hc *HeaderCheckRes) addNullWarning() {
|
||||
*hc = append(*hc, HeaderCheckMsg{checkHeaderNull, ""})
|
||||
}
|
||||
|
||||
// make test of loaded las header
|
||||
// return error:
|
||||
// - double error on STEP parameter
|
||||
// - las file is WRAP == ON
|
||||
// - Curve section not exist
|
||||
func (o *Las) checkHeader() (HeaderCheckRes, error) {
|
||||
res := make(HeaderCheckRes, 0)
|
||||
if o.Null == 0.0 {
|
||||
o.Null = o.stdNull
|
||||
res.addNullWarning()
|
||||
o.addWarning(TWarning{directOnRead, lasSecWellInfo, -1, fmt.Sprintf("NULL parameter equal 0, replace to %4.3f", o.Null)})
|
||||
}
|
||||
if o.Step == 0.0 {
|
||||
res.addStepWarning()
|
||||
o.addWarning(TWarning{directOnRead, lasSecWellInfo, -1, fmt.Sprintf("STEP parameter equal 0, replace to %4.3f", o.Step)})
|
||||
}
|
||||
if math.Abs(o.Stop-o.Strt) < 0.1 {
|
||||
o.addWarning(TWarning{directOnRead, lasSecWellInfo, -1, fmt.Sprintf("invalid STRT: %4.3f or STOP: %4.3f, will be replace to actually", o.Strt, o.Stop)})
|
||||
}
|
||||
return nil
|
||||
if o.IsWraped() {
|
||||
o.addWarning(TWarning{directOnRead, lasSecData, -1, "WRAP = YES, file ignored"})
|
||||
return res, fmt.Errorf("Wrapped files not support") //return 0, nil
|
||||
}
|
||||
if len(o.Logs) <= 0 {
|
||||
o.addWarning(TWarning{directOnRead, lasSecData, -1, "section ~Curve not exist, file ignored"})
|
||||
return res, fmt.Errorf("Curve section not exist") //return 0, nil
|
||||
}
|
||||
return res, nil
|
||||
}
|
||||
|
||||
// IsWraped - return true if WRAP == YES
|
||||
|
@ -345,6 +400,11 @@ func (o *Las) GetMnemonic(logName string) string {
|
|||
}
|
||||
|
||||
// Open - load las file
|
||||
// return error on:
|
||||
// - file to open not exist
|
||||
// - file cannot be decoded to UTF-8
|
||||
// - las is wrapped
|
||||
// - las file not contain Curve section
|
||||
func (o *Las) Open(fileName string) (int, error) {
|
||||
//TODO при создании объекта las есть возможность указать кодировку записи, нужна возможность указать явно кодировку чтения
|
||||
var err error
|
||||
|
@ -360,24 +420,24 @@ func (o *Las) Open(fileName string) (int, error) {
|
|||
return 0, err
|
||||
}
|
||||
o.scanner = bufio.NewScanner(o.Reader)
|
||||
|
||||
//load header from stored Reader
|
||||
o.currentLine = 0
|
||||
o.LoadHeader()
|
||||
//проверка корректности данных секции WELL INFO перез загрузкой данных
|
||||
//непоправимая ошибка если невозможно определить корректно шаг
|
||||
err = o.checkWellInfoSection()
|
||||
// проверка корректности данных секции WELL INFO перез загрузкой данных
|
||||
res, err := o.checkHeader() // res содержит несколько сообщений связанных с корректностью заголовка las файла
|
||||
if err != nil {
|
||||
return 0, err // двойная ошибка, плох параметр STEP и не удалось вычислить STEP по данным, с данными проблема...
|
||||
return 0, err // дальше читать файл смысла нет, или с файл переносами или нет секции Curve ...
|
||||
}
|
||||
|
||||
if o.IsWraped() {
|
||||
o.addWarning(TWarning{directOnRead, lasSecData, -1, "WRAP = YES, file ignored"})
|
||||
return 0, nil //TODO здесь должна быть ошибка, мы не добрались до чтения данных
|
||||
err = nil
|
||||
// обрабатываем изменение параметров las файла по результатам чтения заголовка
|
||||
if res.needUpdateNull() {
|
||||
o.SetNull(o.stdNull)
|
||||
}
|
||||
if len(o.Logs) <= 0 {
|
||||
o.addWarning(TWarning{directOnRead, lasSecData, -1, "section ~Curve not exist, file ignored"})
|
||||
return 0, nil //TODO здесь должна быть ошибка, мы не добрались до чтения данных
|
||||
if res.needUpdateStep() {
|
||||
h := o.GetStepFromData() // return o.Null if cannot calculate step from data
|
||||
o.setStep(h)
|
||||
if h == o.Null {
|
||||
return 0, errors.New("invalid STEP parameter and invalid step in data")
|
||||
}
|
||||
}
|
||||
return o.ReadDataSec(fileName)
|
||||
}
|
||||
|
@ -388,7 +448,9 @@ func (o *Las) Open(fileName string) (int, error) {
|
|||
2. если коммент или пустая в игнор
|
||||
3. если начало секции, определяем какой
|
||||
4. если началась секция данных заканчиваем
|
||||
5. читаем одну строку (это один параметер из известной нам секции) */
|
||||
5. читаем одну строку (это один параметер из известной нам секции)
|
||||
Пока ошибку всегда возвращает nil, причин возвращать другое значение пока нет.
|
||||
*/
|
||||
func (o *Las) LoadHeader() error {
|
||||
s := ""
|
||||
var err error
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
package glasio
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"testing"
|
||||
|
||||
"github.com/stretchr/testify/assert"
|
||||
|
@ -30,8 +31,8 @@ var dSummaryCheck = []tSummaryCheck{
|
|||
{fp.Join("data/1001178549.las"), 2.0, "YES", 1783.5, 1784.5, 0.25, -999.25, "1-28", 27, 0, true},
|
||||
{fp.Join("data/alog.las"), 1.20, "NO", 0, 0, 0.05, -999.25, "", 9, 24, false},
|
||||
{fp.Join("data/autodepthindex_F.las"), 1.20, "NO", 0, 100, 1, -999.25, "ANY ET AL OIL WELL #12", 2, 101, false},
|
||||
{fp.Join("data/barebones.las"), 2.0, "NO", 0, 0, 0, 0, "", 1, 0, true},
|
||||
{fp.Join("data/barebones2.las"), 2.0, "NO", 0, 0, -0.1, -999.25, "", 0, 0, true},
|
||||
{fp.Join("data/barebones.las"), 2.0, "NO", 0, 0, 1.1, -999.25, "", 1, 0, true},
|
||||
{fp.Join("data/barebones2.las"), 2.0, "NO", 0, 0, 0, 0, "", 0, 0, true}, // step и null не правятся, отсутствует секция Curve, ошибка заголовка
|
||||
{fp.Join("data/blank_line.las"), 2.0, "NO", -999.25, -999.25, 0.0833333333333333, -999.25, "", 1, 0, true},
|
||||
{fp.Join("data/data_characters.las"), 2.0, "NO", 0, 0, 10, -999.25, "", 4, 0, true},
|
||||
{fp.Join("data/duplicate_step.las"), 1.2, "NO", 1670, 1660, -0.12, -999.25, "ANY ET AL OIL WELL #12", 8, 3, false},
|
||||
|
@ -66,8 +67,8 @@ func TestSummaryRead(t *testing.T) {
|
|||
assert.Equal(t, tmp.wrap, las.Wrap)
|
||||
assert.Equal(t, tmp.strt, las.Strt)
|
||||
assert.Equal(t, tmp.stop, las.Stop)
|
||||
assert.Equal(t, tmp.step, las.Step)
|
||||
assert.Equal(t, tmp.null, las.Null)
|
||||
assert.Equal(t, tmp.step, las.Step, fmt.Sprintf("<TestSummaryRead> step fail on file: '%s'\n", tmp.fn))
|
||||
assert.Equal(t, tmp.null, las.Null, fmt.Sprintf("<TestSummaryRead> null fail on file: '%s'\n", tmp.fn))
|
||||
assert.Equal(t, tmp.well, las.Well)
|
||||
}
|
||||
}
|
||||
|
|
|
@ -186,7 +186,7 @@ func TestGetStepFromData(t *testing.T) {
|
|||
for _, tmp := range dGetDataStep {
|
||||
las := NewLas()
|
||||
las.Open(tmp.fn)
|
||||
assert.Equal(t, tmp.st, las.Step)
|
||||
assert.Equal(t, tmp.st, las.Step, fmt.Sprintf("<TestGetStepFromData> fail on file '%s' \n", tmp.fn))
|
||||
}
|
||||
}
|
||||
|
||||
|
|
183
linter.md
183
linter.md
|
@ -1,77 +1,14 @@
|
|||
example2\main.go:44:10: Error return value of `las.Save` is not checked (errcheck)
|
||||
las.Save(las.FileName + "-") //сохраняем с символом минус в расширении
|
||||
^
|
||||
example2\main.go:50:15: Error return value of `filepath.Walk` is not checked (errcheck)
|
||||
filepath.Walk(path, func(path string, info os.FileInfo, err error) error {
|
||||
^
|
||||
example\main.go:48:17: Error return value of `las.SaveWarning` is not checked (errcheck)
|
||||
las.SaveWarning("1.warning.md")
|
||||
^
|
||||
las.go:300:21: Error return value of `writer.WriteString` is not checked (errcheck)
|
||||
writer.WriteString(w.String())
|
||||
^
|
||||
las.go:301:21: Error return value of `writer.WriteString` is not checked (errcheck)
|
||||
writer.WriteString("\n")
|
||||
^
|
||||
las.go:314:19: Error return value of `oFile.WriteString` is not checked (errcheck)
|
||||
oFile.WriteString("**file: " + o.FileName + "**\n")
|
||||
^
|
||||
las.go:316:19: Error return value of `oFile.WriteString` is not checked (errcheck)
|
||||
oFile.WriteString("\n")
|
||||
^
|
||||
las.go:366:14: Error return value of `o.LoadHeader` is not checked (errcheck)
|
||||
o.LoadHeader()
|
||||
^
|
||||
las_logger.go:37:16: Error return value of `f.WriteString` is not checked (errcheck)
|
||||
f.WriteString(msg)
|
||||
^
|
||||
las_logger.go:58:16: Error return value of `f.WriteString` is not checked (errcheck)
|
||||
f.WriteString(s)
|
||||
^
|
||||
las_logger.go:60:15: Error return value of `f.WriteString` is not checked (errcheck)
|
||||
f.WriteString("\n")
|
||||
^
|
||||
las_param_test.go:40:20: Error return value of `las.ReadWellParam` is not checked (errcheck)
|
||||
las.ReadWellParam(tmp.s)
|
||||
^
|
||||
las_test.go:42:10: Error return value of `las.Open` is not checked (errcheck)
|
||||
las.Open(fp.Join("data/more_20_warnings.las"))
|
||||
^
|
||||
las_test.go:48:10: Error return value of `las.Open` is not checked (errcheck)
|
||||
las.Open(fp.Join("data/more_20_warnings.las"))
|
||||
^
|
||||
las_test.go:50:18: Error return value of `las.SaveWarning` is not checked (errcheck)
|
||||
las.SaveWarning(fp.Join("data/more_20_warnings.wrn"))
|
||||
^
|
||||
las_test.go:102:17: Error return value of `las.LoadHeader` is not checked (errcheck)
|
||||
las.LoadHeader()
|
||||
^
|
||||
las_test.go:163:10: Error return value of `las.Open` is not checked (errcheck)
|
||||
las.Open(fp.Join("data/more_20_warnings.las"))
|
||||
^
|
||||
las_test.go:221:13: Error return value of `las.SetNull` is not checked (errcheck)
|
||||
las.SetNull(-999.25)
|
||||
^
|
||||
las_test.go:223:10: Error return value of `las.Save` is not checked (errcheck)
|
||||
las.Save("-tmp.las")
|
||||
^
|
||||
las_test.go:258:14: Error return value of `las.SetNull` is not checked (errcheck)
|
||||
las.SetNull(tmp.newNull)
|
||||
^
|
||||
las_test.go:276:13: Error return value of `las.SetNull` is not checked (errcheck)
|
||||
las.SetNull(-1000)
|
||||
^
|
||||
las_test.go:284:11: Error return value of `las.Save` is not checked (errcheck)
|
||||
las.Save(tmp.fn)
|
||||
^
|
||||
las_util.go:62:29: Error return value of `las.setActuallyNumberPoints` is not checked (errcheck)
|
||||
las.setActuallyNumberPoints(5)
|
||||
^
|
||||
las_util.go:81:16: Error return value of `las.LoadHeader` is not checked (errcheck)
|
||||
las.LoadHeader()
|
||||
^
|
||||
las_summary_test.go:24:2: `werr` is unused (structcheck)
|
||||
werr bool
|
||||
las_logger.go:49:21: func `(*tCheckMsg).msgFileOpenWarning` is unused (unused)
|
||||
las_logger.go:65:23: func `(*tMMnemonic).save` is unused (unused)
|
||||
las_logger.go:45:21: func `(*tCheckMsg).msgFileNoData` is unused (unused)
|
||||
las_logger.go:41:21: func `(*tCheckMsg).msgFileIsWraped` is unused (unused)
|
||||
las_logger.go:55:22: func `(*tCurvRprt).save` is unused (unused)
|
||||
las_logger.go:35:21: func `(*tCheckMsg).save` is unused (unused)
|
||||
las_logger.go:13:2: field `readedNumPoints` is unused (unused)
|
||||
las_logger.go:14:2: field `errorOnOpen` is unused (unused)
|
||||
las_util.go:86:6: func `lasOpenCheck` is unused (unused)
|
||||
las.go:430:2: ineffectual assignment to `err` (ineffassign)
|
||||
err = nil
|
||||
^
|
||||
las.go:25:2: `_LasCodePage` is unused (deadcode)
|
||||
_LasCodePage = "CPAGE. 1251: code page \n"
|
||||
|
@ -121,14 +58,90 @@ las.go:49:2: `_LasCurvLine2` is unused (deadcode)
|
|||
las.go:51:2: `_LasDataLine` is unused (deadcode)
|
||||
_LasDataLine = ""
|
||||
^
|
||||
las_util.go:86:6: `lasOpenCheck` is unused (deadcode)
|
||||
func lasOpenCheck(filename string) LasLog {
|
||||
^
|
||||
las_logger.go:35:21: func `(*tCheckMsg).save` is unused (unused)
|
||||
las_logger.go:55:22: func `(*tCurvRprt).save` is unused (unused)
|
||||
las_logger.go:65:23: func `(*tMMnemonic).save` is unused (unused)
|
||||
las_logger.go:14:2: field `errorOnOpen` is unused (unused)
|
||||
las_logger.go:13:2: field `readedNumPoints` is unused (unused)
|
||||
las_logger.go:49:21: func `(*tCheckMsg).msgFileOpenWarning` is unused (unused)
|
||||
las_logger.go:41:21: func `(*tCheckMsg).msgFileIsWraped` is unused (unused)
|
||||
las_logger.go:45:21: func `(*tCheckMsg).msgFileNoData` is unused (unused)
|
||||
las.go:260:2: `checkHeaderWrap` is unused (deadcode)
|
||||
checkHeaderWrap = iota
|
||||
^
|
||||
las.go:261:2: `checkHeaderCurve` is unused (deadcode)
|
||||
checkHeaderCurve = iota
|
||||
^
|
||||
las.go:262:2: `checkHeaderStrtStop` is unused (deadcode)
|
||||
checkHeaderStrtStop = iota
|
||||
^
|
||||
example\main.go:48:17: Error return value of `las.SaveWarning` is not checked (errcheck)
|
||||
las.SaveWarning("1.warning.md")
|
||||
^
|
||||
example2\main.go:44:10: Error return value of `las.Save` is not checked (errcheck)
|
||||
las.Save(las.FileName + "-") //сохраняем с символом минус в расширении
|
||||
^
|
||||
example2\main.go:50:15: Error return value of `filepath.Walk` is not checked (errcheck)
|
||||
filepath.Walk(path, func(path string, info os.FileInfo, err error) error {
|
||||
^
|
||||
las.go:355:21: Error return value of `writer.WriteString` is not checked (errcheck)
|
||||
writer.WriteString(w.String())
|
||||
^
|
||||
las.go:356:21: Error return value of `writer.WriteString` is not checked (errcheck)
|
||||
writer.WriteString("\n")
|
||||
^
|
||||
las.go:369:19: Error return value of `oFile.WriteString` is not checked (errcheck)
|
||||
oFile.WriteString("**file: " + o.FileName + "**\n")
|
||||
^
|
||||
las.go:371:19: Error return value of `oFile.WriteString` is not checked (errcheck)
|
||||
oFile.WriteString("\n")
|
||||
^
|
||||
las.go:424:14: Error return value of `o.LoadHeader` is not checked (errcheck)
|
||||
o.LoadHeader()
|
||||
^
|
||||
las.go:433:12: Error return value of `o.SetNull` is not checked (errcheck)
|
||||
o.SetNull(o.stdNull)
|
||||
^
|
||||
las_logger.go:37:16: Error return value of `f.WriteString` is not checked (errcheck)
|
||||
f.WriteString(msg)
|
||||
^
|
||||
las_logger.go:58:16: Error return value of `f.WriteString` is not checked (errcheck)
|
||||
f.WriteString(s)
|
||||
^
|
||||
las_logger.go:60:15: Error return value of `f.WriteString` is not checked (errcheck)
|
||||
f.WriteString("\n")
|
||||
^
|
||||
las_param_test.go:40:20: Error return value of `las.ReadWellParam` is not checked (errcheck)
|
||||
las.ReadWellParam(tmp.s)
|
||||
^
|
||||
las_test.go:42:10: Error return value of `las.Open` is not checked (errcheck)
|
||||
las.Open(fp.Join("data/more_20_warnings.las"))
|
||||
^
|
||||
las_test.go:48:10: Error return value of `las.Open` is not checked (errcheck)
|
||||
las.Open(fp.Join("data/more_20_warnings.las"))
|
||||
^
|
||||
las_test.go:50:18: Error return value of `las.SaveWarning` is not checked (errcheck)
|
||||
las.SaveWarning(fp.Join("data/more_20_warnings.wrn"))
|
||||
^
|
||||
las_test.go:102:17: Error return value of `las.LoadHeader` is not checked (errcheck)
|
||||
las.LoadHeader()
|
||||
^
|
||||
las_test.go:163:10: Error return value of `las.Open` is not checked (errcheck)
|
||||
las.Open(fp.Join("data/more_20_warnings.las"))
|
||||
^
|
||||
las_test.go:221:13: Error return value of `las.SetNull` is not checked (errcheck)
|
||||
las.SetNull(-999.25)
|
||||
^
|
||||
las_test.go:223:10: Error return value of `las.Save` is not checked (errcheck)
|
||||
las.Save("-tmp.las")
|
||||
^
|
||||
las_test.go:258:14: Error return value of `las.SetNull` is not checked (errcheck)
|
||||
las.SetNull(tmp.newNull)
|
||||
^
|
||||
las_test.go:276:13: Error return value of `las.SetNull` is not checked (errcheck)
|
||||
las.SetNull(-1000)
|
||||
^
|
||||
las_test.go:284:11: Error return value of `las.Save` is not checked (errcheck)
|
||||
las.Save(tmp.fn)
|
||||
^
|
||||
las_util.go:62:29: Error return value of `las.setActuallyNumberPoints` is not checked (errcheck)
|
||||
las.setActuallyNumberPoints(5)
|
||||
^
|
||||
las_util.go:81:16: Error return value of `las.LoadHeader` is not checked (errcheck)
|
||||
las.LoadHeader()
|
||||
^
|
||||
las_summary_test.go:25:2: `werr` is unused (structcheck)
|
||||
werr bool
|
||||
^
|
||||
|
|
2
ver.txt
2
ver.txt
|
@ -1 +1 @@
|
|||
0.1.5
|
||||
0.1.6
|
||||
|
|
Загрузка…
Ссылка в новой задаче