User Guide ========== .. currentmodule:: pyds .. _parsing: Parsing ------- To work with an existing PDS label, first parse it into a :class:`Label` object using the :func:`parse` function:: >>> import pyds >>> test_parsed_label = pyds.parse( ... b""" ... PDS_VERSION_ID = PDS3 ... ... ATTR_BLHA = 2000 ... NUMBER_OF_DAYS = 2 ... RATIO_OF_X = 2.0 ... ID = "lk32j4kajsdk1asdadd8asd8" ... ... NAMESPACED:ATTR = 200 ... ... ^POINT_TO_X = 500 ... ^POINT_TO_Y = "blha.txt" ... ... GROUP = INTEGERS ... ONE = 0 ... TWO = 123 ... THREE = +440 ... FOUR = -1500000 ... END_GROUP = INTEGERS ... ... GROUP = BASED_INTEGERS ... ONE = 2#1001011# ... TWO = 8#113# ... THREE = 10#75# ... FOUR = 16#+4B# ... FIVE = 16#-4B# ... END_GROUP = BASED_INTEGERS ... ... GROUP = REAL_NUMBERS ... ONE = 0.0 ... TWO = 123. ... THREE = +1234.56 ... FOUR = -.9981 ... FIVE = -1.E-3 ... SIX = 31459e1 ... END_GROUP = REAL_NUMBERS ... ... GROUP = NUMBERS_WITH_UNITS ... INT = 5 ... REAL = 5.1100 ... BASED_INTEGER = 2#1001011# ... END_GROUP = NUMBERS_WITH_UNITS ... ... OBJECT = DATES_AND_TIMES ... GROUP = DATES ... ONE = 1990-07-04 ... TWO = 1990-158 ... THREE = 2001-001 ... END_GROUP = DATES ... ... OBJECT = TIMES ... ONE = 12:00 ... TWO = 15:24:12Z ... THREE = 01:10:39.4575+07 ... END_OBJECT = TIMES ... ... GROUP = DATE_TIMES ... ONE = 1990-07-04T12:00 ... TWO = 1990-158T15:24:12Z ... THREE = 2001-001T01:10:39.457591+7 ... END_GROUP = DATE_TIMES ... END_OBJECT = DATES_AND_TIMES ... ... TEXT1 = "blha blha BLHA BLHA blha ... blha blha blha" ... ... TEXT2 = "blha blha blha. Any character but a quotation mark." ... ... TEXT3 = "" ... ... SYMBOL1 = 'ONE-OR-MORE-CHARS EXCEPT THE APOSTROPHE ON ONE LINE' ... ... ATTR_IDENTIFIER = ATTR_IDENTIFIER_VALUE ... ... A_1D_SEQUENCE = (0.2056, 0.0068, 0.0167, 0.0934, 0.0483, 0.0560) ... A_2D_SEQUENCE = ((0, 1008), (1009, 1025), (1026, 1043)) ... A_SET = {'RED', 'BLUE', 'GREEN', 'HAZEL'} ... ... END ... """ ... ) >>> test_parsed_label You can then interact with the :class:`Label` object to read or manipulate properties of the label. See the discussion :ref:`below