最近我有一個想法,即編寫一個模塊將字典轉換爲有效的CSS
代碼。我想聽聽你對我的代碼的評論。 許可證MIT,BSD等提高Python中代碼模塊質量的建議
的代碼非常簡單:
#pss.py
__version__ = '1.0'
class PSS:
def __init__(self, obj):
self.obj = obj
self.__data = {}
self.__parse(obj)
def __repr__(self):
return self.__build(self.obj)
def __build(self, obj, string = ''):
for key, value in sorted(self.__data.items()):
if self.__data[key]:
string += key[1:] + ' {\n' + ''.join(value) + '}\n\n'
return string
def __parse(self, obj, selector = ''):
for key, value in obj.items():
if hasattr(value, 'items'):
rule = selector + ' ' + key
self.__data[rule] = []
self.__parse(value, rule)
else:
prop = self.__data[selector]
prop.append('\t%s: %s;\n' % (key, value))
導入模塊:
#test.py
from pss import *
css = PSS({
'html': {
'body': {
'color': 'red',
'div': {
'color': 'green',
'border': '1px'
}
}
}
})
print(css)
結果:
html body {
color: red;
}
html body div {
color: green;
border: 1px;
}
所以我需要你的建議,以改進代碼質量
我想你應該在[coderiview](http://codereview.stackexchange.com/)上提問你的問題 – shenshei 2012-02-07 15:45:30
爲什麼'PSS'類看起來非常像一個函數,它需要一個字典並返回一個字符串? – 2012-02-07 15:47:35
@shenshe,謝謝你,我不知道那個 – 2012-02-07 15:47:55