def test_i18n(): "test to i18n process of the meta mark." e = ('name_zhTW', '我是中文') ameta = meta.make_meta(e[0],e[1]) assert ameta[0] == 'name' assert ameta[1] == {'zhTW':'我是中文'} e = ('desc_zhTW', '我是中文') ameta = meta.make_meta(e[0],e[1]) assert ameta[0] == 'desc' assert ameta[1] == {'zhTW':'我是中文'} ameta = meta.make_meta('name','no_lang') assert ameta is None,ameta
def parse_string(string): attrs = {} import re founds = re.findall('\s*@(.*?)\s+\'(.*|.*\n.*)\'', \ string ,\ re.MULTILINE) for found in founds: meta_entry = meta.make_meta(found[0],found[1]) if not meta_entry: continue # @FIXME: dirty hack. if not attrs.get(meta_entry[0]): attrs.setdefault(meta_entry[0], meta_entry[1]) else: if type(attrs[meta_entry[0]]) == dict: attrs[meta_entry[0]].update(meta_entry[1]) elif type(attrs[meta_entry[0]]) == list: attrs[meta_entry[0]].extend(meta_entry[1]) elif type(attrs[meta_entry[0]]) == tuple: attrs[meta_entry[0]] = attrs[meta_entry[0]] +\ meta_entry[1] return attrs
def test_author(): "test to parse author mark." e = ('author', '2007 billy') ameta = meta.make_meta(e[0],e[1]) assert ameta[0] == 'authors' assert ameta[1] == ('2007 billy',)
def test_platform(): "test to parse platform mark." e = ('platform', 'i386 adm64') ameta = meta.make_meta(e[0],e[1]) assert ameta[0] == 'platform' assert ameta[1] == ['i386','adm64']