metadata: properly store nums as strs and bools as bools

This commit is contained in:
Daniel Martí 2015-12-02 20:46:39 +01:00
parent 71a5eac494
commit c975531d87
4 changed files with 3100 additions and 3034 deletions

View file

@ -805,17 +805,18 @@ def post_metadata_parse(app):
v = build.get_flag(k) v = build.get_flag(k)
if type(v) in (float, int): if type(v) in (float, int):
build.set_flag(k, v) build.set_flag(k, str(v))
else: continue
keyflagtype = flagtype(k)
if keyflagtype == 'script': ftype = flagtype(k)
if ftype == 'script':
build.set_flag(k, re.sub(esc_newlines, '', v).lstrip().rstrip()) build.set_flag(k, re.sub(esc_newlines, '', v).lstrip().rstrip())
elif keyflagtype == 'bool': elif ftype == 'bool':
# TODO handle this using <xsd:element type="xsd:boolean> in a schema # TODO handle this using <xsd:element type="xsd:boolean> in a schema
if isinstance(v, basestring) and v == 'true': if isinstance(v, basestring) and v == 'true':
build.set_flag(k, 'true') build.set_flag(k, True)
elif keyflagtype == 'string': elif ftype == 'string':
if isinstance(v, bool) and v: if isinstance(v, bool) and v:
build.set_flag(k, 'yes') build.set_flag(k, 'yes')

View file

@ -41,10 +41,10 @@ class MetadataTest(unittest.TestCase):
for appid in ('org.smssecure.smssecure', 'org.adaway', 'net.osmand.plus', 'org.videolan.vlc'): for appid in ('org.smssecure.smssecure', 'org.adaway', 'net.osmand.plus', 'org.videolan.vlc'):
app = apps[appid] app = apps[appid]
savepath = os.path.join('metadata', appid + '.pickle') savepath = os.path.join('metadata', appid + '.pickle')
frommeta = app.field_dict()
self.assertTrue(appid in apps) self.assertTrue(appid in apps)
with open(savepath, 'r') as f: with open(savepath, 'r') as f:
frompickle = pickle.load(f) frompickle = pickle.load(f)
frommeta = app.field_dict()
self.assertEquals(frommeta, frompickle) self.assertEquals(frommeta, frompickle)
# Uncomment to overwrite # Uncomment to overwrite
# with open(savepath, 'wb') as f: # with open(savepath, 'wb') as f:

View file

