| 39 | |
| 40 | |
| 41 | class PPMLParser(xmllib.XMLParser): |
| 42 | attributes = { |
| 43 | #this defines the available attributes for all objects, |
| 44 | #and their default values. Although these don't have to |
| 45 | #be strings, the ones parsed from the XML do, so |
| 46 | #everything is a quoted string and the parser has to |
| 47 | #convert these to numbers where appropriate. |
| 48 | 'stylesheet': { |
| 49 | 'path':'None', |
| 50 | 'module':'None', |
| 51 | 'function':'getParagraphStyles' |
| 52 | }, |
| 53 | 'frame': { |
| 54 | 'x':'0', |
| 55 | 'y':'0', |
| 56 | 'width':'0', |
| 57 | 'height':'0', |
| 58 | 'border':'false', |
| 59 | 'leftmargin':'0', #this is ignored |
| 60 | 'topmargin':'0', #this is ignored |
| 61 | 'rightmargin':'0', #this is ignored |
| 62 | 'bottommargin':'0', #this is ignored |
| 63 | }, |
| 64 | 'slide': { |
| 65 | 'id':'None', |
| 66 | 'title':'None', |
| 67 | 'effectname':'None', # Split, Blinds, Box, Wipe, Dissolve, Glitter |
| 68 | 'effectdirection':'0', # 0,90,180,270 |
| 69 | 'effectdimension':'H', # H or V - horizontal or vertical |
| 70 | 'effectmotion':'I', # Inwards or Outwards |
| 71 | 'effectduration':'1', #seconds, |
| 72 | 'outlineentry':'None', |
| 73 | 'outlinelevel':'0' # 1 is a child, 2 is a grandchild etc. |
| 74 | }, |
| 75 | 'para': { |
| 76 | 'style':'Normal', |
| 77 | 'bullettext':'', |
| 78 | 'effectname':'None', |
| 79 | 'effectdirection':'0', |
| 80 | 'effectdimension':'H', |
| 81 | 'effectmotion':'I', |
| 82 | 'effectduration':'1' |
| 83 | }, |
| 84 | 'image': { |
| 85 | 'filename':'', |
| 86 | 'width':'None', |
| 87 | 'height':'None', |
| 88 | 'effectname':'None', |
| 89 | 'effectdirection':'0', |
| 90 | 'effectdimension':'H', |
| 91 | 'effectmotion':'I', |
| 92 | 'effectduration':'1' |
| 93 | }, |
| 94 | 'table': { |
| 95 | 'widths':'None', |
| 96 | 'heights':'None', |
| 97 | 'fieldDelim':',', |
| 98 | 'rowDelim':'\n', |