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,19 +805,20 @@ def post_metadata_parse(app):
v = build.get_flag(k)
if type(v) in (float, int):
build.set_flag(k, v)
else:
keyflagtype = flagtype(k)
build.set_flag(k, str(v))
continue
if keyflagtype == 'script':
build.set_flag(k, re.sub(esc_newlines, '', v).lstrip().rstrip())
elif keyflagtype == 'bool':
# TODO handle this using <xsd:element type="xsd:boolean> in a schema
if isinstance(v, basestring) and v == 'true':
build.set_flag(k, 'true')
elif keyflagtype == 'string':
if isinstance(v, bool) and v:
build.set_flag(k, 'yes')
ftype = flagtype(k)
if ftype == 'script':
build.set_flag(k, re.sub(esc_newlines, '', v).lstrip().rstrip())
elif ftype == 'bool':
# TODO handle this using <xsd:element type="xsd:boolean> in a schema
if isinstance(v, basestring) and v == 'true':
build.set_flag(k, True)
elif ftype == 'string':
if isinstance(v, bool) and v:
build.set_flag(k, 'yes')
if not app.Description:
app.Description = ['No description available']

View File

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

View File

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

File diff suppressed because it is too large Load Diff