Package translate :: Package storage :: Module oo

[hide private]
[frames] | no frames]

# Module oo

source code

Classes that hold units of .oo files (oounit) or entire files (oofile).

These are specific .oo files for localisation exported by OpenOffice.org - SDF format (previously knows as GSI files). For an overview of the format, see http://l10n.openoffice.org/L10N_Framework/Intermediate_file_format.html

The behaviour in terms of escaping is explained in detail in the programming comments.

Classes | [hide private]

| unormalizechar
| ooline this represents one line, one translation in an .oo file
| oounit this represents a number of translations of a resource
| oofile this represents an entire .oo file
| oomultifile this takes a huge GSI file and represents it as multiple smaller files...

Functions | [hide private]

normalizefilename(filename) converts any non-alphanumeric (standard roman) characters to _ | source code

str

makekey(ookey, long_keys) converts an oo key tuple into a unique identifier | source code

escape_text(text) Escapes SDF text to be suitable for unit consumption. | source code

unescape_text(text) Unescapes SDF text to be suitable for unit consumption. | source code

escape_help_text(text) Escapes the help text as it would be in an SDF file. | source code

unescape_help_text(text) Unescapes normal text to be suitable for writing to the SDF file. | source code

encode_if_needed_utf8(text) Encode a Unicode string the the specified encoding | source code

Variables | [hide private]

| normalfilenamechars = ``'``/#.0123456789abcdefghijklmnopqrstuvwxyz``...``
| normalizetable = ``'``___________________________________#________``...``
| unormalizetable = `{}`
| helptagre = `re.compile(r'</`??``[`a`-`z_-`]``+?``(?:``|` `+``[`a`-`z`]``+?`=".`*?`"`)` `*`/`?``...``
| i = ``'``\xff``'``

Imports: os, re, quote, wStringIO, warnings

Function Details | [hide private]

### makekey(ookey, long_keys)

source code

converts an oo key tuple into a unique identifier

Parameters:
  - `ookey` (tuple) - an oo key
  - `long_keys` (Boolean) - Use long keys
Returns: str
  unique ascii identifier

### escape_help_text(text)

source code

Escapes the help text as it would be in an SDF file.

<, >, " are only escaped in <[[:lower:]]> tags. Some HTML tags make it in in lowercase so those are dealt with. Some OpenOffice.org help tags are not escaped.

Variables Details | [hide private]

### normalfilenamechars

Value:

      '/#.0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'

### normalizetable

Value:

      '___________________________________#__________./0123456789_______ABCD
      EFGHIJKLMNOPQRSTUVWXYZ______abcdefghijklmnopqrstuvwxyz________________
      ______________________________________________________________________
      _______________________________________________'

### helptagre

Value:

      re.compile(r'</??[a-z_-]+?(?:| +[a-z]+?=".*?") */??>')