Commit graph

90 commits

Author SHA1 Message Date
Hans-Christoph Steiner
9cd6b444f8 standardize on .yml as the file extension for YAML
Though the YAML people recommend .yaml for the file extension, in Android
land it seems clear that .yml has won out:

* .travis.yml
* .gitlab-ci.yml
* .circle.yml
* Ansible main.yml
2016-03-23 17:16:28 +01:00
Hans-Christoph Steiner
19189b9b04 import app into fdroid directly from git clone
This adds a new method for `fdroid import` that will generate the fdroidserver
metadata based on a local git repo.  This new mode generates the metadata in
the new .fdroid.yaml format in the git repo itself.  It is intended as a quick
way to get starting building apps using the fdroidserver tools.
2016-03-23 17:16:28 +01:00
Hans-Christoph Steiner
994488ad47 rename metadata.write_metadata() to match metadata.parse_*_metadata()
This changes the function name to include the format of the metadata file,
and also changes the order of the args to match the parse_*_metadata()
functions.
2016-03-23 17:16:28 +01:00
Daniel Martí
031bb39961 import: switch to python3 urllib 2016-03-11 13:27:00 +00:00
Daniel Martí
ce18d1cc85 Port to python3's configparser 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í
99edd64372 Switch all headers to python3 2016-03-10 16:43:36 +00:00
Boris Kraut
f4ce1737d9 import: use .git suffix only for repo-url 2016-03-06 11:20:10 +01:00
Daniel Martí
013315bf10 Open metadata files in only one place
Also get rid of the useless get_default_app_info func.
2015-12-07 20:31:23 +01:00
Daniel Martí
ae5b8ed496 import: fix get_default_app_info usage
Closes #129
2015-12-05 19:20:41 +01:00
Daniel Martí
bf8518ee8f Rework build into a class
This simplifies usage, goes from

    build['flag']
to
    build.flag

Also makes static analyzers able to detect invalid attributes as the set
is now limited in the class definition.

As a bonus, setting of the default field values is now done in the
constructor, not separately and manually.

While at it, unify "build", "thisbuild", "info", "thisinfo", etc into
just "build".
2015-12-02 20:03:11 +01:00
Daniel Martí
ab614ab442 Rework app into a class
This simplifies usage, goes from

	app['Foo']
to
	app.Foo

Also makes static analyzers able to detect invalid attributes as the set
is now limited in the class definition.

