convert metadata test dumps to YAML for easy comparison

When making code changes related to the metadata parsing, it is useful to
see how the internal format has changed by seeing the differences in the
dump files.  Those files are currently in the binary .pickle format.  This
just straight converts them to YAML, which is a text format, so that normal
diff tools work to see changes.

The dump files are named .yaml instead of .yml since .yml is used for hand-
edited YAML files for fdroiddata/metadata, while these dump files here are
a human readable form of a Python pickle.
This commit is contained in:
Hans-Christoph Steiner 2016-11-23 15:14:44 +01:00
parent ce3efe4168
commit b1a943d562
7 changed files with 3599 additions and 702 deletions

View File

@ -5,9 +5,9 @@
import inspect
import optparse
import os
import pickle
import sys
import unittest
import yaml
localmodule = os.path.realpath(
os.path.join(os.path.dirname(inspect.getfile(inspect.currentframe())), '..'))
@ -39,15 +39,15 @@ class MetadataTest(unittest.TestCase):
apps = fdroidserver.metadata.read_metadata(xref=True)
for appid in ('org.smssecure.smssecure', 'org.adaway', 'org.videolan.vlc'):
app = apps[appid]
savepath = os.path.join('metadata', appid + '.pickle')
savepath = os.path.join('metadata', 'dump', appid + '.yaml')
frommeta = app.field_dict()
self.assertTrue(appid in apps)
with open(savepath, 'rb') as f:
frompickle = pickle.load(f)
with open(savepath, 'r') as f:
frompickle = yaml.load(f)
self.assertEqual(frommeta, frompickle)
# Uncomment to overwrite
# with open(savepath, 'wb') as f:
# pickle.dump(frommeta, f)
# with open(savepath, 'w') as f:
# yaml.dump(frommeta, f, default_flow_style=False)
if __name__ == "__main__":

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,339 @@
AntiFeatures: []
Archive Policy: null
Author Email: null
Author Name: null
Auto Name: SMSSecure
Auto Update Mode: Version v%v
Binaries: null
Bitcoin: null
Categories:
- Phone & SMS
Changelog: ''
Current Version: 0.6.0
Current Version Code: '102'
Description: 'SMSSecure is an SMS/MMS application that allows you to protect your
privacy while communicating with friends.
Using SMSSecure, you can send SMS messages and share media or attachments with complete
privacy.
* Easy. SMSSecure works like any other SMS application. There''s nothing to sign
up for and no new service your friends need to join.
* Reliable. SMSSecure communicates using encrypted SMS messages. No servers or internet
connection required.
* Private. SMSSecure uses the TextSecure encryption protocol to provide privacy
for every message, every time.
* Safe. All messages are encrypted locally, so if your phone is lost or stolen,
your messages are protected.
* Open Source. SMSSecure is Free and Open Source, enabling anyone to verify its
security by auditing the code.'
Disabled: null
Donate: null
FlattrID: null
Issue Tracker: https://github.com/SMSSecure/SMSSecure/issues
License: GPLv3
Litecoin: null
Maintainer Notes: ''
Name: null
No Source Since: ''
Provides: null
Repo: https://github.com/SMSSecure/SMSSecure
Repo Type: git
Requires Root: false
Source Code: https://github.com/SMSSecure/SMSSecure
Summary: Send encrypted text messages (SMS)
Update Check Data: null
Update Check Ignore: null
Update Check Mode: Tags
Update Check Name: null
Vercode Operation: null
Web Site: http://www.smssecure.org
added: null
builds:
- antcommands: []
build: ''
buildjni: []
commit: 66367479a4f57f347b5cbe8f6f8f632adaae7727
disable: builds, merge changes into upstream
encoding: null
extlibs: []
forcevercode: true
forceversion: false
gradle:
- 'yes'
gradleprops: []
init: ''
kivy: false
maven: false
ndk: null
novcheck: false
oldsdkloc: false
output: null
patch: []
preassemble: []
prebuild: touch signing.properties && pushd $$GradleWitness$$ && gradle jar && popd
&& cp $$GradleWitness$$/build/libs/GradleWitness.jar libs/gradle-witness.jar &&
sed -i -e '20,22d' build.gradle && pushd $$PreferenceFragment$$ && gradle uploadArchives
&& popd && sed -i -e '/5470f5872514a6226fa1fc6f4e000991f38805691c534cf0bd2778911fc773ad/d'
build.gradle && mkdir smil && pushd smil && wget -c http://www.w3.org/TR/smil-boston-dom/java-binding.zip
&& unzip java-binding.zip && popd && cp -fR smil/java/org src/ && rm -fR smil
&& sed -i -e '/org.w3c.smil/d' build.gradle && cp -fR $$AospMms$$/src/org src/
rm:
- libs/*
scandelete: []
scanignore: []
srclibs:
- GradleWitness@10f1269c0aafdc1d478efc005ed48f3a47d44278
- PreferenceFragment@717a45433b927d2f0dfc5328f79e77c9682c37bc
- ShortcutBadger@3815ce2ec0c66acd7d7c0b4f2479df8fa70fed87
- AospMms@android-5.1.0_r3
subdir: null
submodules: false
target: null
update: []
vercode: '5'
version: 0.3.3
- antcommands: []
build: ''
buildjni: []
commit: 9675ce5eecb929dcaddb43b3d9486fdb88b9ae1a
disable: builds, wait for upstream
encoding: null
extlibs: []
forcevercode: false
forceversion: false
gradle:
- 'yes'
gradleprops: []
init: ''
kivy: false
maven: false
ndk: null
novcheck: false
oldsdkloc: false
output: null
patch: []
preassemble: []
prebuild: touch signing.properties && pushd $$GradleWitness$$ && gradle jar && popd
&& cp $$GradleWitness$$/build/libs/GradleWitness.jar libs/gradle-witness.jar
rm:
- libs/*.jar
scandelete: []
scanignore: []
srclibs:
- GradleWitness@10f1269c0aafdc1d478efc005ed48f3a47d44278
subdir: null
submodules: true
target: null
update: []
vercode: '6'
version: 0.3.3
- antcommands: []
build: ''
buildjni: []
commit: v0.4.2
disable: builds locally, but not on BS
encoding: null
extlibs: []
forcevercode: false
forceversion: false
gradle:
- 'yes'
gradleprops: []
init: ''
kivy: false
maven: false
ndk: null
novcheck: false
oldsdkloc: false
output: null
patch: []
preassemble: []
prebuild: touch signing.properties && ./build-witness.sh && rm -rf libs/gradle-witness/build
&& echo "org.gradle.jvmargs=-Xms512m -Xmx512m -XX:MaxPermSize=512m" >> gradle.properties
rm:
- libs/*.jar
scandelete: []
scanignore: []
srclibs: []
subdir: null
submodules: true
target: null
update: []
vercode: '9'
version: 0.4.2
- antcommands: []
build: ''
buildjni: []
commit: v0.5.1
disable: false
encoding: null
extlibs: []
forcevercode: false
forceversion: false
gradle:
- 'yes'
gradleprops: []
init: ''
kivy: false
maven: false
ndk: null
novcheck: false
oldsdkloc: false
output: null
patch: []
preassemble: []
prebuild: touch signing.properties && ./build-witness.sh && rm -rf libs/gradle-witness/build
&& echo "org.gradle.jvmargs=-Xms512m -Xmx512m -XX:MaxPermSize=512m" >> gradle.properties
rm:
- libs/*.jar
scandelete: []
scanignore: []
srclibs: []
subdir: null
submodules: true
target: null
update: []
vercode: '11'
version: 0.5.1
- antcommands: []
build: ''
buildjni: []
commit: v0.5.2
disable: broken in upstream
encoding: null
extlibs: []
forcevercode: false
forceversion: false
gradle:
- 'yes'
gradleprops: []
init: ''
kivy: false
maven: false
ndk: null
novcheck: false
oldsdkloc: false
output: null
patch: []
preassemble: []
prebuild: touch signing.properties && ./scripts/build-witness.sh && rm -rf libs/gradle-witness/build
rm:
- libs/*.jar
scandelete: []
scanignore: []
srclibs: []
subdir: null
submodules: true
target: null
update: []
vercode: '12'
version: 0.5.2
- antcommands: []
build: ''
buildjni: []
commit: v0.5.3
disable: false
encoding: null
extlibs: []
forcevercode: false
forceversion: false
gradle:
- 'yes'
gradleprops: []
init: ''
kivy: false
maven: false
ndk: null
novcheck: false
oldsdkloc: false
output: null
patch: []
preassemble: []
prebuild: touch signing.properties && ./scripts/build-witness.sh && rm -rf libs/gradle-witness/build
rm:
- libs/*.jar
scandelete: []
scanignore: []
srclibs: []
subdir: null
submodules: true
target: null
update: []
vercode: '100'
version: 0.5.3
- antcommands: []
build: ''
buildjni: []
commit: v0.5.4
disable: false
encoding: null
extlibs: []
forcevercode: false
forceversion: false
gradle:
- 'yes'
gradleprops: []
init: ''
kivy: false
maven: false
ndk: null
novcheck: false
oldsdkloc: false
output: null
patch: []
preassemble: []
prebuild: touch signing.properties && ./scripts/build-witness.sh && rm -rf libs/gradle-witness/build
rm:
- libs/*.jar
scandelete: []
scanignore: []
srclibs: []
subdir: null
submodules: true
target: null
update: []
vercode: '101'
version: 0.5.4
- antcommands: []
build: ''
buildjni: []
commit: v0.6.0
disable: false
encoding: null
extlibs: []
forcevercode: false
forceversion: false
gradle:
- 'yes'
gradleprops: []
init: ''
kivy: false
maven: false
ndk: null
novcheck: false
oldsdkloc: false
output: null
patch: []
preassemble: []
prebuild: touch signing.properties && ./scripts/build-witness.sh && rm -rf libs/gradle-witness/build
rm:
- libs/*.jar
scandelete: []
scanignore: []
srclibs: []
subdir: null
submodules: true
target: null
update: []
vercode: '102'
version: 0.6.0
comments: {}
id: org.smssecure.smssecure
lastupdated: null
metadatapath: metadata/org.smssecure.smssecure.txt

File diff suppressed because it is too large Load Diff

Binary file not shown.

View File

@ -1,696 +0,0 @@
(dp0
S'Update Check Data'
p1
NsS'Bitcoin'
p2
NsS'AntiFeatures'
p3
(lp4
sS'Litecoin'
p5
NsS'comments'
p6
(dp7
sS'Provides'
p8
NsS'Issue Tracker'
p9
S'https://github.com/SMSSecure/SMSSecure/issues'
p10
sS'Donate'
p11
NsS'Archive Policy'
p12
NsS'Description'
p13
S"SMSSecure is an SMS/MMS application that allows you to protect your privacy while communicating with friends.\nUsing SMSSecure, you can send SMS messages and share media or attachments with complete privacy.\n\n* Easy. SMSSecure works like any other SMS application. There's nothing to sign up for and no new service your friends need to join.\n* Reliable. SMSSecure communicates using encrypted SMS messages. No servers or internet connection required.\n* Private. SMSSecure uses the TextSecure encryption protocol to provide privacy for every message, every time.\n* Safe. All messages are encrypted locally, so if your phone is lost or stolen, your messages are protected.\n* Open Source. SMSSecure is Free and Open Source, enabling anyone to verify its security by auditing the code."
p14
sS'Requires Root'
p15
I00
sS'lastupdated'
p16
NsS'id'
p17
S'org.smssecure.smssecure'
p18
sS'Repo'
p19
S'https://github.com/SMSSecure/SMSSecure'
p20
sS'No Source Since'
p21
S''
p22
sS'Author Name'
p23
NsS'Repo Type'
p24
S'git'
p25
sS'Auto Name'
p26
S'SMSSecure'
p27
sS'Categories'
p28
(lp29
S'Phone & SMS'
p30
asS'Source Code'
p31
S'https://github.com/SMSSecure/SMSSecure'
p32
sS'added'
p33
NsS'Update Check Ignore'
p34
NsS'Name'
p35
NsS'License'
p36
S'GPLv3'
p37
sS'Changelog'
p38
g22
sS'Update Check Mode'
p39
S'Tags'
p40
sS'Summary'
p41
S'Send encrypted text messages (SMS)'
p42
sS'Current Version'
p43
S'0.6.0'
p44
sS'Author Email'
p45
NsS'Maintainer Notes'
p46
g22
sS'Current Version Code'
p47
S'102'
p48
sS'Binaries'
p49
NsS'builds'
p50
(lp51
(dp52
S'submodules'
p53
I00
sS'vercode'
p54
S'5'
p55
sS'forceversion'
p56
I00
sS'oldsdkloc'
p57
I00
sS'gradleprops'
p58
(lp59
sS'kivy'
p60
I00
sS'patch'
p61
(lp62
sS'scanignore'
p63
(lp64
sS'srclibs'
p65
(lp66
S'GradleWitness@10f1269c0aafdc1d478efc005ed48f3a47d44278'
p67
aS'PreferenceFragment@717a45433b927d2f0dfc5328f79e77c9682c37bc'
p68
aS'ShortcutBadger@3815ce2ec0c66acd7d7c0b4f2479df8fa70fed87'
p69
aS'AospMms@android-5.1.0_r3'
p70
asS'encoding'
p71
NsS'extlibs'
p72
(lp73
sS'init'
p74
g22
sS'version'
p75
S'0.3.3'
p76
sS'build'
p77
g22
sS'rm'
p78
(lp79
S'libs/*'
p80
asS'subdir'
p81
NsS'forcevercode'
p82
I01
sS'preassemble'
p83
(lp84
sS'update'
p85
(lp86
sS'maven'
p87
I00
sS'disable'
p88
S'builds, merge changes into upstream'
p89
sS'output'
p90
NsS'scandelete'
p91
(lp92
sS'buildjni'
p93
(lp94
sS'ndk'
p95
NsS'target'
p96
NsS'antcommands'
p97
(lp98
sS'gradle'
p99
(lp100
S'yes'
p101
asS'prebuild'
p102
S"touch signing.properties && pushd $$GradleWitness$$ && gradle jar && popd && cp $$GradleWitness$$/build/libs/GradleWitness.jar libs/gradle-witness.jar && sed -i -e '20,22d' build.gradle && pushd $$PreferenceFragment$$ && gradle uploadArchives && popd && sed -i -e '/5470f5872514a6226fa1fc6f4e000991f38805691c534cf0bd2778911fc773ad/d' build.gradle && mkdir smil && pushd smil && wget -c http://www.w3.org/TR/smil-boston-dom/java-binding.zip && unzip java-binding.zip && popd && cp -fR smil/java/org src/ && rm -fR smil && sed -i -e '/org.w3c.smil/d' build.gradle && cp -fR $$AospMms$$/src/org src/"
p103
sS'novcheck'
p104
I00
sS'commit'
p105
S'66367479a4f57f347b5cbe8f6f8f632adaae7727'
p106
sa(dp107
g53
I01
sg54
S'6'
p108
sg56
I00
sg57
I00
sg58
(lp109
sg60
I00
sg61
(lp110
sg63
(lp111
sg65
(lp112
S'GradleWitness@10f1269c0aafdc1d478efc005ed48f3a47d44278'
p113
asg71
Nsg72
(lp114
sg74
g22
sg75
S'0.3.3'
p115
sg77
g22
sg78
(lp116
S'libs/*.jar'
p117
asg81
Nsg82
I00
sg83
(lp118
sg85
(lp119
sg87
I00
sg88
S'builds, wait for upstream'
p120
sg90
Nsg91
(lp121
sg93
(lp122
sg95
Nsg96
Nsg97
(lp123
sg99
(lp124
S'yes'
p125
asg102
S'touch signing.properties && pushd $$GradleWitness$$ && gradle jar && popd && cp $$GradleWitness$$/build/libs/GradleWitness.jar libs/gradle-witness.jar'
p126
sg104
I00
sg105
S'9675ce5eecb929dcaddb43b3d9486fdb88b9ae1a'
p127
sa(dp128
g53
I01
sg54
S'9'
p129
sg56
I00
sg57
I00
sg58
(lp130
sg60
I00
sg61
(lp131
sg63
(lp132
sg65
(lp133
sg71
Nsg72
(lp134
sg74
g22
sg75
S'0.4.2'
p135
sg77
g22
sg78
(lp136
S'libs/*.jar'
p137
asg81
Nsg82
I00
sg83
(lp138
sg85
(lp139
sg87
I00
sg88
S'builds locally, but not on BS'
p140
sg90
Nsg91
(lp141
sg93
(lp142
sg95
Nsg96
Nsg97
(lp143
sg99
(lp144
S'yes'
p145
asg102
S'touch signing.properties && ./build-witness.sh && rm -rf libs/gradle-witness/build && echo "org.gradle.jvmargs=-Xms512m -Xmx512m -XX:MaxPermSize=512m" >> gradle.properties'
p146
sg104
I00
sg105
S'v0.4.2'
p147
sa(dp148
g53
I01
sg54
S'11'
p149
sg56
I00
sg57
I00
sg58
(lp150
sg60
I00
sg61
(lp151
sg63
(lp152
sg65
(lp153
sg71
Nsg72
(lp154
sg74
g22
sg75
S'0.5.1'
p155
sg77
g22
sg78
(lp156
S'libs/*.jar'
p157
asg81
Nsg82
I00
sg83
(lp158
sg85
(lp159
sg87
I00
sg88
I00
sg90
Nsg91
(lp160
sg93
(lp161
sg95
Nsg96
Nsg97
(lp162
sg99
(lp163
S'yes'
p164
asg102
S'touch signing.properties && ./build-witness.sh && rm -rf libs/gradle-witness/build && echo "org.gradle.jvmargs=-Xms512m -Xmx512m -XX:MaxPermSize=512m" >> gradle.properties'
p165
sg104
I00
sg105
S'v0.5.1'
p166
sa(dp167
g53
I01
sg54
S'12'
p168
sg56
I00
sg57
I00
sg58
(lp169
sg60
I00
sg61
(lp170
sg63
(lp171
sg65
(lp172
sg71
Nsg72
(lp173
sg74
g22
sg75
S'0.5.2'
p174
sg77
g22
sg78
(lp175
S'libs/*.jar'
p176
asg81
Nsg82
I00
sg83
(lp177
sg85
(lp178
sg87
I00
sg88
S'broken in upstream'
p179
sg90
Nsg91
(lp180
sg93
(lp181
sg95
Nsg96
Nsg97
(lp182
sg99
(lp183
S'yes'
p184
asg102
S'touch signing.properties && ./scripts/build-witness.sh && rm -rf libs/gradle-witness/build'
p185
sg104
I00
sg105
S'v0.5.2'
p186
sa(dp187
g53
I01
sg54
S'100'
p188
sg56
I00
sg57
I00
sg58
(lp189
sg60
I00
sg61
(lp190
sg63
(lp191
sg65
(lp192
sg71
Nsg72
(lp193
sg74
g22
sg75
S'0.5.3'
p194
sg77
g22
sg78
(lp195
S'libs/*.jar'
p196
asg81
Nsg82
I00
sg83
(lp197
sg85
(lp198
sg87
I00
sg88
I00
sg90
Nsg91
(lp199
sg93
(lp200
sg95
Nsg96
Nsg97
(lp201
sg99
(lp202
S'yes'
p203
asg102
S'touch signing.properties && ./scripts/build-witness.sh && rm -rf libs/gradle-witness/build'
p204
sg104
I00
sg105
S'v0.5.3'
p205
sa(dp206
g53
I01
sg54
S'101'
p207
sg56
I00
sg57
I00
sg58
(lp208
sg60
I00
sg61
(lp209
sg63
(lp210
sg65
(lp211
sg71
Nsg72
(lp212
sg74
g22
sg75
S'0.5.4'
p213
sg77
g22
sg78
(lp214
S'libs/*.jar'
p215
asg81
Nsg82
I00
sg83
(lp216
sg85
(lp217
sg87
I00
sg88
I00
sg90
Nsg91
(lp218
sg93
(lp219
sg95
Nsg96
Nsg97
(lp220
sg99
(lp221
S'yes'
p222
asg102
S'touch signing.properties && ./scripts/build-witness.sh && rm -rf libs/gradle-witness/build'
p223
sg104
I00
sg105
S'v0.5.4'
p224
sa(dp225
g53
I01
sg54
S'102'
p226
sg56
I00
sg57
I00
sg58
(lp227
sg60
I00
sg61
(lp228
sg63
(lp229
sg65
(lp230
sg71
Nsg72
(lp231
sg74
g22
sg75
S'0.6.0'
p232
sg77
g22
sg78
(lp233
S'libs/*.jar'
p234
asg81
Nsg82
I00
sg83
(lp235
sg85
(lp236
sg87
I00
sg88
I00
sg90
Nsg91
(lp237
sg93
(lp238
sg95
Nsg96
Nsg97
(lp239
sg99
(lp240
S'yes'
p241
asg102
S'touch signing.properties && ./scripts/build-witness.sh && rm -rf libs/gradle-witness/build'
p242
sg104
I00
sg105
S'v0.6.0'
p243
sasS'FlattrID'
p244
NsS'metadatapath'
p245
S'metadata/org.smssecure.smssecure.txt'
p246
sS'Disabled'
p247
NsS'Web Site'
p248
S'http://www.smssecure.org'
p249
sS'Update Check Name'
p250
NsS'Vercode Operation'
p251
NsS'Auto Update Mode'
p252
S'Version v%v'
p253
s.