Ann Paul created LIBCLOUD-763:
---------------------------------

             Summary: Making str2dicts util function more pythonic and simpler.
                 Key: LIBCLOUD-763
                 URL: https://issues.apache.org/jira/browse/LIBCLOUD-763
             Project: Libcloud
          Issue Type: Improvement
          Components: Libcloud REST
    Affects Versions: 0.13.3
            Reporter: Ann Paul
            Priority: Minor


With reference to the *str2dicts* function here 
https://github.com/apache/libcloud/blob/trunk/libcloud/utils/misc.py#L154

Two suggestions: 
* I personally think the "\n\n" is not being taken advantage of.
* Initializing a list and appending a list with empty dict ({}) is not 
necessary and can be removed. This will allow to remove negative indexing on 
the list as well.

My thoughts are to change it to look like so:
{code}
def str2dicts(data):
   if data is not None and data != "":
        data_blocks = data.split("\n\n")
        line_list = [line.rstrip("\n").lstrip("\n").split("\n") for line in 
data_blocks]
        return [dict(key_value_string.split(" ") for key_value_string in line) 
for line in line_list]
    return [{}]
{code}

Let me know your thoughts on this and when it looks good, i'd be happy to open 
a pull request for with this change.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to