Coder Social home page Coder Social logo

blendernc_old's People

Contributors

josuemtzmo avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar

blendernc_old's Issues

Uninformative error message due to try/except clause that is too broad

In the operator LOAD_NC_OT_netCDF_load there's a try/except clause without a Exeption type specification, which makes difficult to understand where any error is comming from.

It was reporting "File doesn't exist or it's not a netCDF" when the actual problem was none of these.

I suggest to better try to catch the potential errors.

Not all netCDF files have the long_name property in their variables

In the BlenderncEngine method netcdf_var (line 51 of core.py):
var_names = [(variable[ii], variable[ii], self.dataset[variable[ii]].long_name, "DISK_DRIVE", ii) for ii in range(len(variable))]

it is trying to access the variable long_name which happens to be missing in some netCDF files.

I would suggest to use simply .name that I believe that will be always present.

If the choice was a personal preference it is possible to check first whether .long_name exist and if it is not the case use .name instead.

Bug - netCDF import resolution

When the resolution is changed, and the texture is updated Blender crashes:

/var/folders/d5/6xr1fgc14676x8tj055y1ns80000gp/T/test.crash.txt
# Blender 2.82 (sub 7), Commit date: 2020-03-12 05:06, Hash 375c7dc4caf4
bpy.ops.blendernc.button_file_on()  # Operator
bpy.context.scene.blendernc_resolution = 10  # Property

# backtrace
0   blender                             0x000000010a3ca797 BLI_system_backtrace + 55
1   blender                             0x0000000104304d2a sig_handle_crash + 362
2   libsystem_platform.dylib            0x00007fff703ad42d _sigtramp + 29
3   _multiarray_umath.cpython-37m-darwi 0x0000000120e491ca array_implement_array_function + 298
4   blender                             0x00000001048ca850 py_to_array + 240
5   blender                             0x00000001048ca686 pyrna_py_to_array + 358
6   blender                             0x00000001048beeaf pyrna_py_to_prop + 79
7   blender                             0x0000000108e5ebfc PyObject_SetAttr + 108
8   blender                             0x0000000108ef0af3 _PyEval_EvalFrameDefault + 16003
9   pydevd_frame_evaluator.cpython-37m- 0x000000013130e77a __pyx_f_18_pydevd_frame_eval_22pydevd_frame_evaluator_get_bytecode_while_frame_eval + 4698
10  blender                             0x0000000108ef8065 _PyEval_EvalCodeWithName + 2981
11  blender                             0x0000000108e20502 _PyFunction_FastCallDict + 450
12  blender                             0x00000001048c8a11 bpy_class_call + 961
13  blender                             0x00000001048a8b05 rna_operator_execute_cb + 117
14  blender                             0x000000010452bcd6 wm_operator_invoke + 534
15  blender                             0x000000010452587f wm_operator_call_internal + 351
16  blender                             0x00000001045267f0 WM_operator_call_py + 96
17  blender                             0x00000001048b6825 pyop_call + 773
18  blender                             0x0000000108e21592 _PyMethodDef_RawFastCallKeywords + 226
19  blender                             0x0000000108e20a4c _PyCFunction_FastCallKeywords + 44
20  blender                             0x0000000108ef7278 call_function + 664
21  blender                             0x0000000108ef3efe _PyEval_EvalFrameDefault + 29326
22  pydevd_frame_evaluator.cpython-37m- 0x000000013130e77a __pyx_f_18_pydevd_frame_eval_22pydevd_frame_evaluator_get_bytecode_while_frame_eval + 4698
23  blender                             0x0000000108ef8065 _PyEval_EvalCodeWithName + 2981
24  blender                             0x0000000108e20502 _PyFunction_FastCallDict + 450
25  blender                             0x0000000108e21aa6 _PyObject_Call_Prepend + 150
26  blender                             0x0000000108e74adb slot_tp_call + 171
27  blender                             0x0000000108e20861 _PyObject_FastCallKeywords + 577
28  blender                             0x0000000108ef72f5 call_function + 789
29  blender                             0x0000000108ef3e53 _PyEval_EvalFrameDefault + 29155
30  pydevd_frame_evaluator.cpython-37m- 0x000000013130e77a __pyx_f_18_pydevd_frame_eval_22pydevd_frame_evaluator_get_bytecode_while_frame_eval + 4698
31  blender                             0x0000000108e20f3d function_code_fastcall + 253
32  blender                             0x00000001048c8a11 bpy_class_call + 961
33  blender                             0x00000001048a8b05 rna_operator_execute_cb + 117
34  blender                             0x000000010452bcd6 wm_operator_invoke + 534
35  blender                             0x000000010452587f wm_operator_call_internal + 351
36  blender                             0x00000001045267f0 WM_operator_call_py + 96
37  blender                             0x00000001048b6825 pyop_call + 773
38  blender                             0x0000000108e21592 _PyMethodDef_RawFastCallKeywords + 226
39  blender                             0x0000000108e20a4c _PyCFunction_FastCallKeywords + 44
40  blender                             0x0000000108ef7278 call_function + 664
41  blender                             0x0000000108ef3efe _PyEval_EvalFrameDefault + 29326
42  pydevd_frame_evaluator.cpython-37m- 0x000000013130e77a __pyx_f_18_pydevd_frame_eval_22pydevd_frame_evaluator_get_bytecode_while_frame_eval + 4698
43  blender                             0x0000000108ef8065 _PyEval_EvalCodeWithName + 2981
44  blender                             0x0000000108e20502 _PyFunction_FastCallDict + 450
45  blender                             0x0000000108e21aa6 _PyObject_Call_Prepend + 150
46  blender                             0x0000000108e74adb slot_tp_call + 171
47  blender                             0x0000000108e20861 _PyObject_FastCallKeywords + 577
48  blender                             0x0000000108ef72f5 call_function + 789
49  blender                             0x0000000108ef3e53 _PyEval_EvalFrameDefault + 29155
50  pydevd_frame_evaluator.cpython-37m- 0x000000013130e77a __pyx_f_18_pydevd_frame_eval_22pydevd_frame_evaluator_get_bytecode_while_frame_eval + 4698
51  blender                             0x0000000108e20f3d function_code_fastcall + 253
52  blender                             0x00000001048b7b3b bpy_prop_update_cb + 155
53  blender                             0x00000001047350b7 rna_property_update + 135
54  blender                             0x0000000104bbcb76 ui_apply_but_funcs_after + 374
55  blender                             0x0000000104bb92c7 ui_handler_region_menu + 359
56  blender                             0x000000010452c5ba wm_handlers_do_intern + 666
57  blender                             0x0000000104527c3f wm_handlers_do + 31
58  blender                             0x0000000104527052 wm_event_do_handlers + 882
59  blender                             0x0000000104520d20 WM_main + 32
60  blender                             0x00000001043014d8 main + 952
61  libdyld.dylib                       0x00007fff701b47fd start + 1
62  ???                                 0x0000000000000003 0x0 + 3

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.