Открыть боковую панель
nikitronn
sverchok
Коммиты
74e67d3d
Коммит
74e67d3d
создал
Фев 19, 2018
по автору
zeffii
Просмотр файлов
modify mode for text_in and drawlabel of formula2
владелец
e223b70b
Изменения
2
Скрыть пробелы
Построчно
Рядом
nodes/number/formula2.py
Просмотр файла @
74e67d3d
...
...
@@ -174,6 +174,10 @@ class Formula2Node(bpy.types.Node, SverchCustomTreeNode):
''' enlarge minor n[i] list to size of x list '''
lst
.
extend
([
lst
[
-
1
]
for
i
in
range
(
equal
)])
def
draw_label
(
self
):
if
self
.
hide
:
return
self
.
formula
return
self
.
bl_label
def
register
():
...
...
nodes/text/text_in_mk2.py
Просмотр файла @
74e67d3d
...
...
@@ -150,6 +150,7 @@ class SvTextInNodeMK2(bpy.types.Node, SverchCustomTreeNode, CommonTextMixinIO):
csv_custom_decimalmark
=
StringProperty
(
default
=
','
,
name
=
"Custom"
)
csv_skip_header_lines
=
IntProperty
(
default
=
0
,
name
=
'skip n lines'
,
description
=
'some csv need n skips'
,
min
=
0
)
csv_extended_mode
=
BoolProperty
(
name
=
'extended mode'
)
# Sverchok list options
# choose which socket to interpret data as
...
...
@@ -165,6 +166,8 @@ class SvTextInNodeMK2(bpy.types.Node, SverchCustomTreeNode, CommonTextMixinIO):
if
self
.
textmode
==
'CSV'
:
layout
.
prop
(
self
,
'force_input'
)
layout
.
prop
(
self
,
'csv_skip_header_lines'
,
text
=
'Skip n header lines'
)
layout
.
label
(
"extra mode"
)
layout
.
prop
(
self
,
"csv_extended_mode"
,
toggle
=
True
)
def
draw_buttons
(
self
,
context
,
layout
):
...
...
@@ -316,6 +319,7 @@ class SvTextInNodeMK2(bpy.types.Node, SverchCustomTreeNode, CommonTextMixinIO):
name
=
'one_sock'
self
.
outputs
.
new
(
'StringsSocket'
,
name
,
name
)
def
load_csv_data
(
self
):
n_id
=
node_id
(
self
)
...
...
@@ -326,9 +330,6 @@ class SvTextInNodeMK2(bpy.types.Node, SverchCustomTreeNode, CommonTextMixinIO):
f
=
io
.
StringIO
(
bpy
.
data
.
texts
[
self
.
text
].
as_string
())
if
self
.
csv_skip_header_lines
:
...
# setup CSV options
if
self
.
csv_dialect
==
'user'
:
...
...
@@ -350,7 +351,7 @@ class SvTextInNodeMK2(bpy.types.Node, SverchCustomTreeNode, CommonTextMixinIO):
if
self
.
csv_decimalmark
==
','
:
get_number
=
lambda
s
:
float
(
s
.
replace
(
','
,
'.'
))
elif
self
.
csv_decimalmark
==
'LOCALE'
:
get_number
=
lambda
s
:
locale
.
atof
(
s
)
get_number
=
locale
.
atof
elif
self
.
csv_decimalmark
==
'CUSTOM'
:
if
self
.
csv_custom_decimalmark
:
get_number
=
lambda
s
:
float
(
s
.
replace
(
self
.
csv_custom_decimalmark
,
'.'
))
...
...
@@ -360,14 +361,13 @@ class SvTextInNodeMK2(bpy.types.Node, SverchCustomTreeNode, CommonTextMixinIO):
# some csv contain a number of must-skip lines, these csv break the csv standard. but we still
# want to be able to read them :)
if
self
.
csv_skip_header_lines
:
for
nskips
in
range
(
self
.
csv_skip_header_lines
):
for
_
in
range
(
self
.
csv_skip_header_lines
):
next
(
reader
)
# load data
for
i
,
row
in
enumerate
(
reader
):
if
i
==
0
:
# setup names
if
self
.
csv_header
:
for
name
in
row
:
tmp
=
name
...
...
@@ -382,18 +382,21 @@ class SvTextInNodeMK2(bpy.types.Node, SverchCustomTreeNode, CommonTextMixinIO):
csv_data
[
"Col "
+
str
(
j
)]
=
[]
for
j
,
name
in
enumerate
(
csv_data
):
try
:
n
=
get_number
(
row
[
j
])
csv_data
[
name
].
append
(
n
)
except
Exception
as
err
:
error
=
str
(
err
)
if
"could not convert string to float"
in
error
:
if
self
.
force_input
:
csv_data
[
name
].
append
(
row
[
j
])
else
:
print
(
'unhandled error:'
,
error
)
pass
if
not
self
.
csv_extended_mode
:
try
:
n
=
get_number
(
row
[
j
])
csv_data
[
name
].
append
(
n
)
except
Exception
as
err
:
error
=
str
(
err
)
if
"could not convert string to float"
in
error
:
if
self
.
force_input
:
csv_data
[
name
].
append
(
row
[
j
])
else
:
print
(
'unhandled error:'
,
error
)
else
:
csv_data
[
name
].
append
(
row
[
j
])
if
csv_data
:
if
not
csv_data
[
list
(
csv_data
.
keys
())[
0
]]:
...
...
Редактирование
Предварительный просмотр
Поддерживает Markdown
0%
Попробовать снова
или
прикрепить новый файл
.
Отмена
You are about to add
0
people
to the discussion. Proceed with caution.
Сначала завершите редактирование этого сообщения!
Отмена
Пожалуйста,
зарегистрируйтесь
или
войдите
чтобы прокомментировать