Commit Graph
52 Commits
Author SHA1 Message Date
Hans-Christoph Steiner 7039d16046 always parse versions as strings, not bytes
Fixes a couple errors like:
  File "./makebuildserver", line 30, in vagrant
    out += line
  TypeError: Can't convert 'bytes' object to str implicitly

If universal_newlines=False, the default, then Popen will return bytes if
the newlines in the data do not match the system's newlines.  Setting it to
true enables auto-conversion, and then guarantees that the data is always
str.

"If universal_newlines is True, the file objects stdin, stdout and stderr
are opened as text streams in universal newlines mode, as described above
in Frequently Used Arguments, otherwise they are opened as binary streams."
https://docs.python.org/3/library/subprocess.html#subprocess.Popen
2016-03-14 12:49:38 +01:00
Daniel Martí 99edd64372 Switch all headers to python3 2016-03-10 16:43:36 +00:00
Daniel Martí 0be343273d Apparently Python cannot handle Unicode
I really hope I can revert this in the near future. Having to mutilate
my name just so that pip will work is a terrible workaround.

For better or worse, this only affects scripts defined in setup.py.
2016-01-14 23:15:05 +01:00
Daniel Martí 309660423c fdroid: python2 doesn't like print()
It just prints "()", which is stupid.
2016-01-09 13:24:13 +01:00
NeroBurner 5ca182a20d except named exception handling 2015-12-29 20:09:27 +01:00
NeroBurner af38f151a2 Change print-function to have brackets 2015-12-29 20:06:46 +01:00
Daniel Martí 73f9c1d1c2 Always use the same logging format
This helps differentiate errors, warnings and regular messages.
2015-10-05 21:43:08 +02:00
Daniel Martí 9c3fd97530 fdroid: don't treat MetaDataException as unknown
Up until now, if it was thrown, fdroid would crash with a full stacktrace as
if the program had stopped unexpectedly. Now it just prints the metadata
error, as intended.
2015-09-26 16:53:08 -07:00
nero-tux d23ecf1b35 replace deprecated optparse with argparse
following guidelines from:
https://docs.python.org/2/library/argparse.html#upgrading-optparse-code
except, still using option = parse.parse_args() instead of args = ...

- using the following script in folder fdroidserver:
	for i in *.py; do
		sed -i -e 's/optparse/argparse/' \
			-e 's/OptionParser/ArgumentParser/' \
			-e 's/OptionError/ArgumentError/' \
			-e 's/add_option/add_argument/' \
			-e 's/(options, args) = parser/options = parser/' \
			-e 's/options, args = parser/options = parser/' \
			-e 's/Usage: %prog/%(prog)s/' $i;
	done
- use ArgumentParser argument to replace (option, args) = parser.parse()
  call
- use parser.error(msg) instead of raise ArgumentException as suggested
  in https://docs.python.org/2/library/argparse.html#exiting-methods
- in fdroid catch ArgumentError instead of OptionError
2015-09-06 10:34:50 +02:00
Hans-Christoph Steiner 3fc2a99d71 fdroid --version for installed releases and running from git
This will report the version embedded in the module if it is installed, and
will report `git describe` if being run from git.  If someone installs from
git using pip, this will probably report the version in setup.py, which
will be wrong.  But that is not a documented install method, and I haven't
heard of anyone using it.  The recommended way is to run straight from git.
2015-09-01 19:45:00 +02:00
Ciaran Gultnieks ba177472da Add fdroid signindex to sign previously unsigned indexes 2015-01-11 08:20:14 +00:00
Daniel Martí 14f654fabc Apply some autopep8-python2 suggestions 2014-12-31 16:44:06 +01:00
Ciaran Gultnieks 102cbd20b3 Don't print tracebacks for option errors 2014-08-25 16:48:31 +01:00
Daniel Martí 4814238baf Use logging with proper format when warning about improper verbose/quiet usage 2014-07-05 14:17:02 +02:00
Daniel Martí 5bf5ba04a6 Using $(levelname) in --quiet makes no sense 2014-07-05 14:15:31 +02:00
Daniel Martí ec8291ba77 No need to print a trace when the user did a ^C 2014-07-03 18:26:49 +02:00
Daniel Martí 73142c740b Make use of FDroidException in the main fdroid script
This should improve the output shown when exceptions are found
2014-07-03 14:01:22 +02:00
Ciaran Gultnieks e29da6b023 Restore friendly error messages
Use --verbose if you really want a full traceback with your 'you made a
typo in an package ID' messages.

