Ticket #2036 (closed: fixed)
Add attributes to the Run object from python
| Reported by: | Peter Peterson | Owned by: | Peter Peterson |
|---|---|---|---|
| Priority: | minor | Milestone: | Iteration 26 |
| Component: | Mantid | Keywords: | |
| Cc: | Blocked By: | ||
| Blocking: | Tester: | Janik Zikovsky |
Description
Since #1878 needs more help, expose adding properties to the Run object in python.
Change History
comment:1 Changed 10 years ago by Peter Peterson
- Owner set to Peter Peterson
- Status changed from new to accepted
comment:2 Changed 10 years ago by Peter Peterson
- Status changed from accepted to verify
- Resolution set to fixed
comment:3 Changed 10 years ago by Michael Whitty
- Status changed from verify to verifying
- Tester set to Michael Whitty
comment:4 Changed 10 years ago by Michael Whitty
- Status changed from verifying to reopened
- Resolution fixed deleted
The setitem ([]) method appears to work.
However, can't then call getitem on the new element as we can on previous ones.
The below script illustrates this:
LoadRaw('C:\MANTID\Test\Data\irs21360.raw', 'irs21360')
run = mtd['irs21360'].getRun()
# Set new value
run['Testing'] = 1.234
# Show we can get already-set values
print run["run_number"].value
# Show the value is actually on the object
prop = run.getProperty('Testing')
print prop.name
print prop.value
# This line will raise a KeyError
print run['Testing']
comment:6 Changed 10 years ago by Peter Peterson
- Status changed from accepted to verify
- Resolution set to fixed
comment:7 Changed 10 years ago by Janik Zikovsky
- Status changed from verify to verifying
- Tester changed from Michael Whitty to Janik Zikovsky
comment:8 Changed 10 years ago by Janik Zikovsky
- Status changed from verifying to reopened
- Resolution fixed deleted
I get an error when accessing a TimeSeriesProperty. Weirdly, the error keeps popping up no matter what I type afterwards. This is from the script interpreter (pg3 is from PG3_1879_event.nxs) :
>> ws = mtd["pg3"] >> r = ws.getRun() >> print r["run_number"].value 1879 >> pc = r["proton_charge"] Traceback (most recent call last): File "<string>", line 44, in _ScopeInspector_GetFunctionAttributes TypeError: No to_python (by-value) converter found for C++ type: std::vector<Mantid::Kernel::DateAndTime, std::allocator<Mantid::Kernel::DateAndTime> > >> a = 1.2 Traceback (most recent call last): File "<string>", line 44, in _ScopeInspector_GetFunctionAttributes TypeError: No to_python (by-value) converter found for C++ type: std::vector<Mantid::Kernel::DateAndTime, std::allocator<Mantid::Kernel::DateAndTime> > >> anything_I_type = 123 Traceback (most recent call last): File "<string>", line 44, in _ScopeInspector_GetFunctionAttributes TypeError: No to_python (by-value) converter found for C++ type: std::vector<Mantid::Kernel::DateAndTime, std::allocator<Mantid::Kernel::DateAndTime> >
comment:10 Changed 10 years ago by Peter Peterson
- Status changed from accepted to verify
- Resolution set to fixed
The problem exists only from the mantidplot python window and is better described in #2080. That is being left for the next release.
comment:12 Changed 10 years ago by Janik Zikovsky
- Status changed from verifying to closed
Confirmed working well in command-line python.
comment:13 Changed 5 years ago by Stuart Campbell
This ticket has been transferred to github issue 2883