As a bonus, setting of the default field values is now done in the
constructor, not separately and manually.
2015-11-28 17:11:05 +01:00
Daniel Martí
de12cfdbe1 Handle duplicate apps in a much cleaner way
Don't log and exit in an inner metadata function. Handle it at a higher
level and do a proper exception. This also avoids unnecessary passing of
apps all around.
2015-11-28 14:04:21 +01:00
Daniel Martí
5e1b07dce3 import: don't crash due to missing id
Fixes #129
2015-11-18 15:33:30 -08:00
Daniel Martí
3ace102bd5 checkupdates: work around multiple package ids
If there are multiple package ids in a build.gradle file and the first
one we don't want, checkupdates would get stuck. Make it ignore any
package id that we don't want so that it can get past that.
2015-10-30 19:03:53 +01:00
Daniel Martí
fa55ec0e87 Be consistent about root_dir/build_dir naming 2015-10-25 11:41:46 +01:00
Daniel Martí
aa3ca80ae6 write_metadata fixes 2015-10-04 18:01:23 +02:00
Daniel Martí
75bde83fb8 import: fix issue tracker links 2015-10-03 16:28:48 -07:00
Daniel Martí
911994fc99 Make write_metadata take a writer
This will let rewritemeta report format issues without writing to disk.
2015-09-24 22:38:33 -07:00
Daniel Martí
2bf04f8054 import: fix import -u from fdroiddata
Have -u take precedence over .git checking to fix import -u being run from
fdroiddata.
2015-09-15 14:06:31 -07:00
Daniel Martí
2c0be49124 import: do set root_dir if running from a repo 2015-09-14 17:40:44 -07:00
Daniel Martí
576da1d048 all: deduplicate -v/-q setup 2015-09-11 23:42:50 -07:00
Hans-Christoph Steiner
48397bfa3c import: append .git to gitlab URLs, git sometimes freaks out otherwise
From my experience, gitlab URLs need to end in .git for git to always be
happy using them.
2015-09-10 11:08:39 +02:00
Hans-Christoph Steiner
c80c1bf017 import: split out URL handling into its own function
This is preparation to add other import methods, like checking if the
command was run in a currently checked out git repo.
2015-09-10 11:08:39 +02: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
6f334558df metadata: rename metafile to metadatapath when it is a path
To keep the code clear, change the code to use separate variables for the
path to the metadata file, and for the file object of the opened metadata.
2015-09-01 11:39:51 +02:00
Hans-Christoph Steiner
141e0e24c7 metadata: rename parse_metadata() to parse_txt_metadata()
This makes the code clear as support for other metadata formats is added.
2015-09-01 11:39:50 +02:00
Daniel Martí
57ba6f0307 import: remove support for gitorious
Same as google code.
2015-08-18 16:28:58 -07:00
Daniel Martí
e8a7a56d2e import: remove google code support
Google code is dead and going read-only. import is just a helper program, and
we don't want to help people add apps from google code anymore. Apps should
move to other hosting sites.
2015-08-18 16:26:27 -07:00
Daniel Martí
beb17ad84a Don't use the commits feed as a changelog link in import
If it's often not a replacement for a proper changelog, do not advise its
usage.
2015-06-03 15:52:46 +02:00
Daniel Martí
4b59f913f1 Merge branch 'changelog' of https://gitlab.com/krt/fdroidserver 2015-06-03 15:52:01 +02:00
Boris Kraut
6353dd1a09 Importer: Fix duplicated urls 2015-03-22 03:24:43 +01:00
Ciaran Gultnieks
95ff6de599 Improve validation of fdroid import page parsing 2015-01-31 12:07:42 +00:00
Boris Kraut
b1ec8cc47a Add "Changelog:" metadata field. 2015-01-11 02:26:41 +01:00
Daniel Martí
7d21417286 Fix 'fdroid import' flavours crasher 2014-09-20 22:35:58 +02:00
Daniel Martí
94c29f9c37 Map apps in memory from appid to appinfo
Instead of storing them in a list and doing linear searches by appinfo['id']
2014-08-16 12:46:02 +02:00
Daniel Martí
3dbf99a7f2 Use shorter and non-redundant 'or' clauses for 'if True else' assignments 2014-07-03 17:35:28 +02:00
Daniel Martí
e8284225c9 Improve some log levels 2014-07-01 20:32:49 +02:00
Daniel Martí
fcface673e Fix crash in 'fdroid import' 2014-06-15 12:30:03 +02:00
Daniel Martí
b63ce63017 Fix small issue in import.py 2014-06-11 22:48:12 +02:00
Daniel Martí
8675d50261 Add support for gitlab.com repos to import 2014-06-01 16:37:33 +02:00
Ciaran Gultnieks
d104f2e1fb Support https://code.google.com in fdroid import 2014-05-15 10:26:35 +01: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
6abb390547 fix PEP8 "E261 at least two spaces before inline comment" 2014-05-06 11:45:04 -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
2f2618e06c fix PEP8 "E401 multiple imports on one line" 2014-05-06 11:45:03 -04:00
Hans-Christoph Steiner
d8bae963a9 fix PEP8 "E703 statement ends with a semicolon" 2014-05-06 11:45:03 -04:00
Hans-Christoph Steiner
7e17fafc14 fix PEP8 "E225 missing whitespace around operator" 2014-05-06 11:45:03 -04:00
Daniel Martí
945d8b126f Properly use logging.warn in some places 2014-03-18 08:22:36 +01:00