It would be better to do this based on exception types (i.e. our own
exceptions - MetadataException, BuildException, VCSException) would not
print a traceback, but unexpected exceptions would. But the types are
not available at the 'fdroid' level currently.
2014-05-20 22:14:19 +01:00
Ciaran Gultnieks ffdebd9516 Add 'fdroid gpgsign' command
Creates detached gpg signatures for any apks that don't have them
yet. Relevant configuration fields need to be set first.
2014-05-12 21:57:09 +01:00
Hans-Christoph Steiner 37d6d87ff7 fix PEP8 "E226 missing whitespace around arithmetic operator" 2014-05-06 14:36:33 -04:00
Hans-Christoph Steiner 0e00b36db5 fix PEP8 E124/E125/126/127/128 indentation issues
* E124 closing bracket does not match visual indentation
* E125 continuation line does not distinguish itself from next logical line
* E126 continuation line over-indented for hanging indent
* E127 continuation line over-indented for visual indent
* E128 continuation line under-indented for visual indent
2014-05-06 14:36:33 -04:00
Hans-Christoph Steiner aa5f317c26 fix PEP8 "W391 blank line at end of file" 2014-05-06 11:45:03 -04:00
Hans-Christoph Steiner 3f4f7a544b fix PEP8 "E302 expected 2 blank lines, found 1" 2014-05-06 11:45:03 -04:00
Hans-Christoph Steiner 998011d535 fix PEP8 "E231 missing whitespace after ','" 2014-05-06 11:45:02 -04:00
Ciaran Gultnieks 37dda9414c Add --quiet option, restricting output to warnings/errors 2014-02-22 09:46:24 +00:00
Daniel Martí 9d8c576cb1 Don't use logging before it's set up 2014-02-19 01:14:40 +01:00
Daniel Martí 687057a473 Implement proper fdroid --help 2014-02-19 00:38:09 +01:00
Daniel Martí d949b9ffbb Don't show INFO: when not doing verbose runs 2014-02-09 12:39:43 +01:00
Daniel Martí 9a4fe8c7cd Merge branch 'master' into logging 2014-02-02 19:45:17 +01:00
Daniel Martí 96c5afa03f New command: readmeta, like lint but without warnings 2014-02-02 15:11:26 +01:00
Daniel Martí 2f93ba9bd6 Merge branch 'master' into logging
Conflicts:
	fdroidserver/common.py
2014-01-28 14:14:59 +01:00
Daniel Martí 3687147997 Update my own copyright notices 2014-01-28 14:07:19 +01:00
Daniel Martí caa3d4eace Start doing logging properly 2014-01-27 21:48:22 +01:00
Daniel Martí a40533a521 New 'lint' subcommand in testing phase 2014-01-02 19:34:25 +01:00
Daniel Martí e7a21980f5 Add copyright notices to bash scripts 2013-12-30 17:15:27 +01:00
Daniel Martí 93d8d23cee Add 'fdroid install', more rewriting 2013-12-19 17:05:40 +01:00
Daniel Martí af0ac4a4c2 os imported but not used in fdroid 2013-11-05 19:43:17 +01:00
Daniel Martí 429221f282 Don't check for dirs and files in the main script 2013-11-04 18:41:20 +01:00
Hans-Christoph Steiner 9344bca245 implement 'fdroid init' to set up a barebones repo from scratch
This tries to auto-detect the SDK and NDK.  If it can't find the SDK, it
prompts the user to type in the path.  It also tries to find the most
recent version of the build-tools, and should also support the old
unversioned layout.
2013-11-04 12:22:58 -05:00
Daniel Martí c3be06fb1d Start rewriting options and config as common.py globals 2013-11-01 13:55:38 +01:00
Daniel Martí 2c804ef88a Switch all shebangs to 'env python2' 2013-10-31 13:27:24 +01:00
Daniel Martí 00995893f5 If config.py is not in the CWD, error before doing anything 2013-10-30 22:13:15 +01:00
Ciaran Gultnieks bd9a0716e9 Add verifier to available commands 2013-08-29 14:14:09 +01:00
Daniel Martí 292fb5cc59 Check that metadata and tmp exist (fixes #266) 2013-07-06 15:27:06 +02:00
Daniel Martí 90c953871f -h and --help are not invalid commands 2013-06-06 15:27:53 +02:00
Daniel Martí 5b6647af30 Don't import fdroid twice, allow -h without config 2013-05-30 16:36:39 +02:00
Ciaran Gultnieks 35668ebd87 --help is canonical 2012-03-12 20:31:58 +00:00
Tias Guns 409fd273b6 fdroid.py: a pointer to the -h option of commands 2012-03-11 23:17:45 +00:00
Tias Guns ec396c3cc5 fdroid.py: list commands when not giving a right command (I used ./fdroid -h and expected actual info, even if -h is not valid 2012-03-11 23:17:45 +00:00
Ciaran Gultnieks 3680beca30 Moved the upload scripts to a proper command 2012-03-11 13:17:37 +00:00