diff --git a/json/languages.json b/json/languages.json deleted file mode 100644 index 3df76b21..00000000 --- a/json/languages.json +++ /dev/null @@ -1,602 +0,0 @@ -{ - "af": { - "English": "Afrikaans", - "native": "Afrikaans" - }, - "ach": { - "English": "Acholi", - "native": "Acholi" - }, - "ak": { - "English": "Akan", - "native": "Akan" - }, - "am-et": { - "English": "Amharic", - "native": "\u12a0\u121b\u122d\u129b" - }, - "an": { - "English": "Aragonese", - "native": "aragon\u00e9s" - }, - "ar": { - "English": "Arabic", - "native": "\u0639\u0631\u0628\u064a" - }, - "as": { - "English": "Assamese", - "native": "\u0985\u09b8\u09ae\u09c0\u09af\u09bc\u09be" - }, - "ast": { - "English": "Asturian", - "native": "Asturianu" - }, - "az": { - "English": "Azerbaijani", - "native": "Az\u0259rbaycanca" - }, - "be": { - "English": "Belarusian", - "native": "\u0411\u0435\u043b\u0430\u0440\u0443\u0441\u043a\u0430\u044f" - }, - "bg": { - "English": "Bulgarian", - "native": "\u0411\u044a\u043b\u0433\u0430\u0440\u0441\u043a\u0438" - }, - "bm": { - "English": "Bambara", - "native": "Bamanankan" - }, - "bn-BD": { - "English": "Bengali (Bangladesh)", - "native": "\u09ac\u09be\u0982\u09b2\u09be (\u09ac\u09be\u0982\u09b2\u09be\u09a6\u09c7\u09b6)" - }, - "bn-IN": { - "English": "Bengali (India)", - "native": "\u09ac\u09be\u0982\u09b2\u09be (\u09ad\u09be\u09b0\u09a4)" - }, - "br": { - "English": "Breton", - "native": "Brezhoneg" - }, - "brx": { - "English": "Bodo", - "native": "\u092c\u0930'" - }, - "bs": { - "English": "Bosnian", - "native": "Bosanski" - }, - "ca": { - "English": "Catalan", - "native": "Catal\u00e0" - }, - "ca-valencia": { - "English": "Catalan (Valencian)", - "native": "catal\u00e0 (valenci\u00e0)" - }, - "cs": { - "English": "Czech", - "native": "\u010ce\u0161tina" - }, - "csb": { - "English": "Kashubian", - "native": "Kasz\u00ebbsczi" - }, - "cy": { - "English": "Welsh", - "native": "Cymraeg" - }, - "da": { - "English": "Danish", - "native": "Dansk" - }, - "dbg": { - "English": "Debug Robot", - "native": "\u1e12\u1e17\u0180\u016d\u0260 \u0158\u01ff\u0180\u01ff\u0167" - }, - "de": { - "English": "German", - "native": "Deutsch" - }, - "de-AT": { - "English": "German (Austria)", - "native": "Deutsch (\u00d6sterreich)" - }, - "de-CH": { - "English": "German (Switzerland)", - "native": "Deutsch (Schweiz)" - }, - "de-DE": { - "English": "German (Germany)", - "native": "Deutsch (Deutschland)" - }, - "dsb": { - "English": "Lower Sorbian", - "native": "Dolnoserb\u0161\u0107ina" - }, - "ee": { - "English": "Ewe", - "native": "E\u028be" - }, - "el": { - "English": "Greek", - "native": "\u0395\u03bb\u03bb\u03b7\u03bd\u03b9\u03ba\u03ac" - }, - "en-AU": { - "English": "English (Australian)", - "native": "English (Australian)" - }, - "en-CA": { - "English": "English (Canadian)", - "native": "English (Canadian)" - }, - "en-GB": { - "English": "English (British)", - "native": "English (British)" - }, - "en-NZ": { - "English": "English (New Zealand)", - "native": "English (New Zealand)" - }, - "en-US": { - "English": "English (US)", - "native": "English (US)" - }, - "en-ZA": { - "English": "English (South African)", - "native": "English (South African)" - }, - "eo": { - "English": "Esperanto", - "native": "Esperanto" - }, - "es": { - "English": "Spanish", - "native": "Espa\u00f1ol" - }, - "es-AR": { - "English": "Spanish (Argentina)", - "native": "Espa\u00f1ol (de Argentina)" - }, - "es-CL": { - "English": "Spanish (Chile)", - "native": "Espa\u00f1ol (de Chile)" - }, - "es-ES": { - "English": "Spanish (Spain)", - "native": "Espa\u00f1ol (de Espa\u00f1a)" - }, - "es-MX": { - "English": "Spanish (Mexico)", - "native": "Espa\u00f1ol (de M\u00e9xico)" - }, - "et": { - "English": "Estonian", - "native": "Eesti keel" - }, - "eu": { - "English": "Basque", - "native": "Euskara" - }, - "fa": { - "English": "Persian", - "native": "\u0641\u0627\u0631\u0633\u06cc" - }, - "ff": { - "English": "Fulah", - "native": "Pulaar-Fulfulde" - }, - "fi": { - "English": "Finnish", - "native": "suomi" - }, - "fj-FJ": { - "English": "Fijian", - "native": "Vosa vaka-Viti" - }, - "fr": { - "English": "French", - "native": "Fran\u00e7ais" - }, - "fur-IT": { - "English": "Friulian", - "native": "Furlan" - }, - "fy-NL": { - "English": "Frisian", - "native": "Frysk" - }, - "ga": { - "English": "Irish", - "native": "Gaeilge" - }, - "ga-IE": { - "English": "Irish", - "native": "Gaeilge" - }, - "gd": { - "English": "Gaelic (Scotland)", - "native": "G\u00e0idhlig" - }, - "gl": { - "English": "Galician", - "native": "Galego" - }, - "gu": { - "English": "Gujarati", - "native": "\u0a97\u0ac1\u0a9c\u0ab0\u0abe\u0aa4\u0ac0" - }, - "gu-IN": { - "English": "Gujarati (India)", - "native": "\u0a97\u0ac1\u0a9c\u0ab0\u0abe\u0aa4\u0ac0 (\u0aad\u0abe\u0ab0\u0aa4)" - }, - "ha": { - "English": "Hausa", - "native": "Hausa" - }, - "he": { - "English": "Hebrew", - "native": "\u05e2\u05d1\u05e8\u05d9\u05ea" - }, - "hi": { - "English": "Hindi", - "native": "\u0939\u093f\u0928\u094d\u0926\u0940" - }, - "hi-IN": { - "English": "Hindi (India)", - "native": "\u0939\u093f\u0928\u094d\u0926\u0940 (\u092d\u093e\u0930\u0924)" - }, - "hr": { - "English": "Croatian", - "native": "Hrvatski" - }, - "hsb": { - "English": "Upper Sorbian", - "native": "Hornjoserbsce" - }, - "hu": { - "English": "Hungarian", - "native": "magyar" - }, - "hy-AM": { - "English": "Armenian", - "native": "\u0540\u0561\u0575\u0565\u0580\u0565\u0576" - }, - "id": { - "English": "Indonesian", - "native": "Bahasa Indonesia" - }, - "ig": { - "English": "Igbo", - "native": "Igbo" - }, - "is": { - "English": "Icelandic", - "native": "\u00edslenska" - }, - "it": { - "English": "Italian", - "native": "Italiano" - }, - "ja": { - "English": "Japanese", - "native": "\u65e5\u672c\u8a9e" - }, - "ja-JP-mac": { - "English": "Japanese", - "native": "\u65e5\u672c\u8a9e" - }, - "ka": { - "English": "Georgian", - "native": "\u10e5\u10d0\u10e0\u10d7\u10e3\u10da\u10d8" - }, - "kk": { - "English": "Kazakh", - "native": "\u049a\u0430\u0437\u0430\u049b" - }, - "km": { - "English": "Khmer", - "native": "\u1781\u17d2\u1798\u17c2\u179a" - }, - "kn": { - "English": "Kannada", - "native": "\u0c95\u0ca8\u0ccd\u0ca8\u0ca1" - }, - "ko": { - "English": "Korean", - "native": "\ud55c\uad6d\uc5b4" - }, - "kok": { - "English": "Konkani", - "native": "\u0915\u094b\u0902\u0915\u0928\u0940" - }, - "ku": { - "English": "Kurdish", - "native": "Kurd\u00ee" - }, - "ks": { - "English": "Kashmiri", - "native": "\u0643\u0634\u0645\u06cc\u0631\u06cc" - }, - "la": { - "English": "Latin", - "native": "Latina" - }, - "lg": { - "English": "Luganda", - "native": "Luganda" - }, - "lij": { - "English": "Ligurian", - "native": "Ligure" - }, - "ln": { - "English": "Lingala", - "native": "Ling\u00e1la" - }, - "lo": { - "English": "Lao", - "native": "\u0e9e\u0eb2\u0eaa\u0eb2\u0ea5\u0eb2\u0ea7" - }, - "lt": { - "English": "Lithuanian", - "native": "lietuvi\u0173 kalba" - }, - "lv": { - "English": "Latvian", - "native": "Latvie\u0161u" - }, - "mai": { - "English": "Maithili", - "native": "\u092e\u0948\u0925\u093f\u0932\u0940 \u09ae\u09c8\u09a5\u09bf\u09b2\u09c0" - }, - "mg": { - "English": "Malagasy", - "native": "Malagasy" - }, - "mi": { - "English": "Maori (Aotearoa)", - "native": "M\u0101ori (Aotearoa)" - }, - "mk": { - "English": "Macedonian", - "native": "\u041c\u0430\u043a\u0435\u0434\u043e\u043d\u0441\u043a\u0438" - }, - "ml": { - "English": "Malayalam", - "native": "\u0d2e\u0d32\u0d2f\u0d3e\u0d33\u0d02" - }, - "mn": { - "English": "Mongolian", - "native": "\u041c\u043e\u043d\u0433\u043e\u043b" - }, - "mr": { - "English": "Marathi", - "native": "\u092e\u0930\u093e\u0920\u0940" - }, - "ms": { - "English": "Malay", - "native": "Melayu" - }, - "my": { - "English": "Burmese", - "native": "\u1019\u103c\u1014\u103a\u1019\u102c\u1018\u102c\u101e\u102c" - }, - "nb-NO": { - "English": "Norwegian (Bokm\u00e5l)", - "native": "Norsk bokm\u00e5l" - }, - "ne-NP": { - "English": "Nepali", - "native": "\u0928\u0947\u092a\u093e\u0932\u0940" - }, - "nn-NO": { - "English": "Norwegian (Nynorsk)", - "native": "Norsk nynorsk" - }, - "nl": { - "English": "Dutch", - "native": "Nederlands" - }, - "nr": { - "English": "Ndebele, South", - "native": "isiNdebele" - }, - "nso": { - "English": "Northern Sotho", - "native": "Sepedi" - }, - "oc": { - "English": "Occitan (Lengadocian)", - "native": "occitan (lengadocian)" - }, - "or": { - "English": "Oriya", - "native": "\u0b13\u0b21\u0b3c\u0b3f\u0b06" - }, - "pa": { - "English": "Punjabi", - "native": "\u0a2a\u0a70\u0a1c\u0a3e\u0a2c\u0a40" - }, - "pa-IN": { - "English": "Punjabi (India)", - "native": "\u0a2a\u0a70\u0a1c\u0a3e\u0a2c\u0a40 (\u0a2d\u0a3e\u0a30\u0a24)" - }, - "pl": { - "English": "Polish", - "native": "Polski" - }, - "pt-BR": { - "English": "Portuguese (Brazilian)", - "native": "Portugu\u00eas (do\u00a0Brasil)" - }, - "pt-PT": { - "English": "Portuguese (Portugal)", - "native": "Portugu\u00eas (Europeu)" - }, - "ro": { - "English": "Romanian", - "native": "rom\u00e2n\u0103" - }, - "rm": { - "English": "Romansh", - "native": "rumantsch" - }, - "ru": { - "English": "Russian", - "native": "\u0420\u0443\u0441\u0441\u043a\u0438\u0439" - }, - "rw": { - "English": "Kinyarwanda", - "native": "Ikinyarwanda" - }, - "sa": { - "English": "Sanskrit", - "native": "\u0938\u0902\u0938\u094d\u0915\u0943\u0924" - }, - "sat": { - "English": "Santali", - "native": "\u0938\u0902\u0924\u093e\u0932\u0940" - }, - "sah": { - "English": "Sakha", - "native": "\u0421\u0430\u0445\u0430\u043b\u044b\u044b" - }, - "si": { - "English": "Sinhala", - "native": "\u0dc3\u0dd2\u0d82\u0dc4\u0dbd" - }, - "sk": { - "English": "Slovak", - "native": "sloven\u010dina" - }, - "sl": { - "English": "Slovenian", - "native": "Sloven\u0161\u010dina" - }, - "son": { - "English": "Songhai", - "native": "So\u014bay" - }, - "sq": { - "English": "Albanian", - "native": "Shqip" - }, - "sr": { - "English": "Serbian", - "native": "\u0421\u0440\u043f\u0441\u043a\u0438" - }, - "sr-Cyrl": { - "English": "Serbian", - "native": "\u0421\u0440\u043f\u0441\u043a\u0438" - }, - "sr-Latn": { - "English": "Serbian", - "native": "Srpski" - }, - "ss": { - "English": "Siswati", - "native": "siSwati" - }, - "st": { - "English": "Southern Sotho", - "native": "Sesotho" - }, - "sv-SE": { - "English": "Swedish", - "native": "Svenska" - }, - "sw": { - "English": "Swahili", - "native": "Kiswahili" - }, - "ta": { - "English": "Tamil", - "native": "\u0ba4\u0bae\u0bbf\u0bb4\u0bcd" - }, - "ta-IN": { - "English": "Tamil (India)", - "native": "\u0ba4\u0bae\u0bbf\u0bb4\u0bcd (\u0b87\u0ba8\u0bcd\u0ba4\u0bbf\u0baf\u0bbe)" - }, - "ta-LK": { - "English": "Tamil (Sri Lanka)", - "native": "\u0ba4\u0bae\u0bbf\u0bb4\u0bcd (\u0b87\u0bb2\u0b99\u0bcd\u0b95\u0bc8)" - }, - "te": { - "English": "Telugu", - "native": "\u0c24\u0c46\u0c32\u0c41\u0c17\u0c41" - }, - "th": { - "English": "Thai", - "native": "\u0e44\u0e17\u0e22" - }, - "tl": { - "English": "Tagalog", - "native": "Tagalog" - }, - "tn": { - "English": "Tswana", - "native": "Setswana" - }, - "tr": { - "English": "Turkish", - "native": "T\u00fcrk\u00e7e" - }, - "ts": { - "English": "Tsonga", - "native": "Xitsonga" - }, - "tt-RU": { - "English": "Tatar", - "native": "Tatar\u00e7a" - }, - "uk": { - "English": "Ukrainian", - "native": "\u0423\u043a\u0440\u0430\u0457\u043d\u0441\u044c\u043a\u0430" - }, - "ur": { - "English": "Urdu", - "native": "\u0627\u064f\u0631\u062f\u0648" - }, - "uz": { - "English": "Uzbek", - "native": "O\u02bbzbek tili" - }, - "ve": { - "English": "Venda", - "native": "Tshiven\u1e13a" - }, - "vi": { - "English": "Vietnamese", - "native": "Ti\u1ebfng Vi\u1ec7t" - }, - "wo": { - "English": "Wolof", - "native": "Wolof" - }, - "x-testing": { - "English": "Testing", - "native": "\u0166\u1e17\u015f\u0167\u012b\u019e\u0260" - }, - "xh": { - "English": "Xhosa", - "native": "isiXhosa" - }, - "yo": { - "English": "Yoruba", - "native": "Yor\u00f9b\u00e1" - }, - "zh-CN": { - "English": "Chinese (Simplified)", - "native": "\u4e2d\u6587 (\u7b80\u4f53)" - }, - "zh-TW": { - "English": "Chinese (Traditional)", - "native": "\u6b63\u9ad4\u4e2d\u6587 (\u7e41\u9ad4)" - }, - "zu": { - "English": "Zulu", - "native": "isiZulu" - } -} \ No newline at end of file diff --git a/kickoff-web.py b/kickoff-web.py index 3e2d9cd4..446e80fd 100644 --- a/kickoff-web.py +++ b/kickoff-web.py @@ -51,11 +51,5 @@ def auth(environ, username, password): '/cron/': path.join(path.dirname(__file__), 'cron/') }) - # We serve (at least) a stastic json file - from werkzeug import SharedDataMiddleware - app.wsgi_app = SharedDataMiddleware(app.wsgi_app, { - '/json/': path.join(path.dirname(__file__), 'json/') - }) - app.wsgi_app = AuthBasicHandler(app.wsgi_app, "Release kick-off", auth) app.run(port=options.port, host=options.host) diff --git a/kickoff/__init__.py b/kickoff/__init__.py index 4770c92a..f936d2cd 100644 --- a/kickoff/__init__.py +++ b/kickoff/__init__.py @@ -6,8 +6,6 @@ app = Flask(__name__) db = SQLAlchemy() -# We do need this import to make sure json endpoints are available -import kickoff.jsonexport # NOQA from kickoff.log import cef_event, CEF_WARN from kickoff.views.csrf import CSRFView from kickoff.views.releases import ReleasesAPI, Releases, ReleaseAPI, ReleaseL10nAPI, Release, ReleaseCommentAPI diff --git a/kickoff/config.py b/kickoff/config.py deleted file mode 100644 index 1b25f74c..00000000 --- a/kickoff/config.py +++ /dev/null @@ -1,7 +0,0 @@ -# Not used -# NIGHTLY_VERSION = 41 -AURORA_VERSION = "40.0a2" -SUPPORTED_AURORA_LOCALES = ['ach', 'af', 'an', 'ar', 'as', 'ast', 'az', 'be', 'bg', 'bn-BD', 'bn-IN', 'br', 'brx', 'bs', 'ca', 'cs', 'cy', 'da', 'de', 'dsb', 'el', 'en-GB', 'en-US', 'en-ZA', 'eo', 'es-AR', 'es-CL', 'es-ES', 'es-MX', 'et', 'eu', 'fa', 'ff', 'fi', 'fr', 'fy-NL', 'ga-IE', 'gd', 'gl', 'gu-IN', 'he', 'hi-IN', 'hr', 'hsb', 'hu', 'hy-AM', 'id', 'is', 'it', 'ja', 'ka', 'kk', 'km', 'kn', 'ko', 'kok', 'ks', 'lij', 'lt', 'lv', 'mai', 'mk', 'ml', 'mr', 'ms', 'my', 'nb-NO', 'nl', 'nn-NO', 'oc', 'or', 'pa-IN', 'pl', 'pt-BR', 'pt-PT', 'rm', 'ro', 'ru', 'sat', 'si', 'sk', 'sl', 'sq', 'son', 'sr', 'sv-SE', 'ta', 'te', 'th', 'tr', 'uk', 'uz', 'vi', 'xh', 'zh-CN', 'zh-TW'] -LATEST_FIREFOX_OLDER_VERSION = "3.6.28" -CURRENT_ESR = "31" -ESR_NEXT = "38" diff --git a/kickoff/jsonexport.py b/kickoff/jsonexport.py deleted file mode 100644 index 81c9b09e..00000000 --- a/kickoff/jsonexport.py +++ /dev/null @@ -1,247 +0,0 @@ -from kickoff import app -from kickoff import config - -from flask import jsonify, render_template, make_response - -from kickoff.model import getReleases - -from kickoff.thunderbirddetails import primary_builds as tb_primary_builds, beta_builds as tb_beta_builds - -from mozilla.release.l10n import parsePlainL10nChangesets - - -def getFilteredReleases(product, categories, ESR_NEXT=False, lastRelease=None, withL10N=False): - version = [] - # we don't export esr in the version name - if "major" in categories: - version.append("([0-9]+\.[0-9]+|14\.0\.1)$") - if "stability" in categories: - version.append("([0-9]+\.[0-9]+\.[0-9]+|[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+)") - if "dev" in categories: - version.append("[0-9]+\.[0-9](b|rc|build|plugin)[0-9]+$") - if "esr" in categories: - if ESR_NEXT: - # Ugly hack to manage the next ESR (when we have two overlapping esr) - version.append("(" + config.ESR_NEXT + "\.[0-9]+\.[0-9]+esr|" + config.ESR_NEXT + "\.[0-9]+\.[0-9]+\.[0-9]+esr)") - else: - version.append("(" + config.CURRENT_ESR + "\.[0-9]+\.[0-9]+esr|" + config.CURRENT_ESR + "\.[0-9]+\.[0-9]+\.[0-9]+esr)") - - releases = getReleases(ready=True, productFilter=product, versionFilterCategory=version, lastRelease=lastRelease) - results = [] - for r in releases: - version = r.version.replace("esr", "") - if r._shippedAt: - shippedAt = r._shippedAt.strftime("%Y-%m-%d") - else: - # No shipped date, we are not interested by this release, skip - continue - - if withL10N: - # We need the list of locales - results.append([version, shippedAt, r.l10nChangesets]) - else: - results.append([version, shippedAt]) - - return results - - -# Manage firefox_versions.json, thunderbird_versions.json & mobile_versions.json -def returnJSONVersionFile(template, versions): - response = make_response(render_template(template, versions=versions)) - response.mimetype = "application/json" - return response - - -# Firefox JSON - - -@app.route('/json/firefox_history_major_releases.json', methods=['GET']) -def firefox_history_major_releases_json(): - # Match X.Y and 14.0.1 (special case) - values = getFilteredReleases("firefox", "major") - return jsonify(values) - - -@app.route('/json/firefox_history_stability_releases.json', methods=['GET']) -def firefox_history_stability_releases_json(): - # Match X.Y.Z (including esr) + W.X.Y.Z (example 1.5.0.8) - values = getFilteredReleases("firefox", "stability") - return jsonify(values) - - -@app.route('/json/firefox_history_development_releases.json', methods=['GET']) -def firefox_history_development_releases_json(): - # Match 23.b2, 1.0rc2, 3.6.3plugin1 or 3.6.4build7 - values = getFilteredReleases("firefox", "dev") - return jsonify(values) - - -@app.route('/json/firefox_versions.json', methods=['GET']) -def firefox_versions_json(): - - versions = { - "FIREFOX_AURORA": config.AURORA_VERSION, - "LATEST_FIREFOX_OLDER_VERSION": config.LATEST_FIREFOX_OLDER_VERSION, - } - - # Stable - lastStable = getFilteredReleases("firefox", ["major", "stability"], lastRelease=True) - versions['LATEST_FIREFOX_VERSION'] = lastStable[0][0] - # beta - lastStable = getFilteredReleases("firefox", ["dev"], lastRelease=True) - versions['LATEST_FIREFOX_DEVEL_VERSION'] = lastStable[0][0] - versions['LATEST_FIREFOX_RELEASED_DEVEL_VERSION'] = lastStable[0][0] - # esr - lastStable = getFilteredReleases("firefox", ["esr"], lastRelease=True) - versions['FIREFOX_ESR'] = lastStable[0][0]+"esr" - # esr next - lastStable = getFilteredReleases("firefox", ["esr"], lastRelease=True, ESR_NEXT=True) - if lastStable: - # If not found, that means that we are managing only a single ESR - versions['FIREFOX_ESR_NEXT'] = lastStable[0][0]+"esr" - - return returnJSONVersionFile('firefox_versions.json', versions) - - -def generateLocalizedBuilds(buildsVersionLocales, l10nchangesets, lastVersion): - # The l10n format for desktop is 'locale changeset' - # parse it - locales = parsePlainL10nChangesets(l10nchangesets) - for localeCode in locales: - if localeCode not in buildsVersionLocales.keys(): - buildsVersionLocales[localeCode] = [lastVersion] - else: - buildsVersionLocales[localeCode] += [lastVersion] - - return buildsVersionLocales - - -def fillAuroraVersion(buildsVersionLocales): - for localeCode in config.SUPPORTED_AURORA_LOCALES: - if localeCode not in buildsVersionLocales.keys(): - buildsVersionLocales[localeCode] = [config.AURORA_VERSION] - else: - buildsVersionLocales[localeCode] += [config.AURORA_VERSION] - - return buildsVersionLocales - - -def updateLocaleWithVersionsTable(product): - buildsVersionLocales = {} - # Stable - lastStable = getFilteredReleases(product, ["major", "stability"], - lastRelease=True, withL10N=True) - buildsVersionLocales = generateLocalizedBuilds(buildsVersionLocales, - lastStable[0][2], - lastStable[0][0]) - - # beta - lastStable = getFilteredReleases(product, ["dev"], lastRelease=True, withL10N=True) - buildsVersionLocales = generateLocalizedBuilds(buildsVersionLocales, - lastStable[0][2], - lastStable[0][0]) - - # esr - lastStable = getFilteredReleases(product, ["esr"], lastRelease=True, withL10N=True) - buildsVersionLocales = generateLocalizedBuilds(buildsVersionLocales, - lastStable[0][2], - lastStable[0][0]) - buildsVersionLocales = fillAuroraVersion(buildsVersionLocales) - return buildsVersionLocales - - -@app.route('/json/firefox_primary_builds.json', methods=['GET']) -def firefox_primary_builds_json(): - buildsVersionLocales = updateLocaleWithVersionsTable("firefox") - return jsonify(buildsVersionLocales) - - -# Mobile JSON - - -@app.route('/json/mobile_details.json', methods=['GET']) -@app.route('/json/mobile_versions.json', methods=['GET']) -def mobile_details_json(): - versions = {"alpha_version": config.AURORA_VERSION} - - lastStable = getFilteredReleases("fennec", ["major", "stability"], lastRelease=True) - versions['stable'] = lastStable[0][0] - - lastBeta = getFilteredReleases("fennec", ["dev"], lastRelease=True) - versions['beta_version'] = lastBeta[0][0] - return returnJSONVersionFile('mobile_versions.json', versions) - - -@app.route('/json/mobile_history_major_releases.json', methods=['GET']) -def mobile_history_major_releases_json(): - values = getFilteredReleases("fennec", "major") - return jsonify(values) - - -@app.route('/json/mobile_history_stability_releases.json', methods=['GET']) -def mobile_history_history_releases_json(): - values = getFilteredReleases("fennec", "stability") - return jsonify(values) - - -@app.route('/json/mobile_history_development_releases.json', methods=['GET']) -def mobile_history_development_releases_json(): - # Match 23.b2, 1.0rc2, 3.6.3plugin1 or 3.6.4build7 - values = getFilteredReleases("fennec", "dev") - return jsonify(values) - - -# THUNDERBIRD JSON - -@app.route('/json/thunderbird_history_major_releases.json', methods=['GET']) -def thunderbird_history_major_releases_json(): - values = getFilteredReleases("thunderbird", "major") - return jsonify(values) - - -@app.route('/json/thunderbird_history_stability_releases.json', methods=['GET']) -def thunderbird_history_history_releases_json(): - values = getFilteredReleases("thunderbird", "stability") - return jsonify(values) - - -@app.route('/json/thunderbird_history_development_releases.json', methods=['GET']) -def thunderbird_history_development_releases_json(): - # Match 23.b2, 1.0rc2, 3.6.3plugin1 or 3.6.4build7 - values = getFilteredReleases("thunderbird", "dev") - return jsonify(values) - - -@app.route('/json/thunderbird_versions.json', methods=['GET']) -def thunderbird_versions_json(): - versions = {} - # Stable - lastStable = getFilteredReleases("thunderbird", ["major", "stability"], lastRelease=True) - versions["LATEST_THUNDERBIRD_VERSION"] = lastStable[0][0] - # beta - lastBeta = getFilteredReleases("thunderbird", ["dev"], lastRelease=True) - versions["LATEST_THUNDERBIRD_DEVEL_VERSION"] = lastBeta[0][0] - return returnJSONVersionFile('thunderbird_versions.json', versions) - - -@app.route('/json/thunderbird_primary_builds.json', methods=['GET']) -def thunderbird_primary_builds_json(): - # default values - lastStable = getFilteredReleases("thunderbird", ["major", "stability"], lastRelease=True) - common = {lastStable[0][0]: {'Windows': {'filesize': 25.1}, 'OS X': {'filesize': 50.8}, 'Linux': {'filesize': 31.8}}} - tb_prim = {} - for key in tb_primary_builds: - tb_prim[key] = common - return jsonify(tb_prim) - - -@app.route('/json/thunderbird_beta_builds.json', methods=['GET']) -def thunderbird_beta_builds_json(): - return jsonify(tb_beta_builds) - - -# COMMON JSON - -@app.route('/json_exports.html', methods=['GET']) -def json_exports(): - return render_template('json_exports.html') diff --git a/kickoff/model.py b/kickoff/model.py index 189a759d..a9a52802 100644 --- a/kickoff/model.py +++ b/kickoff/model.py @@ -2,7 +2,6 @@ import pytz import json -import re from sqlalchemy import func from sqlalchemy.ext.hybrid import hybrid_property @@ -19,7 +18,6 @@ class Release(object): submitter = db.Column(db.String(250), nullable=False) _submittedAt = db.Column('submittedAt', db.DateTime(pytz.utc), nullable=False, default=datetime.utcnow) - _shippedAt = db.Column('shippedAt', db.DateTime(pytz.utc)) version = db.Column(db.String(10), nullable=False) buildNumber = db.Column(db.Integer(), nullable=False) branch = db.Column(db.String(50), nullable=False) @@ -44,20 +42,10 @@ def submittedAt(self): def submittedAt(self, submittedAt): self._submittedAt = submittedAt - # Dates are always returned in UTC time and ISO8601 format to make them - # as transportable as possible. - @hybrid_property - def shippedAt(self): - return pytz.utc.localize(self._shippedAt).isoformat() - - @shippedAt.setter - def shippedAt(self, shippedAt): - self._shippedAt = shippedAt - def __init__(self, submitter, version, buildNumber, branch, mozillaRevision, l10nChangesets, dashboardCheck, mozillaRelbranch, enUSPlatforms=None, submittedAt=None, - shippedAt=None, comment=None): + comment=None): self.name = getReleaseName(self.product, version, buildNumber) self.submitter = submitter self.version = version.strip() @@ -70,8 +58,6 @@ def __init__(self, submitter, version, buildNumber, branch, self.enUSPlatforms = enUSPlatforms if submittedAt: self.submittedAt = submittedAt - if shippedAt: - self.shippedAt = shippedAt if comment: self.comment = comment @@ -80,7 +66,6 @@ def toDict(self): for c in self.__table__.columns: me[c.name] = getattr(self, c.name) me['submittedAt'] = me['submittedAt'] - me['shippedAt'] = me['shippedAt'] return me @classmethod @@ -209,7 +194,7 @@ def getReleaseTable(release): raise ValueError("Can't find release table for release %s" % release) -def getReleases(ready=None, complete=None, status=None, productFilter=None, versionFilter=None, versionFilterCategory=None, searchOtherShipped=False, lastRelease=None): +def getReleases(ready=None, complete=None, status=None, productFilter=None, versionFilter=None, searchOtherShipped=False): filters = {} if ready is not None: filters['ready'] = ready @@ -226,22 +211,8 @@ def getReleases(ready=None, complete=None, status=None, productFilter=None, vers releases = [] for table in tables: if filters: - if lastRelease: - # Retrieve the last X version - results = table.query.filter_by(**filters).order_by(table._submittedAt.desc()).limit(40) - else: - results = table.query.filter_by(**filters) - for r in results: - if not versionFilterCategory: - releases.append(r) - else: - # We are using a manual filter here. - # we are not doing it through SQL because: - # * regexp queries are not really standard in SQL - # * sqlalchemy does not provide a wrapper for this - for versionFilter in versionFilterCategory: - if re.match(versionFilter, r.version): - releases.append(r) + for r in table.query.filter_by(**filters): + releases.append(r) else: for r in table.query.all(): releases.append(r) diff --git a/kickoff/templates/base.html b/kickoff/templates/base.html index 7b48da1a..faeec428 100644 --- a/kickoff/templates/base.html +++ b/kickoff/templates/base.html @@ -30,7 +30,7 @@

