Hi Rob,

Yes, you can access those attributes, but you have to work with the phil object, not the extract. Here is some sample code. There is more code in the libtbx/phil/interface.py that builds some dictionaries for tracking these values.

arrayinfo_phil_str = """
selected_info {
   span = True
     .type = bool
     .short_caption = "Span"
   minmax_data = True
     .type = bool
     .short_caption = "min,max data"
}
"""

def recursive_show(phil_object):
  for o in phil_object.objects:
    if o.is_scope:
      recursive_show(o)
    elif o.is_definition:
      # o.show()
      print('My name is', o.name)
      print('My value is', str(o.words[0]))
      print('My type is', str(o.type))
      print('My short_caption is', o.short_caption)
      print('My full path is', o.full_path())
      # print(dir(o))

from libtbx.phil import parse
p = parse(arrayinfo_phil_str)
recursive_show(p)


--
Billy K. Poon
Research Scientist, Molecular Biophysics and Integrated Bioimaging
Lawrence Berkeley National Laboratory
1 Cyclotron Road, M/S 33R0345
Berkeley, CA 94720
Fax: (510) 486-5909


On Thu, Oct 14, 2021 at 4:40 PM Robert Oeffner <rdo20@cam.ac.uk> wrote:
Hi,

Most likely a trivial question but if I have a PHIL object such as one
based on the string

arrayinfo_phil_str = """
selected_info {
   span = True
     .type = bool
     .short_caption = "Span"
   minmax_data = True
     .type = bool
     .short_caption = "min,max data"
}
"""

I can then get the PHIL definitions span and minmax_data as python
values like:

from libtbx.phil import parse
parse(arrayinfo_phil_str).extract().selected_info.span
parse(arrayinfo_phil_str).extract().selected_info.minmax_data

But how do I access the values of the short_caption attribute of these
definitions? Does that make sense or have not understood correctly how
PHIL works?


Thanks,


Rob




--
This email has been checked for viruses by AVG.
https://www.avg.com

_______________________________________________
cctbxbb mailing list
cctbxbb@phenix-online.org
http://phenix-online.org/mailman/listinfo/cctbxbb