Differences between revisions 2 and 5 (spanning 3 versions)
Revision 2 as of 2014-05-08 15:10:49
Size: 476
Comment:
Revision 5 as of 2014-05-13 13:45:26
Size: 714
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
= Ideas for an RFC 6532 API = = Ideas for a RFC 6532 API =
Line 3: Line 3:
== Step 1: == == Policy ==
 - the internal charset has to be changeable (or at least a USASCII/UTF8 switch is needed)
Line 5: Line 6:
 1. change the Header class in header.py to make the default charset choosable (adding 'default_charset' keyarg to __init__ and append)
 2. create new classes in the headerregistry.py (e.g. UnicodeAddressHeader as inheritor of AddressHeader
== Header ==

===_header_value_parser===

 - use settings from policy in _fold

== Steps ==

 1. change the Header class in header.py to make the default charset changeable (add '_internal_charset' property)
 2. NOT SURE ABOUT THIS: create new classes in the headerregistry.py (e.g. UnicodeAddressHeader as inheritor of AddressHeader
Line 8: Line 17:
 4. HeaderRegistry: either create an inherited class with the _unicode_header_map as default.  4. HeaderRegistry: create an inherited class with the _unicode_header_map as default.

...

 5. create a policy making use of the above

Ideas for a RFC 6532 API

Policy

  • - the internal charset has to be changeable (or at least a USASCII/UTF8 switch is needed)

===_header_value_parser===

  • - use settings from policy in _fold

Steps

  1. change the Header class in header.py to make the default charset changeable (add '_internal_charset' property)
  2. NOT SURE ABOUT THIS: create new classes in the headerregistry.py (e.g. UnicodeAddressHeader as inheritor of AddressHeader

  3. provide an alternative header map (e.g. _unicode_header_map) using the new classes
  4. HeaderRegistry: create an inherited class with the _unicode_header_map as default.

...

  1. create a policy making use of the above

GSoC14_email (last edited 2014-06-03 13:24:48 by MarcAndreLemburg)

Unable to edit the page? See the FrontPage for instructions.