Ship it

{% block content %}{% endblock %} diff --git a/kickoff/templates/firefox_versions.json b/kickoff/templates/firefox_versions.json deleted file mode 100644 index faa5d017..00000000 --- a/kickoff/templates/firefox_versions.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "FIREFOX_AURORA": "{{ versions.FIREFOX_AURORA }}", - "FIREFOX_ESR": "{{ versions.FIREFOX_ESR }}", - "FIREFOX_ESR_NEXT": "{{ versions.FIREFOX_ESR_NEXT }}", - "LATEST_FIREFOX_DEVEL_VERSION": "{{ versions.LATEST_FIREFOX_DEVEL_VERSION }}", - "LATEST_FIREFOX_OLDER_VERSION": "{{ versions.LATEST_FIREFOX_OLDER_VERSION }}", - "LATEST_FIREFOX_RELEASED_DEVEL_VERSION": "{{ versions. LATEST_FIREFOX_RELEASED_DEVEL_VERSION }}", - "LATEST_FIREFOX_VERSION": "{{ versions.LATEST_FIREFOX_VERSION }}" -} diff --git a/kickoff/templates/includes/releases_running.html b/kickoff/templates/includes/releases_running.html index 3e44c7ad..4c137a38 100644 --- a/kickoff/templates/includes/releases_running.html +++ b/kickoff/templates/includes/releases_running.html @@ -18,7 +18,6 @@ Partial Versions Update Prompt Wait Time Comment - Shipped At Shipped? @@ -65,7 +64,6 @@ {{ rel.comment }} {% endif %} - {{ rel.shippedAt }} {# In some cases, we get different values. See bug #1121032 #} {% if rel.status != "postrelease" and rel.status != "Post Release" %} diff --git a/kickoff/templates/json_exports.html b/kickoff/templates/json_exports.html deleted file mode 100644 index 3edb0976..00000000 --- a/kickoff/templates/json_exports.html +++ /dev/null @@ -1,54 +0,0 @@ -{% extends "base.html" %} -{% block content %} - -Compared to the PHP based product details, a few changes can be found: - - -firefox_history_development_releases.json
- - -firefox_history_major_releases.json
- -firefox_history_stability_releases.json
- - -firefox_primary_builds.json
- - -firefox_versions.json
- - -languages.json
- -mobile_details.json / mobile_versions.json (same content)
- -mobile_history_development_releases.json
- - -mobile_history_major_releases.json
- - -mobile_history_stability_releases.json
-thunderbird_versions.json
-thunderbird_history_development_releases.json
-thunderbird_history_major_releases.json
-thunderbird_history_stability_releases.json
- -thunderbird_beta_builds.json
-thunderbird_primary_builds.json
- -{% endblock %} diff --git a/kickoff/templates/mobile_versions.json b/kickoff/templates/mobile_versions.json deleted file mode 100644 index 49e3700c..00000000 --- a/kickoff/templates/mobile_versions.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "alpha_version": "{{ versions.alpha_version }}", - "beta_version": "{{ versions.beta_version }}", - "version": "{{ versions.stable }}" -} diff --git a/kickoff/templates/thunderbird_versions.json b/kickoff/templates/thunderbird_versions.json deleted file mode 100644 index 41861045..00000000 --- a/kickoff/templates/thunderbird_versions.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "LATEST_THUNDERBIRD_VERSION": "{{ versions.LATEST_THUNDERBIRD_VERSION }}", - "LATEST_THUNDERBIRD_DEVEL_VERSION": "{{ versions.LATEST_THUNDERBIRD_DEVEL_VERSION }}" -} diff --git a/kickoff/test/base.py b/kickoff/test/base.py index 727020de..054de970 100644 --- a/kickoff/test/base.py +++ b/kickoff/test/base.py @@ -24,144 +24,28 @@ def setUp(self): mozillaRelbranch=None) r.ready = True db.session.add(r) - r = FennecRelease(submitter='joe', version='4', buildNumber=4, branch='a', mozillaRevision='abc', l10nChangesets='gh ij', dashboardCheck=True, mozillaRelbranch=None) db.session.add(r) - r = FennecRelease(submitter='joe', version='4', buildNumber=5, branch='a', mozillaRevision='abc', l10nChangesets='lk mn', dashboardCheck=False, mozillaRelbranch='BAR', submittedAt=datetime(2005, 1, 2, 2, 3, 3, 5)) db.session.add(r) - - r = FirefoxRelease(partials='0,1', promptWaitTime=5, - submitter='joe', version='2.0', buildNumber=1, - branch='a', mozillaRevision='def', - l10nChangesets='ja zu', dashboardCheck=True, - mozillaRelbranch='FOO', - submittedAt=datetime(2005, 1, 2, 3, 4, 5, 6), - shippedAt=datetime(2005, 1, 4, 3, 4, 5, 6), - comment="yet an other amazying comment", - enUSPlatforms=None) - r.complete = True - r.ready = True - # Shipped - r.status = "postrelease" - db.session.add(r) - - r = FirefoxRelease(partials='0,1', promptWaitTime=5, - submitter='joe', version='2.0.2esr', buildNumber=1, + submitter='joe', version='2', buildNumber=1, branch='a', mozillaRevision='def', l10nChangesets='ja zu', dashboardCheck=True, mozillaRelbranch='FOO', submittedAt=datetime(2005, 1, 2, 3, 4, 5, 6), - shippedAt=datetime(2005, 1, 4, 3, 4, 5, 6), comment="yet an other amazying comment", enUSPlatforms=None) r.complete = True r.ready = True - # Shipped - r.status = "postrelease" db.session.add(r) - - r = FirefoxRelease(partials='0,1', promptWaitTime=5, - submitter='joe', version='38.1.0esr', buildNumber=1, - branch='a', mozillaRevision='def', - l10nChangesets='ja zu', dashboardCheck=True, - mozillaRelbranch='FOO', - submittedAt=datetime(2005, 1, 2, 3, 4, 5, 6), - shippedAt=datetime(2015, 1, 4, 3, 4, 5, 6), - comment="yet an other amazying comment", - enUSPlatforms=None) - r.complete = True - r.ready = True - # Shipped - r.status = "postrelease" - db.session.add(r) - - r = FennecRelease(submitter='joe', version='24.0', buildNumber=4, - branch='a', mozillaRevision='abc', - l10nChangesets='gh ij', dashboardCheck=True, - submittedAt=datetime(2015, 2, 26, 3, 4, 5, 6), - shippedAt=datetime(2015, 3, 1, 3, 4, 5, 6), - mozillaRelbranch=None) - r.complete = True - r.ready = True - # Shipped - r.status = "postrelease" - db.session.add(r) - - r = FennecRelease(submitter='joe', version='24.0.1', buildNumber=4, - branch='a', mozillaRevision='abc', - l10nChangesets='gh ij', dashboardCheck=True, - submittedAt=datetime(2015, 2, 26, 3, 4, 5, 6), - shippedAt=datetime(2015, 2, 26, 3, 4, 5, 6), - mozillaRelbranch=None) - r.complete = True - r.ready = True - # Shipped - r.status = "postrelease" - db.session.add(r) - - r = FennecRelease(submitter='joe', version='23.0b2', buildNumber=4, - branch='a', mozillaRevision='abc', - l10nChangesets='gh ij', dashboardCheck=True, - submittedAt=datetime(2015, 2, 26, 3, 4, 5, 6), - shippedAt=datetime(2015, 2, 27, 3, 4, 5, 6), - mozillaRelbranch=None) - r.complete = True - r.ready = True - # Shipped - r.status = "postrelease" - db.session.add(r) - - r = FirefoxRelease(partials='0,1', promptWaitTime=5, - submitter='joe', version='3.0b2', buildNumber=1, - branch='a', mozillaRevision='def', - l10nChangesets='ja zu', dashboardCheck=True, - mozillaRelbranch='FOO', - submittedAt=datetime(2005, 1, 2, 3, 4, 5, 6), - shippedAt=datetime(2005, 1, 2, 3, 4, 5, 6), - comment="yet an other amazying comment", - enUSPlatforms=None) - r.complete = True - r.ready = True - # Shipped - r.status = "postrelease" - db.session.add(r) - - r = FirefoxRelease(partials='0,1', promptWaitTime=5, - submitter='joe', version='3.0b2', buildNumber=2, - branch='a', mozillaRevision='defa', - l10nChangesets='ja zu', dashboardCheck=True, - mozillaRelbranch='FOO', - submittedAt=datetime(2005, 1, 2, 3, 4, 5, 6), - shippedAt=datetime(2005, 3, 2, 3, 4, 5, 6), - comment="yet an other amazying comment", - enUSPlatforms=None) - db.session.add(r) - - r = FirefoxRelease(partials='0,1', promptWaitTime=5, - submitter='joe', version='3.0.1', buildNumber=1, - branch='a', mozillaRevision='def', - l10nChangesets='ja zu', dashboardCheck=True, - mozillaRelbranch='FOO', - submittedAt=datetime(2005, 1, 2, 3, 4, 5, 6), - shippedAt=datetime(2005, 1, 2, 3, 4, 5, 6), - comment="yet an other amazying comment", - enUSPlatforms=None) - r.complete = True - r.ready = True - # Shipped - r.status = "postrelease" - db.session.add(r) - - # Thunderbird data r = ThunderbirdRelease(commRevision='ghi', commRelbranch=None, partials='0', promptWaitTime=None, submitter='bob', version='2', buildNumber=2, @@ -169,13 +53,11 @@ def setUp(self): l10nChangesets='li', dashboardCheck=True, mozillaRelbranch=None, submittedAt=datetime(2005, 1, 1, 1, 1, 1, 1), - shippedAt=datetime(2005, 1, 3, 1, 1, 1, 1), comment='My great comment!', enUSPlatforms="foo bar") r.complete = True r.ready = True db.session.add(r) - r = ThunderbirdRelease(commRevision='zzz', commRelbranch=None, partials='1.0build1', promptWaitTime=None, submitter='bob', version='4.0', buildNumber=1, @@ -186,53 +68,6 @@ def setUp(self): db.session.add(r) db.session.commit() - r = ThunderbirdRelease(commRevision='zzz', commRelbranch=None, - partials='1.0build1', promptWaitTime=None, - submitter='bob', version='23.0', buildNumber=1, - branch='b', mozillaRevision='yyy', - l10nChangesets='yy zz', dashboardCheck=True, - mozillaRelbranch=None, - submittedAt=datetime(2005, 1, 1, 1, 1, 1, 1), - - shippedAt=datetime(2005, 1, 3, 1, 1, 1, 1)) - r.complete = True - r.ready = True - # Shipped - r.status = "postrelease" - db.session.add(r) - db.session.commit() - - r = ThunderbirdRelease(commRevision='zzz', commRelbranch=None, - partials='1.0build1', promptWaitTime=None, - submitter='bob', version='23.0.1', buildNumber=1, - branch='b', mozillaRevision='yyy', - l10nChangesets='yy zz', dashboardCheck=True, - mozillaRelbranch=None, - submittedAt=datetime(2014, 1, 1, 1, 1, 1, 1), - shippedAt=datetime(2014, 2, 3, 1, 1, 1, 1)) - r.complete = True - r.ready = True - # Shipped - r.status = "postrelease" - db.session.add(r) - db.session.commit() - - r = ThunderbirdRelease(commRevision='zzz', commRelbranch=None, - partials='1.0build1', promptWaitTime=None, - submitter='bob', version='24.0b2', buildNumber=2, - branch='b', mozillaRevision='yyy', - l10nChangesets='yy zz', dashboardCheck=True, - mozillaRelbranch=None, - submittedAt=datetime(2005, 1, 1, 1, 1, 1, 1), - - shippedAt=datetime(2005, 2, 1, 1, 1, 1, 1)) - r.complete = True - r.ready = True - # Shipped - r.status = "postrelease" - db.session.add(r) - db.session.commit() - def tearDown(self): # Trick Flask into thinking nothing has happened yet. Otherwise it will # complain when we try to reset the state in setUp(). diff --git a/kickoff/test/test_model.py b/kickoff/test/test_model.py index 27168df0..2584e9a1 100644 --- a/kickoff/test/test_model.py +++ b/kickoff/test/test_model.py @@ -9,6 +9,4 @@ class TestRelease(TestBase): def testGetRecent(self): with app.test_request_context(): got = [r.name for r in FennecRelease.getRecent(age=timedelta(days=1))] - # These two fennec build don't have any date. - # Ship-it will consider today's date self.assertEquals(['Fennec-1-build1', 'Fennec-4-build4'], got) diff --git a/kickoff/test/views/test_json.py b/kickoff/test/views/test_json.py deleted file mode 100644 index f2b7b86f..00000000 --- a/kickoff/test/views/test_json.py +++ /dev/null @@ -1,165 +0,0 @@ -import simplejson as json - -from kickoff import config -from kickoff.test.views.base import ViewTest - - -class TestJSONRequestsAPI(ViewTest): - - def testMajorReleases(self): - ret = self.get('/json/firefox_history_major_releases.json') - expected = { - "2.0": "2005-01-04", - } - self.assertEquals(ret.status_code, 200) - self.assertEquals(json.loads(ret.data), expected) - - def testFennecMajorReleases(self): - ret = self.get('/json/mobile_history_major_releases.json') - expected = { - "24.0": "2015-03-01", - } - self.assertEquals(ret.status_code, 200) - self.assertEquals(json.loads(ret.data), expected) - - def testThunderbirdMajorReleases(self): - ret = self.get('/json/thunderbird_history_major_releases.json') - expected = { - "23.0": "2005-01-03", - } - self.assertEquals(ret.status_code, 200) - self.assertEquals(json.loads(ret.data), expected) - - def testStableReleases(self): - ret = self.get('/json/firefox_history_stability_releases.json') - expected = {'2.0.2': '2005-01-04', - "3.0.1": "2005-01-02", - "38.1.0": "2015-01-04", - } - self.assertEquals(ret.status_code, 200) - self.assertEquals(json.loads(ret.data), expected) - - def testFennecStableReleases(self): - ret = self.get('/json/mobile_history_stability_releases.json') - expected = { - "24.0.1": "2015-02-26", - } - self.assertEquals(ret.status_code, 200) - self.assertEquals(json.loads(ret.data), expected) - - def testThunderbirdStableReleases(self): - ret = self.get('/json/thunderbird_history_stability_releases.json') - expected = { - "23.0.1": "2014-02-03", - } - self.assertEquals(ret.status_code, 200) - self.assertEquals(json.loads(ret.data), expected) - - def testBetaReleases(self): - ret = self.get('/json/firefox_history_development_releases.json') - expected = { - "3.0b2": "2005-01-02", - } - self.assertEquals(ret.status_code, 200) - self.assertEquals(json.loads(ret.data), expected) - - def testFennecBetaReleases(self): - ret = self.get('/json/mobile_history_development_releases.json') - expected = { - "23.0b2": "2015-02-27", - } - self.assertEquals(ret.status_code, 200) - self.assertEquals(json.loads(ret.data), expected) - - def testThunderbirdBetaReleases(self): - ret = self.get('/json/thunderbird_history_development_releases.json') - expected = { - "24.0b2": "2005-02-01", - } - self.assertEquals(ret.status_code, 200) - self.assertEquals(json.loads(ret.data), expected) - - def testPrimaryBuilds(self): - ret = self.get('/json/firefox_primary_builds.json') - primary = json.loads(ret.data) - self.assertEquals(ret.status_code, 200) - # I guess we will always have more than 20 locales - print primary - self.assertTrue(len(primary) > 20) - # i guess we will always have french or german - self.assertTrue('fr' in primary) - self.assertTrue('de' in primary) - self.assertTrue('en-US' in primary) - # but no just en - self.assertTrue('en' not in primary) - - def testTBPrimaryBuilds(self): - ret = self.get('/json/thunderbird_primary_builds.json') - primary = json.loads(ret.data) - self.assertEquals(ret.status_code, 200) - # I guess we will always have more than 20 locales - self.assertTrue(len(primary) > 20) - # i guess we will always have french or german - self.assertTrue('fr' in primary) - self.assertTrue('de' in primary) - self.assertTrue('en-US' in primary) - # but no just en - self.assertTrue('en' not in primary) - - def testTBBetaBuilds(self): - ret = self.get('/json/thunderbird_beta_builds.json') - primary = json.loads(ret.data) - self.assertEquals(ret.status_code, 200) - - def testFirefoxVersions(self): - config.CURRENT_ESR = "2" - config.ESR_NEXT = "38" - config.AURORA_VERSION = "23.0a2" - ret = self.get('/json/firefox_versions.json') - versions = json.loads(ret.data) - - self.assertEquals(ret.status_code, 200) - self.assertEquals(versions['FIREFOX_ESR_NEXT'], "38.1.0esr") - self.assertEquals(versions['FIREFOX_ESR'], "2.0.2esr") - self.assertEquals(versions['LATEST_FIREFOX_RELEASED_DEVEL_VERSION'], "3.0b2") - self.assertEquals(versions['FIREFOX_AURORA'], "23.0a2") - self.assertEquals(versions['LATEST_FIREFOX_VERSION'], '2.0') - self.assertEquals(versions['LATEST_FIREFOX_OLDER_VERSION'], "3.6.28") - self.assertEquals(versions['LATEST_FIREFOX_DEVEL_VERSION'], "3.0b2") - self.assertTrue("FIREFOX_AURORA" in versions) - self.assertTrue("FIREFOX_ESR" in versions) - self.assertTrue("FIREFOX_ESR_NEXT" in versions) - self.assertTrue("LATEST_FIREFOX_DEVEL_VERSION" in versions) - self.assertTrue("LATEST_FIREFOX_OLDER_VERSION" in versions) - self.assertTrue("LATEST_FIREFOX_RELEASED_DEVEL_VERSION" in versions) - self.assertTrue("LATEST_FIREFOX_VERSION" in versions) - self.assertTrue("LATEST_THUNDERBIRD_VERSION" not in versions) - - def testMobileVersions(self): - config.CURRENT_ESR = "2" - config.ESR_NEXT = "38" - config.AURORA_VERSION = "23.0a2" - ret = self.get('/json/mobile_versions.json') - versions = json.loads(ret.data) - - self.assertEquals(ret.status_code, 200) - self.assertEquals(versions['alpha_version'], "23.0a2") - self.assertEquals(versions['beta_version'], "23.0b2") - self.assertEquals(versions['version'], "24.0") - - def testThunderbirdVersions(self): - ret = self.get('/json/thunderbird_versions.json') - versions = json.loads(ret.data) - print versions - self.assertEquals(ret.status_code, 200) - - self.assertTrue("LATEST_THUNDERBIRD_VERSION" in versions) - self.assertEquals(versions['LATEST_THUNDERBIRD_VERSION'], "23.0.1") - self.assertTrue("LATEST_THUNDERBIRD_DEVEL_VERSION" in versions) - self.assertEquals(versions['LATEST_THUNDERBIRD_DEVEL_VERSION'], "24.0b2") - self.assertTrue("FIREFOX_ESR" not in versions) - self.assertTrue("FIREFOX_ESR_NEXT" not in versions) - self.assertTrue("LATEST_FIREFOX_DEVEL_VERSION" not in versions) - self.assertTrue("LATEST_FIREFOX_OLDER_VERSION" not in versions) - self.assertTrue("LATEST_FIREFOX_RELEASED_DEVEL_VERSION" not in versions) - self.assertTrue("LATEST_FIREFOX_VERSION" not in versions) diff --git a/kickoff/test/views/test_releases.py b/kickoff/test/views/test_releases.py index c9a01b36..c7b8f5b9 100644 --- a/kickoff/test/views/test_releases.py +++ b/kickoff/test/views/test_releases.py @@ -12,23 +12,13 @@ class TestRequestsAPI(ViewTest): - maxDiff = None def testGetAllReleases(self): ret = self.get('/releases') expected = { 'releases': ['Fennec-1-build1', 'Fennec-4-build4', - 'Fennec-4-build5', 'Fennec-24.0-build4', - 'Fennec-24.0.1-build4', 'Fennec-23.0b2-build4', - 'Firefox-2.0-build1', "Firefox-2.0.2esr-build1", - 'Firefox-38.1.0esr-build1', - 'Firefox-3.0b2-build1', 'Firefox-3.0b2-build2', - 'Firefox-3.0.1-build1', - 'Thunderbird-2-build2', 'Thunderbird-4.0-build1', - 'Thunderbird-23.0-build1', 'Thunderbird-23.0.1-build1', - 'Thunderbird-24.0b2-build2' - ] + 'Fennec-4-build5', 'Firefox-2-build1', + 'Thunderbird-2-build2', 'Thunderbird-4.0-build1'] } - self.maxDiff = None self.assertEquals(ret.status_code, 200) self.assertEquals(json.loads(ret.data), expected) @@ -42,7 +32,6 @@ def testGetReadyReleases(self): class TestReleaseAPI(ViewTest): - maxDiff = None def testGetRelease(self): ret = self.get('/releases/Thunderbird-2-build2') expected = { @@ -50,7 +39,6 @@ def testGetRelease(self): 'product': 'thunderbird', 'submitter': 'bob', 'submittedAt': pytz.utc.localize(datetime.datetime(2005, 1, 1, 1, 1, 1, 1)).isoformat(), - 'shippedAt': pytz.utc.localize(datetime.datetime(2005, 1, 3, 1, 1, 1, 1)).isoformat(), 'version': '2', 'buildNumber': 2, 'branch': 'b', @@ -73,13 +61,13 @@ def testGetRelease(self): self.assertEquals(json.loads(ret.data), expected) def testGetReleaseWithPromptWaitTime(self): - ret = self.get('/releases/Firefox-2.0-build1') + ret = self.get('/releases/Firefox-2-build1') expected = { - 'name': 'Firefox-2.0-build1', + 'name': 'Firefox-2-build1', 'product': 'firefox', 'submitter': 'joe', 'submittedAt': pytz.utc.localize(datetime.datetime(2005, 1, 2, 3, 4, 5, 6)).isoformat(), - 'version': '2.0', + 'version': '2', 'buildNumber': 1, 'comment': 'yet an other amazying comment', 'branch': 'a', @@ -89,10 +77,9 @@ def testGetReleaseWithPromptWaitTime(self): 'l10nChangesets': 'ja zu', 'partials': '0,1', 'ready': True, - 'shippedAt': pytz.utc.localize(datetime.datetime(2005, 1, 4, 3, 4, 5, 6)).isoformat(), 'complete': True, 'starter': None, - 'status': 'postrelease', + 'status': '', 'promptWaitTime': 5, 'mozillaRelbranch': 'FOO', } @@ -122,7 +109,7 @@ def testUpdateStatusTruncate(self): self.assertEquals(got, longStatus[:250]) def testGetL10n(self): - ret = self.get('/releases/Firefox-2.0-build1/l10n') + ret = self.get('/releases/Firefox-2-build1/l10n') self.assertEquals(ret.status_code, 200) self.assertEquals(ret.content_type, 'text/plain') self.assertEquals(ret.data, 'ja zu') @@ -143,7 +130,6 @@ def testCantMarkasNotReadyAndComplete(self): class TestReleasesView(ViewTest): - maxDiff = None def testMakeReady(self): data = 'readyReleases=Fennec-4-build4&readyReleases=Fennec-4-build5' ret = self.post('/releases.html', data=data, content_type='application/x-www-form-urlencoded') @@ -179,7 +165,6 @@ def testDeleteWhileMarkingAsReady(self): class TestReleaseView(ViewTest): - maxDiff = None def testEditRelease(self): data = '&'.join([ 'fennec-version=1.0', diff --git a/kickoff/thunderbirddetails.py b/kickoff/thunderbirddetails.py deleted file mode 100644 index 7cab4729..00000000 --- a/kickoff/thunderbirddetails.py +++ /dev/null @@ -1,60 +0,0 @@ -primary_builds = [ - 'ar', - 'ast', - 'be', - 'bg', - 'bn-BD', - 'br', - 'ca', - 'cs', - 'da', - 'de', - 'el', - 'en-GB', - 'en-US', - 'es-AR', - 'es-ES', - 'et', - 'eu', - 'fi', - 'fr', - 'fy-NL', - 'ga-IE', - 'gd', - 'gl', - 'he', - 'hr', - 'hu', - 'hy-AM', - 'id', - 'is', - 'it', - 'ja', - 'ko', - 'lt', - 'nb-NO', - 'nl', - 'nn-NO', - 'pa-IN', - 'pl', - 'pt-BR', - 'pt-PT', - 'rm', - 'ro', - 'ru', - 'si', - 'sk', - 'sl', - 'sq', - 'sr', - 'sv-SE', - 'ta-LK', - 'tr', - 'uk', - 'vi', - 'zh-CN', - 'zh-TW', -] - -beta_builds = { -} diff --git a/migrate_repo/versions/008_Add_shipped_at.py b/migrate_repo/versions/008_Add_shipped_at.py deleted file mode 100644 index 89174c9a..00000000 --- a/migrate_repo/versions/008_Add_shipped_at.py +++ /dev/null @@ -1,25 +0,0 @@ -# Upgrade/downgrade the database with the shippedAt field. -# CF bug #1101596 for more information -from sqlalchemy import Column, MetaData, Table, DateTime - -import pytz - -from datetime import datetime - - -def upgrade(migrate_engine): - metadata = MetaData(bind=migrate_engine) - - def add_shippedAt(table): - shippedAt = Column('shippedAt', DateTime(pytz.utc)) - shippedAt.create(table) - add_shippedAt(Table('fennec_release', metadata, autoload=True)) - add_shippedAt(Table('firefox_release', metadata, autoload=True)) - add_shippedAt(Table('thunderbird_release', metadata, autoload=True)) - - -def downgrade(migrate_engine): - metadata = MetaData(bind=migrate_engine) - Table('fennec_release', metadata, autoload=True).c.shippedAt.drop() - Table('firefox_release', metadata, autoload=True).c.shippedAt.drop() - Table('thunderbird_release', metadata, autoload=True).c.shippedAt.drop()