diff options
author | Ximin Luo <infinity0@pwned.gg> | 2014-05-05 03:06:52 +0100 |
---|---|---|
committer | Benjamin Drung <bdrung@debian.org> | 2014-05-09 22:57:52 +0200 |
commit | fe9f32bbddda697c0784c0015c49b391e010ef47 (patch) | |
tree | 1121d032a567f864544aba2b1b08b7b5bcacff7c | |
parent | 371dfdaf755804dceea2c27c17ac115ea48c6e51 (diff) |
add amo-changelog, a script for fetching version history from the amo website
-rwxr-xr-x | amo-changelog | 57 | ||||
-rw-r--r-- | debian/copyright | 29 | ||||
-rw-r--r-- | man/amo-changelog.1 | 56 | ||||
-rw-r--r-- | setup.py | 1 |
4 files changed, 132 insertions, 11 deletions
diff --git a/amo-changelog b/amo-changelog new file mode 100755 index 0000000..02b035b --- /dev/null +++ b/amo-changelog @@ -0,0 +1,57 @@ +#!/usr/bin/python + +# Copyright (c) 2014, Jakub Wilk <jwilk@debian.org> +# Copyright (c) 2014, Ximin Luo <infinity0@pwned.gg> +# +# Permission to use, copy, modify, and/or distribute this software for any +# purpose with or without fee is hereby granted, provided that the above +# copyright notice and this permission notice appear in all copies. +# +# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +from __future__ import print_function + +import argparse +import urllib2 +import xml.etree.cElementTree as etree +import sys + +URL_TEMPLATE = "https://addons.mozilla.org/en-US/addon/{ext}/versions/format:rss" + +def main(): + ap = argparse.ArgumentParser( + description="fetch Version History of an addon from the Mozilla Extensions website.") + ap.add_argument("extension", + help="Extension short-name, as used on addons.mozilla.org.") + options = ap.parse_args() + + url = URL_TEMPLATE.format(ext=options.extension) + try: + fp = urllib2.urlopen(url) + except urllib2.HTTPError as e: + print("For extension '%s', error fetching '%s': %s" % (options.extension, url, e), file=sys.stderr) + return 1 + try: + for event, element in etree.iterparse(fp): + if element.tag != "item": + continue + title = element.find("title").text + print(title) + print("=" * len(title)) + descel = element.find("description") + if descel is not None and descel.text: + print(descel.text.rstrip("\n")) + else: + print("[no description]") + print("") + finally: + fp.close() + +if __name__ == "__main__": + sys.exit(main()) diff --git a/debian/copyright b/debian/copyright index 1bf10df..84ce51f 100644 --- a/debian/copyright +++ b/debian/copyright @@ -5,17 +5,6 @@ Source: git://git.debian.org/pkg-mozext/mozilla-devscripts.git Files: * Copyright: 2009-2014, Benjamin Drung <bdrung@debian.org> License: ISC - Permission to use, copy, modify, and/or distribute this software for any - purpose with or without fee is hereby granted, provided that the above - copyright notice and this permission notice appear in all copies. - . - THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR - ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN - ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF - OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. Files: README Copyright: 2007-2009, Sasa Bodiroza <jazzva@gmail.com> @@ -24,6 +13,11 @@ Copyright: 2007-2009, Sasa Bodiroza <jazzva@gmail.com> 2007-2009, Fabien Tassin <fta@sofaraway.org> License: GPL-2+ +Files: amo-changelog man/amo-changelog.1 +Copyright: 2014, Jakub Wilk <jwilk@debian.org> + 2014, Ximin Luo <infinity0@pwned.gg> +License: ISC + Files: xpi-pack xpi-unpack Copyright: 2007-2009, Sasa Bodiroza <jazzva@gmail.com> 2007-2009, Alexander Sack <asac@ubuntu.com> @@ -41,6 +35,19 @@ Files: perl/Debian/Buildsystem/xul_ext.pm perl/Debian/Sequence/xul_ext.pm Copyright: 2010, Mike Hommey <glandium@debian.org> License: GPL-2+ +License: ISC + Permission to use, copy, modify, and/or distribute this software for any + purpose with or without fee is hereby granted, provided that the above + copyright notice and this permission notice appear in all copies. + . + THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + License: GPL-2+ This package is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/man/amo-changelog.1 b/man/amo-changelog.1 new file mode 100644 index 0000000..197ff17 --- /dev/null +++ b/man/amo-changelog.1 @@ -0,0 +1,56 @@ +.\" Copyright (c) 2014 Ximin Luo <infinity0@pwned.gg> +.\" +.\" Permission to use, copy, modify, and/or distribute this software for any +.\" purpose with or without fee is hereby granted, provided that the above +.\" copyright notice and this permission notice appear in all copies. +.\" +.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +.\" +.TH XPI-REPACK "1" "April 2014" "amo-changelog" "mozilla-devscripts suite" +.SH NAME +amo-changelog \- fetch Version History of an addon +.SH SYNOPSIS +.B amo-changelog +[\fIoptions\fP] +\fIextension\fR +.SH DESCRIPTION +.B amo-changelog +fetches the Version History of an addon from the Mozilla Extensions website. +It is meant to offer an easy way to include upstream changelogs in Debian +packages of mozilla extensions - in many cases, this is not contained in the +upstream source code repository, but is available on said website. + +The \fIextension\fR argument is its short name, as used by the website. For +example, the homepage for "Adblock Plus" is +https://addons.mozilla.org/en-US/firefox/addon/adblock-plus/, so the +short name would be "adblock-plus". + +Here is an example for debian/rules: + +# if using debhelper +.br +override_dh_installchangelogs: +.br + dh_installchangelogs debian/changelog.upstream + +\[char46]PHONY: get-orig-changelog +.br +get-orig-changelog: +.br + amo-changelog adblock-plus > debian/changelog.upstream + +Using this approach, one would save the output file (debian/changelog.upstream) +as part of the Debian packaging. When updating the package with a new upstream +release, one would run `debian/rules get-orig-changelog` +.SH OPTIONS +.TP +\fB\-h\fR, \fB\-\-help\fR +Display a brief help message. +.SH AUTHOR +Jakub Wilk <jwilk@debian.org> and Ximin Luo <infinity0@pwned.gg> @@ -24,6 +24,7 @@ SCRIPTS = [ 'xpi-repack', 'xpi-unpack', 'moz-version', + 'amo-changelog', ] if __name__ == '__main__': |