Package translate :: Package storage :: Module properties

[hide private]
[frames] | no frames]

# Module properties

source code

classes that hold units of .properties files (propunit) or entire files (propfile) these files are used in translating Mozilla and other software

The following .properties file description and example give some good references to the .properties specification.

Properties file may also hold Java MessageFormat messages. No special handling is provided in this storage class for MessageFormat, but this may be implemented in future.

# Implementation

A simple summary of what is permissible follows.

Comments:

     # a comment
     ! a comment

Name and Value pairs:

     # Note that the b and c are escaped for epydoc rendering
     a = a string
     d.e.f = another string
     b = a string with escape sequences \t \n \r \\ \" \' \ (space) \u0123
     c = a string with a continuation line \
         continuation line

Classes | [hide private]

| propunit an element of a properties file i.e.
| propfile this class represents a .properties file, made up of propunits

Functions | [hide private]

Tuple (Delimeter char, Offset Integer)

find_delimeter(line) Find the type and position of the delimeter in a property line. | source code

Boolean

is_line_continuation(line) Determine whether `line` has a line continuation marker. | source code

str

key_strip(key) Cleanup whitespace found around a key | source code

Variables | [hide private]

| eol = ``'``\n``'``
| default_encoding = ``{``'``java``'``:` `'``latin1``'``,` `'``mozilla``'``:` `'``utf-8``'``,` `'``sky``...``

Imports: base, quote, data, re

Function Details | [hide private]

### find_delimeter(line)

source code

Find the type and position of the delimeter in a property line.

Property files can be delimeted by "=", ":" or whitespace (space for now). We find the position of each delimeter, then find the one that appears first.

Parameters:
  - `line` (str) - A properties line
Returns: Tuple (Delimeter char, Offset Integer)
  Delimeter character and offset within `line`

### is_line_continuation(line)

source code

Determine whether `line` has a line continuation marker.

.properties files can be terminated with a backslash (\) indicating that the 'value' continues on the next line. Continuation is only valid if there are an odd number of backslashses (an even number would result in a set of N/2 slashes not an escape)

Parameters:
  - `line` (str) - A properties line
Returns: Boolean
  Does `line` end with a line continuation

### key_strip(key)

source code

Cleanup whitespace found around a key

Parameters:
  - `key` (str) - A properties key
Returns: str
  Key without any uneeded whitespace

Variables Details | [hide private]

### default_encoding

Value:

      {'java': 'latin1', 'mozilla': 'utf-8', 'skype': 'utf-16'}