| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- #!/usr/bin/env python
- # -*- coding: utf-8 -*-
- # Copyright (C) 2007 Søren Roug, European Environment Agency
- #
- # This is free software. You may redistribute it under the terms
- # of the Apache license and the GNU General Public License Version
- # 2 or at your option any later version.
- #
- # This program is distributed in the hope that it will be useful,
- # but WITHOUT ANY WARRANTY; without even the implied warranty of
- # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- # GNU General Public License for more details.
- #
- # You should have received a copy of the GNU General Public
- # License along with this program; if not, write to the Free Software
- # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- #
- # Contributor(s):
- #
- from odf.opendocument import OpenDocumentSpreadsheet
- from odf.style import (ParagraphProperties, Style, TableColumnProperties,
- TextProperties)
- from odf.table import Table, TableCell, TableColumn, TableRow
- from odf.text import P
- textdoc = OpenDocumentSpreadsheet()
- # Create a style for the table content. One we can modify
- # later in the word processor.
- tablecontents = Style(parent=textdoc.styles,
- name='Table Contents', family='paragraph')
- ParagraphProperties(parent=tablecontents, numberlines='false', linenumber='0')
- TextProperties(parent=tablecontents, fontweight='bold')
- # Create automatic styles for the column widths.
- # We want two different widths, one in inches, the other one in metric.
- # ODF Standard section 15.9.1
- widthshort = Style(parent=textdoc.automaticstyles,
- name='Wshort', family='table-column')
- TableColumnProperties(parent=widthshort, columnwidth='1.7cm')
- widthwide = Style(parent=textdoc.automaticstyles,
- name='Wwide', family='table-column')
- TableColumnProperties(parent=widthwide, columnwidth='1.5in')
- # Start the table, and describe the columns
- table = Table(parent=textdoc.spreadsheet, name='Password')
- TableColumn(parent=table, numbercolumnsrepeated=4, stylename=widthshort)
- TableColumn(parent=table, numbercolumnsrepeated=3, stylename=widthwide)
- with open('/etc/passwd') as f:
- for line in f:
- rec = line.strip().split(':')
- tr = TableRow(parent=table)
- for val in rec:
- tc = TableCell(parent=tr)
- p = P(parent=tc, stylename=tablecontents, text=val)
- textdoc.save('passwd.ods')
|