Hans-Christoph Steiner
18f3acc32e
split out options from read_config()
...
There is no longer any reason for these to be intertwined.
This deliberately avoids touching some files as much as possible because
they are super tangled and due to be replaced. Those files are:
* fdroidserver/build.py
* fdroidserver/update.py
# Conflicts:
# tests/testcommon.py
# Conflicts:
# fdroidserver/btlog.py
# fdroidserver/import_subcommand.py
2024-05-08 16:26:46 +02:00
Hans-Christoph Steiner
6f07538cdc
mirror: apparently the 'icons' dir does not always exist
...
https://apt.izzysoft.de/fdroid/archive/com.futsch1.medtimer_28.apk :
2024-04-21 18:55:20 ERROR 404: Not Found.
https://apt.izzysoft.de/fdroid/archive/com.hardbacknutter.nevertoomanybooks_75.apk :
2024-04-21 18:55:20 ERROR 404: Not Found.
https://apt.izzysoft.de/fdroid/archive/com.jovial.jrpn15_20.apk :
2024-04-21 18:55:20 ERROR 404: Not Found.
https://apt.izzysoft.de/fdroid/archive/com.jovial.jrpn2_20.apk :
2024-04-21 18:55:20 ERROR 404: Not Found.
https://apt.izzysoft.de/fdroid/archive/com.logger.app_8.apk :
2024-04-21 18:55:21 ERROR 404: Not Found.
https://apt.izzysoft.de/fdroid/archive/com.lorenzovainigli.foodexpirationdates.foss_22.apk :
2024-04-21 18:55:21 ERROR 404: Not Found.
https://apt.izzysoft.de/fdroid/archive/com.openathena_36.apk :
2024-04-21 18:55:21 ERROR 404: Not Found.
https://apt.izzysoft.de/fdroid/archive/com.oppzippy.openscq30_21.apk :
2024-04-21 18:55:21 ERROR 404: Not Found.
https://apt.izzysoft.de/fdroid/archive/com.sanmer.mrepo_713.apk :
2024-04-21 18:55:21 ERROR 404: Not Found.
https://apt.izzysoft.de/fdroid/archive/com.starry.myne_325.apk :
2024-04-21 18:55:21 ERROR 404: Not Found.
https://apt.izzysoft.de/fdroid/archive/dev.imranr.obtainium_22602.apk :
2024-04-21 18:55:22 ERROR 404: Not Found.
https://apt.izzysoft.de/fdroid/archive/dev.sanmer.pi_137.apk :
2024-04-21 18:55:22 ERROR 404: Not Found.
https://apt.izzysoft.de/fdroid/archive/org.breezyweather_50108.apk :
2024-04-21 18:55:22 ERROR 404: Not Found.
2024-04-21 18:55:22,448 ERROR: no "icon" in org.breezyweather
2024-04-21 18:55:22,449 ERROR: no "icon" in com.lorenzovainigli.foodexpirationdates.foss
2024-04-21 18:55:22,449 ERROR: no "icon" in com.jovial.jrpn15
2024-04-21 18:55:22,450 ERROR: no "icon" in com.jovial.jrpn2
2024-04-21 18:55:22,450 ERROR: no "icon" in com.logger.app
2024-04-21 18:55:22,450 ERROR: no "icon" in com.futsch1.medtimer
2024-04-21 18:55:22,451 ERROR: no "icon" in com.sanmer.mrepo
2024-04-21 18:55:22,451 ERROR: no "icon" in com.starry.myne
2024-04-21 18:55:22,451 ERROR: no "icon" in com.hardbacknutter.nevertoomanybooks
2024-04-21 18:55:22,452 ERROR: no "icon" in dev.imranr.obtainium
2024-04-21 18:55:22,452 ERROR: no "icon" in com.openathena
2024-04-21 18:55:22,453 ERROR: no "icon" in com.oppzippy.openscq30
2024-04-21 18:55:22,453 ERROR: no "icon" in dev.sanmer.pi
2024-04-21 18:55:22,454 CRITICAL: Unknown exception found!
Traceback (most recent call last):
File "/home/fdroid/code/fdroid/fdroidserver/fdroid", line 22, in <module>
fdroidserver.__main__.main()
File "/home/fdroid/code/fdroid/fdroidserver/fdroidserver/__main__.py", line 230, in main
raise e
File "/home/fdroid/code/fdroid/fdroidserver/fdroidserver/__main__.py", line 211, in main
mod.main()
File "/home/fdroid/code/fdroid/fdroidserver/fdroidserver/mirror.py", line 269, in main
_run_wget(os.path.join(basedir, section, icondir), urls[icondir])
KeyError: 'icons'
2024-05-02 18:29:42 +02:00
Hans-Christoph Steiner
76d9eddb3a
method to globally set logging to output nicely to the console
...
This will make all of the direct calls to logging level functions output
in a format that looks appropriate for the console. Previously, the default
output looked like it should be written to a log file.
2024-03-06 12:53:20 +00:00
Hans-Christoph Steiner
c54f9ea4ca
mirror: make _run_wget() return to the dir it started in
...
This kind of function should not change the working environment, especially
since so much of the fdroidserver code assumes the current working directory
is the root of an fdroid repo.
It is used in fdroidserver/mirror.py with absolute paths always, so it
shouldn't change any existing use. I found this issue by using it in a
plugin.
2021-12-07 10:24:27 +01:00
Hans-Christoph Steiner
307cf8958c
run black to reformat code that does not have WIP merge requests
2021-06-28 18:57:56 +02:00
Benedikt Brückmann
1e943a22df
rewrite docstrings to match numpy style guide
2021-06-25 06:28:47 +02:00
Hans-Christoph Steiner
77db3ea709
mirror: if index is verified, save a copy in the local mirror
2020-12-03 21:48:37 +01:00
Hans-Christoph Steiner
fede58a710
use ArgumentParser's own "usage" line in help output
2020-10-01 23:01:55 +02:00
Hans-Christoph Steiner
5c82956561
mirror: make .asc downloading opt-in with --pgp-signatures
...
Lots of third party repos do not use .asc PGP signatures at all, so having
this optional prevents tons of 404 Not Found errors.
2020-01-31 15:38:02 +01:00
Hans-Christoph Steiner
df7d7adf78
mirror: optionally fetch build logs and src tarballs
2020-01-14 11:36:11 +01:00
Hans-Christoph Steiner
bf09109c49
mirror: fix syntax error on Python 3.4
...
It seems that Python 3.5 is more flexible with * expansion, Python 3.4 says:
SyntaxError: only named arguments may follow *expression
https://travis-ci.org/f-droid/fdroidserver/jobs/309194065
2017-11-30 14:03:04 +01:00
Hans-Christoph Steiner
09a6b37ac0
mirror: fix downloading of graphics
...
It was downloading them all directly into the 'repo' folder.
2017-11-29 17:12:38 +01:00
Hans-Christoph Steiner
79a4c469b3
mirror: forward --verbose flag to wget to control output
2017-11-29 16:54:52 +01:00
Hans-Christoph Steiner
94e67a7623
mirror: verify index signature if fingerprint included in URL
...
This keeps the old handling without signature checks so that it works
without requiring Java/apksigner or the whole config.py parsing stuff.
2017-11-29 16:54:27 +01:00
Hans-Christoph Steiner
d5481927f2
mirror: show help if no URL is provided
2017-11-29 16:31:48 +01:00
Hans-Christoph Steiner
2162703a1a
mirror: new command to make a mirror of a repo
...
This creates a mirror of a full repo by downloading all files listed in
the index, and the ones that are generated based on that data, e.g. icons
of different resolutions. This could be useful for setting up mirrors of
small repositories, instead of having to learn and manage rsync or
something else for mirroring. This just needs a working repo.
It uses wget in a batch mode with the aim as being as efficient as
possible. wget mirroring over HTTP is always going to be less efficient
than rsync, but it shouldn't be so bad since it uses --continue to check
whether it has already downloaded a file. I suppose it could be extended
to use ETags for a little more efficiency.
I developed this creating a test mirror of f-droid.org, which is now a bit
ironic, since I added a specific check to prevent people from using this
on f-droid.org.
2017-11-29 12:40:04 +01:00