Daniel Martí
f267a1d7c9
Merge branch 'py3' into 'master'
...
Python 3
I tried to keep commits separate, so if anything causes trouble, it can be reverted or changed easily.
* pre-commit hooks pass
* all tests pass
* My use of `build`, `checkupdates`, `lint`, `import`, `publish` and `update` work as usual
* 2to3 does not report anything useful anymore (only useless parentheses and list() encapsulation of iterators)
* rewritemeta works exactly as usual
CC @eighthave
See merge request !88
2016-03-11 23:51:56 +00:00
Daniel Martí
eb22714818
Merge branch 'checkupdates-speedup' into 'master'
...
checkupdates: sort tags by date in one go
This greatly speeds up checkupdates when UCM:Tags is used on git
repositories, especially on ones with lots of tags. The old method ran a
command per tag. The new method runs a single command and doesn't
require any sorting.
Test runs show that `fdroid checkupdates org.adaway` is down from ~13s
to ~10s on my laptop.
See merge request !109
2016-03-11 20:50:59 +00:00
Daniel Martí
375af1b844
README: It's virtualenv that we want
...
virtualenv is the Debian package that holds the executables.
2016-03-11 13:27:01 +00:00
Daniel Martí
f2681dcb36
CI: Use pip install to grab all deps
2016-03-11 13:27:01 +00:00
Daniel Martí
a023a235a2
metadata: always open metadata files in UTF-8
...
For some reason, Python uses whatever encoding the system is using via a
locale. Since CI uses an ascii locale, stuff breaks. I can't find a way
to make all of fdroidserver ignore the locale and just use UTF-8, so for
now force it where it's bothering CI.
2016-03-11 13:27:01 +00:00
Daniel Martí
23a950bd00
Fix issue related to creating fdroidvcs file
2016-03-11 13:27:01 +00:00
Daniel Martí
b786c6de20
gitignore: ignore all test-generated tmp dirs
2016-03-11 13:27:01 +00:00
Daniel Martí
84568c15a6
Fix detection of pyflakes3 found in Debian
2016-03-11 13:27:01 +00:00
Daniel Martí
d98b4d1b83
metadata: slightly speed up post_metadata_parse
...
Iterating over all the fields and checking which are modified is slower
than just iterating over the modified ones.
2016-03-11 13:27:01 +00:00
Daniel Martí
7f6276889e
metadata: Sorting builds twice is not necessary
2016-03-11 13:27:00 +00:00
Daniel Martí
d4f806d757
Undo utf-8 text wrap workaround
...
This was added to fix unicode support in Python2. No longer needed in
Python3.
2016-03-11 13:27:00 +00:00
Daniel Martí
3371aa2116
Switch README and docs to indicate python 3
2016-03-11 13:27:00 +00:00
Daniel Martí
74197a9a2d
pep8: start obeying E226
...
We nearly did already anyway.
2016-03-11 13:27:00 +00:00
Daniel Martí
72288345e3
pep8: Don't ignore rules we already obey
2016-03-11 13:27:00 +00:00
Daniel Martí
031bb39961
import: switch to python3 urllib
2016-03-11 13:27:00 +00:00
Daniel Martí
a51d849a5b
update test: replace decode('hex') with unhexlify
2016-03-11 13:27:00 +00:00
Daniel Martí
5c40e3ab99
metadata test: load pickle in bytes, not str
2016-03-11 13:27:00 +00:00
Daniel Martí
4e28fa78fc
Fix python headers in some source files
...
These were missing the python2 header, so they went under my radar when
doing the switch go python3.
2016-03-11 13:27:00 +00:00
Daniel Martí
24ad0418e3
tests: switch to python3
2016-03-11 13:27:00 +00:00
Daniel Martí
a1703f1204
update: fix encoding issues with the xml index
2016-03-11 13:27:00 +00:00
Daniel Martí
24266d48e1
update: get output bytes, not str, from keytool
2016-03-11 13:27:00 +00:00
Daniel Martí
4cb5ff0247
common: Introduce FDroidPopenBytes
...
* We can now get the output bytes directly if desired
* FDroidPopen remains with str output
* Ouptut is now buffered efficiently with a BytesIO instead of
concatenating strings
2016-03-11 13:27:00 +00:00
Daniel Martí
63f8718cf5
Replace iterkeys() with keys()
2016-03-10 16:43:37 +00:00
Daniel Martí
8b3c27cb47
update: replace encode('hex') with hexlify
2016-03-10 16:43:37 +00:00
Daniel Martí
b31e20ee8b
publish: fix hashing of strings
2016-03-10 16:43:37 +00:00
Daniel Martí
a78341d8e5
init: fix writing into file
2016-03-10 16:43:37 +00:00
Daniel Martí
da258dad57
Replace md5 with hashlib.md5
2016-03-10 16:43:37 +00:00
Daniel Martí
dd8ad7a4fd
common: fix str fetching from manifest xml
2016-03-10 16:43:37 +00:00
Daniel Martí
d39bf37ce8
Port urllib and HTMLParser imports to python3
2016-03-10 16:43:37 +00:00
Daniel Martí
fc21dbc667
Replace remaining file() usage
2016-03-10 16:43:37 +00:00
Daniel Martí
5026d4e08b
FDroidPopen: return str again
...
In the future we might want to instead return bytes, but for now the
easiest for the port to python3 is to continue to return str.
2016-03-10 16:43:37 +00:00
Daniel Martí
b73cc8e0b3
Replace itervalues() with values()
2016-03-10 16:43:37 +00:00
Daniel Martí
ce18d1cc85
Port to python3's configparser
2016-03-10 16:43:37 +00:00
Daniel Martí
2493e705f2
lint: remove sets usage
2016-03-10 16:43:37 +00:00
Daniel Martí
ec301b8566
common: update base64 encoding of bytes
2016-03-10 16:43:37 +00:00
Daniel Martí
920ae4692f
Port all imports to python3
2016-03-10 16:43:37 +00:00
Daniel Martí
11b8b1ca4f
update: replace ord() with bytearray
2016-03-10 16:43:37 +00:00
Daniel Martí
ee9a296b64
Make pre-commit hook pass after python3 switch
2016-03-10 16:43:37 +00:00
Daniel Martí
49ac25270e
Run 2to3 on makebuildserver
...
Mostly just print conversion.
2016-03-10 16:43:37 +00:00
Daniel Martí
d42c612c9a
pre-commit: port to python3
2016-03-10 16:43:37 +00:00
Daniel Martí
099b45fcca
Remove import workarounds for Python2
2016-03-10 16:43:37 +00:00
Daniel Martí
f1f5836a66
Remove code that worked around python2 unicode
2016-03-10 16:43:37 +00:00
Daniel Martí
e829b0f9e7
Get readmeta and rewritemeta running under python3
2016-03-10 16:43:37 +00:00
Daniel Martí
832b1224b9
Replace basestring with str
2016-03-10 16:43:37 +00:00
Daniel Martí
75419c1f04
Replace iteritems() with items()
2016-03-10 16:43:37 +00:00
Daniel Martí
6819c109fe
Replace execfile with open+compile+exec
2016-03-10 16:43:37 +00:00
Daniel Martí
ca5ee87b16
Switch to io.StringIO
2016-03-10 16:43:37 +00:00
Daniel Martí
e3591cb7b8
Fix imports in Python 3
...
Since common and metadata import each other, we must import via
"fdroidserver.*".
2016-03-10 16:43:37 +00:00
Daniel Martí
99edd64372
Switch all headers to python3
2016-03-10 16:43:36 +00:00
Hans-Christoph Steiner
6f254ff7b6
makebuildserver: use VB software virt if hardware is not available
...
This checks the local CPU settings to see if it has the right virtualizing
CPU instructions, and only uses VirtualBox hardware virtualization on
setups where it is available. VMs instances usually do not provide these
instructions. Where the CPU features are not available, it will use VB's
software virtualization.
2016-03-10 12:28:31 +01:00