@ -139,318 +139,317 @@ p67
(dp69 (dp69
S'submodules' S'submodules'
p70 p70
S'true' I01
p71
sS'kivy' sS'kivy'
p72 p71
I00 I00
sS'forceversion' sS'forceversion'
p73 p72
I00 I00
sS'oldsdkloc' sS'oldsdkloc'
p74 p73
I00 I00
sS'antcommands' sS'antcommands'
p75 p74
NsS'scanignore' NsS'scanignore'
p76 p75
(lp77 (lp76
sS'gradle' sS'gradle'
p78 p77
I00 I00
sS'srclibs' sS'srclibs'
p79 p78
(lp80 (lp79
sS'encoding' sS'encoding'
p81 p80
NsS'extlibs' NsS'extlibs'
p82 p81
(lp83 (lp82
sS'init' sS'init'
p84 p83
g21 g21
sS'version' sS'version'
p85 p84
S'1.8.2' S'1.8.2'
p86 p85
sS'subdir' sS'subdir'
p87 p86
S'android/OsmAnd' S'android/OsmAnd'
p88 p87
sS'rm' sS'rm'
p89 p88
(lp90 (lp89
sS'build' sS'build'
p91 p90
S'./old-ndk-build.sh && ant -Dsdk.dir="$ANDROID_SDK" -Dndk.dir="$ANDROID_NDK" -DBLACKBERRY_BUILD=false -DBUILD_SUFFIX= -DAPK_NUMBER_VERSION=182 "-DFEATURES=+play_market +gps_status -parking_plugin -blackberry -amazon -route_nav" -DCLEAN_CPP=false -DPACKAGE_TO_BUILT=net.osmand.plus -DAPK_VERSION=1.8.2 -Dnet.osmand.plus= -Dbuild.version=1.8.2 -Dbuild.version.code=182 -Dnativeoff=false "-DversionFeatures=+play_market +gps_status -parking_plugin -blackberry -amazon -route_nav" clean release' S'./old-ndk-build.sh && ant -Dsdk.dir="$ANDROID_SDK" -Dndk.dir="$ANDROID_NDK" -DBLACKBERRY_BUILD=false -DBUILD_SUFFIX= -DAPK_NUMBER_VERSION=182 "-DFEATURES=+play_market +gps_status -parking_plugin -blackberry -amazon -route_nav" -DCLEAN_CPP=false -DPACKAGE_TO_BUILT=net.osmand.plus -DAPK_VERSION=1.8.2 -Dnet.osmand.plus= -Dbuild.version=1.8.2 -Dbuild.version.code=182 -Dnativeoff=false "-DversionFeatures=+play_market +gps_status -parking_plugin -blackberry -amazon -route_nav" clean release'
p92 p91
sS'vercode' sS'vercode'
p93 p92
S'182' S'182'
p94 p93
sS'forcevercode' sS'forcevercode'
p95 p94
I00 I00
sS'preassemble' sS'preassemble'
p96 p95
(lp97 (lp96
sS'update' sS'update'
p98 p97
NsS'maven' NsS'maven'
p99 p98
I00 I00
sS'disable' sS'disable'
p100 p99
I00 I00
sS'commit' sS'commit'
p101 p100
S'76ada6c8a08afe69acb755503373ac36328ef665' S'76ada6c8a08afe69acb755503373ac36328ef665'
p102 p101
sS'scandelete' sS'scandelete'
p103 p102
(lp104 (lp103
sS'buildjni' sS'buildjni'
p105 p104
S'no' S'no'
p106 p105
sS'ndk' sS'ndk'
p107 p106
NsS'target' NsS'target'
p108 p107
NsS'gradleprops' NsS'gradleprops'
p109 p108
(lp110 (lp109
sS'patch' sS'patch'
p111 p110
(lp112 (lp111
sS'prebuild' sS'prebuild'
p113 p112
S'sed -i \'s/"OsmAnd+"/"OsmAnd~"/g\' build.xml' S'sed -i \'s/"OsmAnd+"/"OsmAnd~"/g\' build.xml'
p114 p113
sS'novcheck' sS'novcheck'
p115 p114
I00 I00
sS'output' sS'output'
p115
S'bin/OsmAnd-release-unsigned.apk'
p116 p116
S'bin/OsmAnd-release-unsigned.apk' sa(dp117
p117
sa(dp118
g70 g70
g71 I01
sg71
I00
sg72 sg72
I00 I00
sg73 sg73
I00 I00
sg74 sg74
Nsg75
(lp118
sg77
I00 I00
sg75 sg78
Nsg76
(lp119 (lp119
sg78 sg80
I00 Nsg81
sg79
(lp120 (lp120
sg81 sg83
Nsg82
(lp121
sg84
g21 g21
sg85 sg84
S'1.8.3' S'1.8.3'
p122 p121
sg87 sg86
S'android/OsmAnd' S'android/OsmAnd'
p123 p122
sg89 sg88
(lp124 (lp123
sg91 sg90
S'../../build' S'../../build'
p125 p124
sg93 sg92
S'183' S'183'
p126 p125
sg95 sg94
I00 I00
sg96 sg95
(lp127 (lp126
sg98 sg97
Nsg99 Nsg98
I00
sg99
I00 I00
sg100 sg100
I00
sg101
S'1.8.3' S'1.8.3'
p128 p127
sg103 sg102
(lp129 (lp128
sg105 sg104
S'no' S'no'
p130 p129
sg107 sg106
Nsg107
Nsg108 Nsg108
Nsg109 (lp130
sg110
(lp131 (lp131
sg111 sg112
(lp132
sg113
g21 g21
sg115 sg114
I00 I00
sg116 sg115
S'bin/OsmAnd-release-unsigned.apk' S'bin/OsmAnd-release-unsigned.apk'
p133 p132
sa(dp134 sa(dp133
g70 g70
g71 I01
sg71
I00
sg72 sg72
I00 I00
sg73 sg73
I00 I00
sg74 sg74
Nsg75
(lp134
sg77
I00 I00
sg75
Nsg76
(lp135
sg78 sg78
I00 (lp135
sg79 sg80
Nsg81
(lp136 (lp136
sg81 sg83
Nsg82
(lp137
sg84
g21 g21
sg85 sg84
S'1.9.4' S'1.9.4'
p138 p137
sg87 sg86
S'android/OsmAnd' S'android/OsmAnd'
p139 p138
sg89 sg88
(lp140 (lp139
sg91 sg90
S'../../build' S'../../build'
p141 p140
sg93 sg92
S'196' S'196'
p142 p141
sg95 sg94
I00 I00
sg96 sg95
(lp143 (lp142
sg98 sg97
Nsg99 Nsg98
I00
sg99
I00 I00
sg100 sg100
I00
sg101
S'1.9.4' S'1.9.4'
p144 p143
sg103 sg102
(lp145 (lp144
sg105 sg104
S'no' S'no'
p145
sg106
S'r10d'
p146 p146
sg107 sg107
S'r10d' Nsg108
p147 (lp147
sg108 sg110
Nsg109
(lp148 (lp148
sg111 sg112
(lp149
sg113
g21 g21
sg115 sg114
I00 I00
sg116 sg115
S'bin/OsmAnd-release-unsigned.apk' S'bin/OsmAnd-release-unsigned.apk'
p150 p149
sa(dp151 sa(dp150
g70 g70
g71 I01
sg71
I00
sg72 sg72
I00 I00
sg73 sg73
I00 I00
sg74 sg74
Nsg75
(lp151
sg77
I00 I00
sg75
Nsg76
(lp152
sg78 sg78
I00 (lp152
sg79 sg80
Nsg81
(lp153 (lp153
sg81 sg83
Nsg82
(lp154
sg84
g21 g21
sg85 sg84
S'1.9.5' S'1.9.5'
p155 p154
sg87 sg86
S'android/OsmAnd' S'android/OsmAnd'
p156 p155
sg89 sg88
(lp157 (lp156
sg91 sg90
S'../../build' S'../../build'
p158 p157
sg93 sg92
S'197' S'197'
p159 p158
sg95 sg94
I00 I00
sg96 sg95
(lp160 (lp159
sg98 sg97
Nsg99 Nsg98
I00
sg99
I00 I00
sg100 sg100
I00
sg101
S'1.9.5' S'1.9.5'
p161 p160
sg103 sg102
(lp162 (lp161
sg105 sg104
S'no' S'no'
p162
sg106
S'r10d'
p163 p163
sg107 sg107
S'r10d' Nsg108
p164 (lp164
sg108 sg110
Nsg109
(lp165 (lp165
sg111 sg112
(lp166
sg113
g21 g21
sg115 sg114
I00 I00
sg116 sg115
S'bin/OsmAnd-release-unsigned.apk' S'bin/OsmAnd-release-unsigned.apk'
p167 p166
sasS'FlattrID' sasS'FlattrID'
p168 p167
NsS'metadatapath' NsS'metadatapath'
p169 p168
S'metadata/net.osmand.plus.xml' S'metadata/net.osmand.plus.xml'
p170 p169
sS'Disabled' sS'Disabled'
p171 p170
NsS'Web Site' NsS'Web Site'
p172 p171
S'http://osmand.net' S'http://osmand.net'
p173 p172
sS'Update Check Name' sS'Update Check Name'
p174 p173
NsS'Vercode Operation' NsS'Vercode Operation'
p175 p174
NsS'Auto Update Mode' NsS'Auto Update Mode'
p176 p175
S'None' S'None'
p177 p176
s. s.

File diff suppressed because it is too large Load diff