6050cfae7e
New patches to python-cinderclient must now add an entry for release notes. Change-Id: Id7fe24f2cabf4145933e0babc6641d250165ce74
78 lines
1.8 KiB
ReStructuredText
78 lines
1.8 KiB
ReStructuredText
Cinder Client Style Commandments
|
|
================================
|
|
|
|
- Step 1: Read the OpenStack Style Commandments
|
|
http://docs.openstack.org/developer/hacking/
|
|
- Step 2: Read on
|
|
|
|
Cinder Client Specific Commandments
|
|
-----------------------------------
|
|
|
|
General
|
|
-------
|
|
- Use 'raise' instead of 'raise e' to preserve original traceback or exception being reraised::
|
|
|
|
except Exception as e:
|
|
...
|
|
raise e # BAD
|
|
|
|
except Exception:
|
|
...
|
|
raise # OKAY
|
|
|
|
Text encoding
|
|
-------------
|
|
- All text within python code should be of type 'unicode'.
|
|
|
|
WRONG:
|
|
|
|
>>> s = 'foo'
|
|
>>> s
|
|
'foo'
|
|
>>> type(s)
|
|
<type 'str'>
|
|
|
|
RIGHT:
|
|
|
|
>>> u = u'foo'
|
|
>>> u
|
|
u'foo'
|
|
>>> type(u)
|
|
<type 'unicode'>
|
|
|
|
- Transitions between internal unicode and external strings should always
|
|
be immediately and explicitly encoded or decoded.
|
|
|
|
- All external text that is not explicitly encoded (database storage,
|
|
commandline arguments, etc.) should be presumed to be encoded as utf-8.
|
|
|
|
WRONG:
|
|
|
|
mystring = infile.readline()
|
|
myreturnstring = do_some_magic_with(mystring)
|
|
outfile.write(myreturnstring)
|
|
|
|
RIGHT:
|
|
|
|
mystring = infile.readline()
|
|
mytext = s.decode('utf-8')
|
|
returntext = do_some_magic_with(mytext)
|
|
returnstring = returntext.encode('utf-8')
|
|
outfile.write(returnstring)
|
|
|
|
Release Notes
|
|
-------------
|
|
- Each patch should add an entry in the doc/source/index.rst file under
|
|
"MASTER".
|
|
|
|
- On each new release, the entries under "MASTER" will become the release notes
|
|
for that release, and "MASTER" will be cleared.
|
|
|
|
- The format should match existing release notes. For example, a feature::
|
|
|
|
* Add support for function foo
|
|
|
|
Or a bug fix::
|
|
|
|
.. _1241941: http://bugs.launchpad.net/python-cinderclient/+bug/1241941
|