├── docs ├── _build │ ├── .gitkeep │ └── .gitignore ├── _static │ └── .gitkeep ├── _templates │ └── .gitkeep ├── index.rst └── build-github.zsh ├── migrations ├── __init__.py ├── 01-noop.sql └── schematic_settings.py ├── pontoon ├── __init__.py ├── base │ ├── utils │ │ ├── __init__.py │ │ └── permissions.py │ ├── migrations │ │ └── __init__.py │ ├── __init__.py │ ├── static │ │ ├── img │ │ │ ├── edit.png │ │ │ ├── logo.png │ │ │ ├── save.png │ │ │ ├── cancel.png │ │ │ ├── favicon.ico │ │ │ ├── search.png │ │ │ ├── loader-big.gif │ │ │ └── plain_sign_in_blue.png │ │ ├── fonts │ │ │ ├── FontAwesome.otf │ │ │ ├── OpenSans-Bold.eot │ │ │ ├── OpenSans-Bold.ttf │ │ │ ├── OpenSans-Bold.woff │ │ │ ├── OpenSans-Italic.eot │ │ │ ├── OpenSans-Italic.ttf │ │ │ ├── OpenSans-Light.eot │ │ │ ├── OpenSans-Light.ttf │ │ │ ├── OpenSans-Light.woff │ │ │ ├── OpenSans-Italic.woff │ │ │ ├── OpenSans-Regular.eot │ │ │ ├── OpenSans-Regular.ttf │ │ │ ├── OpenSans-Regular.woff │ │ │ ├── fontawesome-webfont.eot │ │ │ ├── fontawesome-webfont.ttf │ │ │ └── fontawesome-webfont.woff │ │ ├── css │ │ │ └── pontoon.css │ │ └── js │ │ │ └── home.js │ ├── templates │ │ ├── loader.html │ │ ├── 403.html │ │ ├── 404.html │ │ └── base.html │ ├── admin.py │ ├── tests.py │ ├── fixtures │ │ ├── prod.json │ │ └── dev.json │ └── urls.py ├── administration │ ├── __init__.py │ ├── utils │ │ └── __init__.py │ ├── management │ │ ├── __init__.py │ │ └── commands │ │ │ ├── __init__.py │ │ │ └── update_projects.py │ ├── models.py │ ├── static │ │ ├── css │ │ │ └── admin.css │ │ └── js │ │ │ └── admin.js │ ├── tests.py │ ├── urls.py │ └── templates │ │ └── admin.html └── urls.py ├── vendor-local ├── vendor.pth └── lib │ └── python │ ├── async │ ├── mod │ │ ├── __init__.py │ │ └── zlib.so │ ├── test │ │ ├── __init__.py │ │ ├── mod │ │ │ ├── __init__.py │ │ │ └── test_zlib.py │ │ ├── lib.py │ │ ├── test_task.py │ │ ├── test_thread.py │ │ ├── test_example.py │ │ └── test_performance.py │ ├── AUTHORS │ ├── README │ └── __init__.py │ ├── smmap │ ├── test │ │ ├── __init__.py │ │ └── lib.py │ ├── exc.py │ └── __init__.py │ ├── south │ ├── management │ │ ├── __init__.py │ │ └── commands │ │ │ ├── test.py │ │ │ ├── testserver.py │ │ │ ├── __init__.py │ │ │ └── startmigration.py │ ├── tests │ │ ├── deps_a │ │ │ ├── models.py │ │ │ ├── __init__.py │ │ │ └── migrations │ │ │ │ ├── __init__.py │ │ │ │ ├── 0001_a.py │ │ │ │ ├── 0002_a.py │ │ │ │ ├── 0003_a.py │ │ │ │ ├── 0005_a.py │ │ │ │ └── 0004_a.py │ │ ├── deps_b │ │ │ ├── models.py │ │ │ ├── __init__.py │ │ │ └── migrations │ │ │ │ ├── __init__.py │ │ │ │ ├── 0001_b.py │ │ │ │ ├── 0004_b.py │ │ │ │ ├── 0005_b.py │ │ │ │ ├── 0002_b.py │ │ │ │ └── 0003_b.py │ │ ├── deps_c │ │ │ ├── models.py │ │ │ ├── __init__.py │ │ │ └── migrations │ │ │ │ ├── __init__.py │ │ │ │ ├── 0001_c.py │ │ │ │ ├── 0002_c.py │ │ │ │ ├── 0003_c.py │ │ │ │ ├── 0004_c.py │ │ │ │ └── 0005_c.py │ │ ├── brokenapp │ │ │ ├── __init__.py │ │ │ ├── migrations │ │ │ │ ├── __init__.py │ │ │ │ ├── 0004_higher.py │ │ │ │ ├── 0001_depends_on_unmigrated.py │ │ │ │ ├── 0002_depends_on_unknown.py │ │ │ │ └── 0003_depends_on_higher.py │ │ │ └── models.py │ │ ├── circular_a │ │ │ ├── __init__.py │ │ │ ├── models.py │ │ │ └── migrations │ │ │ │ ├── __init__.py │ │ │ │ └── 0001_first.py │ │ ├── circular_b │ │ │ ├── __init__.py │ │ │ ├── models.py │ │ │ └── migrations │ │ │ │ ├── __init__.py │ │ │ │ └── 0001_first.py │ │ ├── emptyapp │ │ │ ├── __init__.py │ │ │ ├── models.py │ │ │ └── migrations │ │ │ │ └── __init__.py │ │ ├── fakeapp │ │ │ ├── __init__.py │ │ │ └── migrations │ │ │ │ ├── __init__.py │ │ │ │ ├── 0001_spam.py │ │ │ │ ├── 0003_alter_spam.py │ │ │ │ └── 0002_eggs.py │ │ ├── non_managed │ │ │ ├── __init__.py │ │ │ ├── migrations │ │ │ │ └── __init__.py │ │ │ └── models.py │ │ ├── otherfakeapp │ │ │ ├── __init__.py │ │ │ ├── migrations │ │ │ │ ├── __init__.py │ │ │ │ ├── 0002_second.py │ │ │ │ ├── 0001_first.py │ │ │ │ └── 0003_third.py │ │ │ └── models.py │ │ ├── freezer.py │ │ └── db_firebird.py │ ├── db │ │ └── sql_server │ │ │ └── __init__.py │ ├── test_shim.py │ ├── creator │ │ └── __init__.py │ ├── __init__.py │ ├── hacks │ │ └── __init__.py │ ├── introspection_plugins │ │ ├── django_taggit.py │ │ ├── annoying_autoonetoone.py │ │ ├── __init__.py │ │ ├── django_objectpermissions.py │ │ ├── django_timezones.py │ │ ├── django_tagging.py │ │ ├── geodjango.py │ │ └── django_audit_log.py │ ├── utils │ │ ├── py3.py │ │ ├── datetime_utils.py │ │ └── __init__.py │ ├── v2.py │ ├── signals.py │ ├── logger.py │ └── models.py │ ├── async-0.6.1-py2.7.egg-info │ ├── not-zip-safe │ ├── dependency_links.txt │ ├── top_level.txt │ ├── PKG-INFO │ ├── SOURCES.txt │ └── installed-files.txt │ ├── gitdb-0.5.4-py2.7.egg-info │ ├── not-zip-safe │ ├── dependency_links.txt │ ├── top_level.txt │ ├── requires.txt │ ├── PKG-INFO │ ├── SOURCES.txt │ └── installed-files.txt │ ├── smmap-0.8.2-py2.7.egg-info │ ├── zip-safe │ ├── dependency_links.txt │ ├── top_level.txt │ ├── SOURCES.txt │ ├── installed-files.txt │ └── PKG-INFO │ ├── configparser-3.3.0r2-py2.7.egg-info │ ├── zip-safe │ ├── dependency_links.txt │ ├── top_level.txt │ ├── installed-files.txt │ └── SOURCES.txt │ ├── suds-0.4-py2.7.egg-info │ ├── dependency_links.txt │ ├── top_level.txt │ ├── PKG-INFO │ └── SOURCES.txt │ ├── South-0.8.4-py2.7.egg-info │ ├── dependency_links.txt │ ├── top_level.txt │ └── PKG-INFO │ ├── polib-1.0.0-py2.7.egg-info │ ├── dependency_links.txt │ ├── top_level.txt │ ├── installed-files.txt │ └── SOURCES.txt │ ├── silme-0.8.1-py2.7.egg-info │ ├── dependency_links.txt │ ├── top_level.txt │ ├── PKG-INFO │ └── SOURCES.txt │ ├── gitdb │ ├── _perf.so │ ├── db │ │ ├── __init__.py │ │ └── ref.py │ ├── typ.py │ ├── __init__.py │ └── exc.py │ ├── silme │ ├── format │ │ ├── gettext │ │ │ ├── structure.py │ │ │ ├── __init__.py │ │ │ └── serializer.py │ │ ├── html │ │ │ ├── structure.py │ │ │ └── __init__.py │ │ ├── inc │ │ │ ├── structure.py │ │ │ ├── __init__.py │ │ │ └── serializer.py │ │ ├── ini │ │ │ ├── structure.py │ │ │ ├── __init__.py │ │ │ └── serializer.py │ │ ├── properties │ │ │ ├── structure.py │ │ │ ├── __init__.py │ │ │ └── serializer.py │ │ ├── dtd │ │ │ ├── structure.py │ │ │ ├── __init__.py │ │ │ └── serializer.py │ │ ├── l20n │ │ │ └── __init__.py │ │ ├── text │ │ │ └── __init__.py │ │ └── __init__.py │ ├── core │ │ ├── __init__.py │ │ └── logger.py │ ├── diff │ │ ├── __init__.py │ │ └── blob.py │ ├── __init__.py │ ├── compatibility │ │ └── __init__.py │ └── io │ │ ├── __init__.py │ │ ├── hg.py │ │ └── sqlite.py │ └── suds │ ├── bindings │ └── __init__.py │ ├── umx │ ├── basic.py │ └── __init__.py │ ├── mx │ ├── basic.py │ └── __init__.py │ ├── sax │ └── document.py │ ├── metrics.py │ └── transport │ └── options.py ├── lib └── product_details_json │ ├── thunderbird_beta_builds.json │ ├── mobile_history_stability_releases.json │ ├── mobile_history_major_releases.json │ ├── thunderbird_versions.json │ ├── thunderbird_history_major_releases.json │ ├── mobile_history_development_releases.json │ ├── firefox_history_major_releases.json │ ├── firefox_versions.json │ ├── thunderbird_history_development_releases.json │ ├── thunderbird_history_stability_releases.json │ ├── firefox_history_development_releases.json │ ├── firefox_history_stability_releases.json │ └── firefox_beta_builds.json ├── MANIFEST.in ├── hooks └── php │ ├── local-settings.php-dist │ └── test │ ├── fxlive │ ├── Datoteke_za_index │ │ ├── follow_button_data │ │ │ ├── exists.json │ │ │ ├── f.gif │ │ │ └── show.json │ │ ├── tweet_button_data │ │ │ ├── count.json │ │ │ └── t.gif │ │ ├── logo-zoo.png │ │ ├── wtid.js │ │ ├── player_v2.swf │ │ ├── title-en-US.png │ │ ├── title-logo.png │ │ ├── logo-firefox.png │ │ └── img │ │ │ └── covehead │ │ │ ├── firefoxlive │ │ │ ├── bg.png │ │ │ ├── overlay-facebook.png │ │ │ ├── overlay-header.png │ │ │ └── video-controls.png │ │ │ ├── video │ │ │ └── clothes-lol.png │ │ │ └── annualreport │ │ │ └── mozilla-tab.png │ └── img │ │ └── fonts │ │ └── MetaWebPro-Black.woff │ └── testpilot │ ├── images │ ├── bg.jpg │ ├── logo.png │ ├── callout.png │ ├── download_arrow.png │ ├── home_computer.png │ ├── home_results.png │ ├── home_upcoming.png │ └── mozilla-logo.png │ ├── fonts │ ├── DroidSans.ttf │ └── DroidSans-Bold.ttf │ ├── principles.php │ ├── testcases.php │ └── home.php ├── requirements ├── compiled.txt ├── prod.txt └── dev.txt ├── media ├── file │ └── .gitignore ├── git │ └── .gitignore ├── hg │ └── .gitignore └── svn │ └── .gitignore ├── clients ├── jetpack │ ├── README.md │ ├── doc │ │ └── main.md │ ├── package.json.backup │ ├── package.json │ ├── lib │ │ └── main.js │ └── test │ │ └── test-main.js └── bookmarklet │ ├── b.js │ ├── loader.js │ └── bookmarklet.js ├── settings └── __init__.py ├── bin ├── update │ └── commander_settings.py-dist ├── crontab │ ├── crontab.tpl │ └── gen-crons.py ├── compile-mo.sh └── jenkins.sh ├── .gitignore ├── .gitmodules ├── setup.py ├── wsgi └── playdoh.wsgi ├── manage.py └── LICENSE /docs/_build/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /docs/_static/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /migrations/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /pontoon/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /vendor-local/vendor.pth: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /docs/_build/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | -------------------------------------------------------------------------------- /docs/_templates/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /pontoon/base/utils/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /pontoon/administration/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /pontoon/base/migrations/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /pontoon/administration/utils/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /pontoon/administration/management/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /vendor-local/lib/python/async/mod/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /vendor-local/lib/python/async/test/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /vendor-local/lib/python/smmap/test/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /vendor-local/lib/python/async/test/mod/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /vendor-local/lib/python/south/management/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /vendor-local/lib/python/south/tests/deps_a/models.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /vendor-local/lib/python/south/tests/deps_b/models.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /vendor-local/lib/python/south/tests/deps_c/models.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /lib/product_details_json/thunderbird_beta_builds.json: -------------------------------------------------------------------------------- 1 | [] -------------------------------------------------------------------------------- /pontoon/administration/management/commands/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /vendor-local/lib/python/south/db/sql_server/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /vendor-local/lib/python/south/tests/brokenapp/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /vendor-local/lib/python/south/tests/circular_a/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /vendor-local/lib/python/south/tests/circular_a/models.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /vendor-local/lib/python/south/tests/circular_b/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /vendor-local/lib/python/south/tests/circular_b/models.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /vendor-local/lib/python/south/tests/deps_a/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /vendor-local/lib/python/south/tests/deps_b/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /vendor-local/lib/python/south/tests/deps_c/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /vendor-local/lib/python/south/tests/emptyapp/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /vendor-local/lib/python/south/tests/emptyapp/models.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /vendor-local/lib/python/south/tests/fakeapp/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /vendor-local/lib/python/south/tests/non_managed/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /vendor-local/lib/python/south/tests/otherfakeapp/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /vendor-local/lib/python/async-0.6.1-py2.7.egg-info/not-zip-safe: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /vendor-local/lib/python/async/AUTHORS: -------------------------------------------------------------------------------- 1 | Creator: Sebastian Thiel 2 | -------------------------------------------------------------------------------- /vendor-local/lib/python/gitdb-0.5.4-py2.7.egg-info/not-zip-safe: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /vendor-local/lib/python/smmap-0.8.2-py2.7.egg-info/zip-safe: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /vendor-local/lib/python/south/tests/brokenapp/migrations/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /vendor-local/lib/python/south/tests/deps_a/migrations/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /vendor-local/lib/python/south/tests/deps_b/migrations/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /vendor-local/lib/python/south/tests/deps_c/migrations/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /vendor-local/lib/python/south/tests/emptyapp/migrations/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /vendor-local/lib/python/south/tests/fakeapp/migrations/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /vendor-local/lib/python/configparser-3.3.0r2-py2.7.egg-info/zip-safe: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /vendor-local/lib/python/south/tests/circular_a/migrations/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /vendor-local/lib/python/south/tests/circular_b/migrations/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /vendor-local/lib/python/south/tests/non_managed/migrations/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /vendor-local/lib/python/south/tests/otherfakeapp/migrations/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /vendor-local/lib/python/suds-0.4-py2.7.egg-info/dependency_links.txt: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /vendor-local/lib/python/suds-0.4-py2.7.egg-info/top_level.txt: -------------------------------------------------------------------------------- 1 | suds 2 | -------------------------------------------------------------------------------- /vendor-local/lib/python/South-0.8.4-py2.7.egg-info/dependency_links.txt: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /vendor-local/lib/python/South-0.8.4-py2.7.egg-info/top_level.txt: -------------------------------------------------------------------------------- 1 | south 2 | -------------------------------------------------------------------------------- /vendor-local/lib/python/async-0.6.1-py2.7.egg-info/dependency_links.txt: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /vendor-local/lib/python/async-0.6.1-py2.7.egg-info/top_level.txt: -------------------------------------------------------------------------------- 1 | async 2 | -------------------------------------------------------------------------------- /vendor-local/lib/python/gitdb-0.5.4-py2.7.egg-info/dependency_links.txt: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /vendor-local/lib/python/gitdb-0.5.4-py2.7.egg-info/top_level.txt: -------------------------------------------------------------------------------- 1 | gitdb 2 | -------------------------------------------------------------------------------- /vendor-local/lib/python/polib-1.0.0-py2.7.egg-info/dependency_links.txt: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /vendor-local/lib/python/polib-1.0.0-py2.7.egg-info/top_level.txt: -------------------------------------------------------------------------------- 1 | polib 2 | -------------------------------------------------------------------------------- /vendor-local/lib/python/silme-0.8.1-py2.7.egg-info/dependency_links.txt: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /vendor-local/lib/python/silme-0.8.1-py2.7.egg-info/top_level.txt: -------------------------------------------------------------------------------- 1 | silme 2 | -------------------------------------------------------------------------------- /vendor-local/lib/python/smmap-0.8.2-py2.7.egg-info/dependency_links.txt: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /vendor-local/lib/python/smmap-0.8.2-py2.7.egg-info/top_level.txt: -------------------------------------------------------------------------------- 1 | smmap 2 | -------------------------------------------------------------------------------- /pontoon/base/__init__.py: -------------------------------------------------------------------------------- 1 | """Application base, containing global templates.""" 2 | -------------------------------------------------------------------------------- /MANIFEST.in: -------------------------------------------------------------------------------- 1 | recursive-include */*/templates *.* 2 | recursive-include */locale *.* 3 | -------------------------------------------------------------------------------- /lib/product_details_json/mobile_history_stability_releases.json: -------------------------------------------------------------------------------- 1 | {"1.0.1":"2010-04-13"} -------------------------------------------------------------------------------- /vendor-local/lib/python/configparser-3.3.0r2-py2.7.egg-info/dependency_links.txt: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /hooks/php/local-settings.php-dist: -------------------------------------------------------------------------------- 1 | 6 | -------------------------------------------------------------------------------- /lib/product_details_json/mobile_history_major_releases.json: -------------------------------------------------------------------------------- 1 | {"1.0":"2010-01-28","1.1":"2010-07-01"} -------------------------------------------------------------------------------- /migrations/01-noop.sql: -------------------------------------------------------------------------------- 1 | -- Example database migration for schematic. Remove this, if you like. 2 | -------------------------------------------------------------------------------- /requirements/compiled.txt: -------------------------------------------------------------------------------- 1 | -r ../vendor/src/funfactory/funfactory/requirements/compiled.txt 2 | -------------------------------------------------------------------------------- /vendor-local/lib/python/gitdb-0.5.4-py2.7.egg-info/requires.txt: -------------------------------------------------------------------------------- 1 | async >= 0.6.1 2 | smmap >= 0.8.0 -------------------------------------------------------------------------------- /vendor-local/lib/python/south/tests/otherfakeapp/models.py: -------------------------------------------------------------------------------- 1 | # This file left intentionally blank. -------------------------------------------------------------------------------- /hooks/php/test/fxlive/Datoteke_za_index/follow_button_data/exists.json: -------------------------------------------------------------------------------- 1 | twttr.setFriendshipExists(true) -------------------------------------------------------------------------------- /pontoon/administration/models.py: -------------------------------------------------------------------------------- 1 | from django.db import models 2 | 3 | # Create your models here. 4 | -------------------------------------------------------------------------------- /media/file/.gitignore: -------------------------------------------------------------------------------- 1 | # Ignore everything in this directory 2 | * 3 | # Except this file 4 | !.gitignore 5 | 6 | -------------------------------------------------------------------------------- /media/git/.gitignore: -------------------------------------------------------------------------------- 1 | # Ignore everything in this directory 2 | * 3 | # Except this file 4 | !.gitignore 5 | 6 | -------------------------------------------------------------------------------- /media/hg/.gitignore: -------------------------------------------------------------------------------- 1 | # Ignore everything in this directory 2 | * 3 | # Except this file 4 | !.gitignore 5 | 6 | -------------------------------------------------------------------------------- /media/svn/.gitignore: -------------------------------------------------------------------------------- 1 | # Ignore everything in this directory 2 | * 3 | # Except this file 4 | !.gitignore 5 | 6 | -------------------------------------------------------------------------------- /pontoon/base/static/img/edit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diasks2/pontoon/master/pontoon/base/static/img/edit.png -------------------------------------------------------------------------------- /pontoon/base/static/img/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diasks2/pontoon/master/pontoon/base/static/img/logo.png -------------------------------------------------------------------------------- /pontoon/base/static/img/save.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diasks2/pontoon/master/pontoon/base/static/img/save.png -------------------------------------------------------------------------------- /vendor-local/lib/python/configparser-3.3.0r2-py2.7.egg-info/top_level.txt: -------------------------------------------------------------------------------- 1 | configparser_helpers 2 | configparser 3 | -------------------------------------------------------------------------------- /pontoon/base/static/img/cancel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diasks2/pontoon/master/pontoon/base/static/img/cancel.png -------------------------------------------------------------------------------- /pontoon/base/static/img/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diasks2/pontoon/master/pontoon/base/static/img/favicon.ico -------------------------------------------------------------------------------- /pontoon/base/static/img/search.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diasks2/pontoon/master/pontoon/base/static/img/search.png -------------------------------------------------------------------------------- /pontoon/administration/static/css/admin.css: -------------------------------------------------------------------------------- 1 | #pontoon .select { 2 | padding-left: 10px; 3 | text-align: center; 4 | } 5 | -------------------------------------------------------------------------------- /hooks/php/test/testpilot/images/bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diasks2/pontoon/master/hooks/php/test/testpilot/images/bg.jpg -------------------------------------------------------------------------------- /hooks/php/test/testpilot/images/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diasks2/pontoon/master/hooks/php/test/testpilot/images/logo.png -------------------------------------------------------------------------------- /lib/product_details_json/thunderbird_versions.json: -------------------------------------------------------------------------------- 1 | {"LATEST_THUNDERBIRD_VERSION":"3.1.7","LATEST_THUNDERBIRD__OLDER_VERSION":"3.0.11"} -------------------------------------------------------------------------------- /pontoon/base/static/img/loader-big.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diasks2/pontoon/master/pontoon/base/static/img/loader-big.gif -------------------------------------------------------------------------------- /vendor-local/lib/python/gitdb/_perf.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diasks2/pontoon/master/vendor-local/lib/python/gitdb/_perf.so -------------------------------------------------------------------------------- /pontoon/base/static/fonts/FontAwesome.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diasks2/pontoon/master/pontoon/base/static/fonts/FontAwesome.otf -------------------------------------------------------------------------------- /vendor-local/lib/python/async/mod/zlib.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diasks2/pontoon/master/vendor-local/lib/python/async/mod/zlib.so -------------------------------------------------------------------------------- /hooks/php/test/testpilot/fonts/DroidSans.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diasks2/pontoon/master/hooks/php/test/testpilot/fonts/DroidSans.ttf -------------------------------------------------------------------------------- /hooks/php/test/testpilot/images/callout.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diasks2/pontoon/master/hooks/php/test/testpilot/images/callout.png -------------------------------------------------------------------------------- /pontoon/base/static/fonts/OpenSans-Bold.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diasks2/pontoon/master/pontoon/base/static/fonts/OpenSans-Bold.eot -------------------------------------------------------------------------------- /pontoon/base/static/fonts/OpenSans-Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diasks2/pontoon/master/pontoon/base/static/fonts/OpenSans-Bold.ttf -------------------------------------------------------------------------------- /pontoon/base/static/fonts/OpenSans-Bold.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diasks2/pontoon/master/pontoon/base/static/fonts/OpenSans-Bold.woff -------------------------------------------------------------------------------- /pontoon/base/static/fonts/OpenSans-Italic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diasks2/pontoon/master/pontoon/base/static/fonts/OpenSans-Italic.eot -------------------------------------------------------------------------------- /pontoon/base/static/fonts/OpenSans-Italic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diasks2/pontoon/master/pontoon/base/static/fonts/OpenSans-Italic.ttf -------------------------------------------------------------------------------- /pontoon/base/static/fonts/OpenSans-Light.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diasks2/pontoon/master/pontoon/base/static/fonts/OpenSans-Light.eot -------------------------------------------------------------------------------- /pontoon/base/static/fonts/OpenSans-Light.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diasks2/pontoon/master/pontoon/base/static/fonts/OpenSans-Light.ttf -------------------------------------------------------------------------------- /pontoon/base/static/fonts/OpenSans-Light.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diasks2/pontoon/master/pontoon/base/static/fonts/OpenSans-Light.woff -------------------------------------------------------------------------------- /pontoon/base/static/fonts/OpenSans-Italic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diasks2/pontoon/master/pontoon/base/static/fonts/OpenSans-Italic.woff -------------------------------------------------------------------------------- /pontoon/base/static/fonts/OpenSans-Regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diasks2/pontoon/master/pontoon/base/static/fonts/OpenSans-Regular.eot -------------------------------------------------------------------------------- /pontoon/base/static/fonts/OpenSans-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diasks2/pontoon/master/pontoon/base/static/fonts/OpenSans-Regular.ttf -------------------------------------------------------------------------------- /pontoon/base/static/fonts/OpenSans-Regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diasks2/pontoon/master/pontoon/base/static/fonts/OpenSans-Regular.woff -------------------------------------------------------------------------------- /pontoon/base/static/img/plain_sign_in_blue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diasks2/pontoon/master/pontoon/base/static/img/plain_sign_in_blue.png -------------------------------------------------------------------------------- /vendor-local/lib/python/silme/format/gettext/structure.py: -------------------------------------------------------------------------------- 1 | from ...core import Structure 2 | 3 | class GettextStructure(Structure): 4 | pass 5 | -------------------------------------------------------------------------------- /hooks/php/test/fxlive/Datoteke_za_index/tweet_button_data/count.json: -------------------------------------------------------------------------------- 1 | twttr.receiveCount({"count":0,"url":"http://www-dev.allizom.org/en-US/firefoxlive/"}) -------------------------------------------------------------------------------- /hooks/php/test/testpilot/fonts/DroidSans-Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diasks2/pontoon/master/hooks/php/test/testpilot/fonts/DroidSans-Bold.ttf -------------------------------------------------------------------------------- /hooks/php/test/testpilot/images/download_arrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diasks2/pontoon/master/hooks/php/test/testpilot/images/download_arrow.png -------------------------------------------------------------------------------- /hooks/php/test/testpilot/images/home_computer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diasks2/pontoon/master/hooks/php/test/testpilot/images/home_computer.png -------------------------------------------------------------------------------- /hooks/php/test/testpilot/images/home_results.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diasks2/pontoon/master/hooks/php/test/testpilot/images/home_results.png -------------------------------------------------------------------------------- /hooks/php/test/testpilot/images/home_upcoming.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diasks2/pontoon/master/hooks/php/test/testpilot/images/home_upcoming.png -------------------------------------------------------------------------------- /hooks/php/test/testpilot/images/mozilla-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diasks2/pontoon/master/hooks/php/test/testpilot/images/mozilla-logo.png -------------------------------------------------------------------------------- /pontoon/base/static/fonts/fontawesome-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diasks2/pontoon/master/pontoon/base/static/fonts/fontawesome-webfont.eot -------------------------------------------------------------------------------- /pontoon/base/static/fonts/fontawesome-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diasks2/pontoon/master/pontoon/base/static/fonts/fontawesome-webfont.ttf -------------------------------------------------------------------------------- /pontoon/base/static/fonts/fontawesome-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diasks2/pontoon/master/pontoon/base/static/fonts/fontawesome-webfont.woff -------------------------------------------------------------------------------- /vendor-local/lib/python/silme/format/html/structure.py: -------------------------------------------------------------------------------- 1 | from ...core.structure import Structure 2 | 3 | class HTMLStructure(Structure): 4 | pass 5 | -------------------------------------------------------------------------------- /vendor-local/lib/python/silme/format/inc/structure.py: -------------------------------------------------------------------------------- 1 | from ...core.structure import Structure 2 | 3 | class IncStructure(Structure): 4 | pass 5 | -------------------------------------------------------------------------------- /vendor-local/lib/python/silme/format/ini/structure.py: -------------------------------------------------------------------------------- 1 | from ...core.structure import Structure 2 | 3 | class IniStructure(Structure): 4 | pass 5 | -------------------------------------------------------------------------------- /hooks/php/test/fxlive/Datoteke_za_index/logo-zoo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diasks2/pontoon/master/hooks/php/test/fxlive/Datoteke_za_index/logo-zoo.png -------------------------------------------------------------------------------- /hooks/php/test/fxlive/Datoteke_za_index/wtid.js: -------------------------------------------------------------------------------- 1 | 6 | -------------------------------------------------------------------------------- /clients/jetpack/README.md: -------------------------------------------------------------------------------- 1 | This is the jetpack add-on. It contains: 2 | 3 | * A program (lib/main.js). 4 | * A few tests. 5 | * Some meager documentation. 6 | -------------------------------------------------------------------------------- /hooks/php/test/fxlive/Datoteke_za_index/player_v2.swf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diasks2/pontoon/master/hooks/php/test/fxlive/Datoteke_za_index/player_v2.swf -------------------------------------------------------------------------------- /hooks/php/test/fxlive/Datoteke_za_index/title-en-US.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diasks2/pontoon/master/hooks/php/test/fxlive/Datoteke_za_index/title-en-US.png -------------------------------------------------------------------------------- /hooks/php/test/fxlive/Datoteke_za_index/title-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diasks2/pontoon/master/hooks/php/test/fxlive/Datoteke_za_index/title-logo.png -------------------------------------------------------------------------------- /hooks/php/test/fxlive/img/fonts/MetaWebPro-Black.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diasks2/pontoon/master/hooks/php/test/fxlive/img/fonts/MetaWebPro-Black.woff -------------------------------------------------------------------------------- /lib/product_details_json/thunderbird_history_major_releases.json: -------------------------------------------------------------------------------- 1 | {"1.0":"2004-12-07","1.5":"2006-01-11","2.0":"2007-04-18","3.0":"2009-12-08","3.1":"2010-06-24"} -------------------------------------------------------------------------------- /hooks/php/test/fxlive/Datoteke_za_index/logo-firefox.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diasks2/pontoon/master/hooks/php/test/fxlive/Datoteke_za_index/logo-firefox.png -------------------------------------------------------------------------------- /vendor-local/lib/python/silme/format/properties/structure.py: -------------------------------------------------------------------------------- 1 | from ...core.structure import Structure 2 | 3 | class PropertiesStructure(Structure): 4 | pass 5 | -------------------------------------------------------------------------------- /lib/product_details_json/mobile_history_development_releases.json: -------------------------------------------------------------------------------- 1 | {"1.1b1":"2010-04-28","1.1rc1":"2010-06-16","4.0b1":"2010-10-06","4.0b2":"2010-11-04","4.0b3":"2010-12-22"} -------------------------------------------------------------------------------- /lib/product_details_json/firefox_history_major_releases.json: -------------------------------------------------------------------------------- 1 | {"1.0":"2004-11-09","1.5":"2005-11-29","2.0":"2006-10-24","3.0":"2008-06-17","3.5":"2009-06-30","3.6":"2010-01-21"} -------------------------------------------------------------------------------- /hooks/php/test/fxlive/Datoteke_za_index/follow_button_data/f.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diasks2/pontoon/master/hooks/php/test/fxlive/Datoteke_za_index/follow_button_data/f.gif -------------------------------------------------------------------------------- /hooks/php/test/fxlive/Datoteke_za_index/tweet_button_data/t.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diasks2/pontoon/master/hooks/php/test/fxlive/Datoteke_za_index/tweet_button_data/t.gif -------------------------------------------------------------------------------- /vendor-local/lib/python/polib-1.0.0-py2.7.egg-info/installed-files.txt: -------------------------------------------------------------------------------- 1 | ../polib.py 2 | ../polib.pyc 3 | ./ 4 | PKG-INFO 5 | top_level.txt 6 | SOURCES.txt 7 | dependency_links.txt 8 | -------------------------------------------------------------------------------- /pontoon/base/templates/loader.html: -------------------------------------------------------------------------------- 1 |
2 |
3 |

Loading

4 | 5 |
6 |
7 | -------------------------------------------------------------------------------- /hooks/php/test/fxlive/Datoteke_za_index/img/covehead/firefoxlive/bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diasks2/pontoon/master/hooks/php/test/fxlive/Datoteke_za_index/img/covehead/firefoxlive/bg.png -------------------------------------------------------------------------------- /vendor-local/lib/python/async/test/lib.py: -------------------------------------------------------------------------------- 1 | """Module with shared tools for testing""" 2 | import unittest 3 | 4 | 5 | class TestBase(unittest.TestCase): 6 | """Common base for all tests""" 7 | -------------------------------------------------------------------------------- /hooks/php/test/fxlive/Datoteke_za_index/img/covehead/video/clothes-lol.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diasks2/pontoon/master/hooks/php/test/fxlive/Datoteke_za_index/img/covehead/video/clothes-lol.png -------------------------------------------------------------------------------- /vendor-local/lib/python/polib-1.0.0-py2.7.egg-info/SOURCES.txt: -------------------------------------------------------------------------------- 1 | polib.py 2 | polib.egg-info/PKG-INFO 3 | polib.egg-info/SOURCES.txt 4 | polib.egg-info/dependency_links.txt 5 | polib.egg-info/top_level.txt -------------------------------------------------------------------------------- /vendor-local/lib/python/south/test_shim.py: -------------------------------------------------------------------------------- 1 | """ 2 | This file is needed as 1.6 only finds tests in files labelled test_*, 3 | and ignores tests/__init__.py. 4 | """ 5 | 6 | from south.tests import * 7 | -------------------------------------------------------------------------------- /lib/product_details_json/firefox_versions.json: -------------------------------------------------------------------------------- 1 | {"LATEST_FIREFOX_VERSION":"3.6.13","LATEST_FIREFOX_DEVEL_VERSION":"4.0b10","LATEST_FIREFOX_RELEASED_DEVEL_VERSION":"4.0b10","LATEST_FIREFOX_OLDER_VERSION":"3.5.16"} -------------------------------------------------------------------------------- /hooks/php/test/fxlive/Datoteke_za_index/img/covehead/annualreport/mozilla-tab.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diasks2/pontoon/master/hooks/php/test/fxlive/Datoteke_za_index/img/covehead/annualreport/mozilla-tab.png -------------------------------------------------------------------------------- /settings/__init__.py: -------------------------------------------------------------------------------- 1 | from .base import * 2 | try: 3 | from .local import * 4 | except ImportError, exc: 5 | exc.args = tuple(['%s (did you rename settings/local.py-dist?)' % exc.args[0]]) 6 | raise exc 7 | -------------------------------------------------------------------------------- /clients/jetpack/doc/main.md: -------------------------------------------------------------------------------- 1 | The main module is a program that creates a widget. When a user clicks on 2 | the widget, the program loads the Pontoon web client with the current page ready for localization in a new tab. 3 | -------------------------------------------------------------------------------- /hooks/php/test/fxlive/Datoteke_za_index/img/covehead/firefoxlive/overlay-facebook.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diasks2/pontoon/master/hooks/php/test/fxlive/Datoteke_za_index/img/covehead/firefoxlive/overlay-facebook.png -------------------------------------------------------------------------------- /hooks/php/test/fxlive/Datoteke_za_index/img/covehead/firefoxlive/overlay-header.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diasks2/pontoon/master/hooks/php/test/fxlive/Datoteke_za_index/img/covehead/firefoxlive/overlay-header.png -------------------------------------------------------------------------------- /hooks/php/test/fxlive/Datoteke_za_index/img/covehead/firefoxlive/video-controls.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diasks2/pontoon/master/hooks/php/test/fxlive/Datoteke_za_index/img/covehead/firefoxlive/video-controls.png -------------------------------------------------------------------------------- /pontoon/base/templates/403.html: -------------------------------------------------------------------------------- 1 | {% extends "404.html" %} 2 | 3 | {% block title %}Pontoon · Forbidden page{% endblock %} 4 | 5 | {% block subtitle %}You don't have permission to access this page.{% endblock %} 6 | -------------------------------------------------------------------------------- /clients/jetpack/package.json.backup: -------------------------------------------------------------------------------- 1 | { 2 | "name": "jetpack", 3 | "fullName": "jetpack", 4 | "description": "a basic add-on", 5 | "author": "", 6 | "license": "MPL 1.1/GPL 2.0/LGPL 2.1", 7 | "version": "0.1" 8 | } 9 | -------------------------------------------------------------------------------- /requirements/prod.txt: -------------------------------------------------------------------------------- 1 | -r ../vendor/src/funfactory/funfactory/requirements/prod.txt 2 | 3 | south 4 | polib 5 | mercurial 6 | configparser 7 | suds 8 | 9 | # Not available in PyPI 10 | -e hg+http://hg.mozilla.org/l10n/silme#egg=silme 11 | -------------------------------------------------------------------------------- /vendor-local/lib/python/south/creator/__init__.py: -------------------------------------------------------------------------------- 1 | """ 2 | The creator module is responsible for making new migration files, either 3 | as blank templates or autodetecting changes. It contains code that used to 4 | all be in startmigration.py. 5 | """ 6 | -------------------------------------------------------------------------------- /vendor-local/lib/python/south/__init__.py: -------------------------------------------------------------------------------- 1 | """ 2 | South - Useable migrations for Django apps 3 | """ 4 | 5 | __version__ = "0.8.4" 6 | __authors__ = [ 7 | "Andrew Godwin ", 8 | "Andy McCurdy " 9 | ] 10 | -------------------------------------------------------------------------------- /vendor-local/lib/python/silme/core/__init__.py: -------------------------------------------------------------------------------- 1 | from .entity import Entity 2 | from .list import EntityList 3 | from .structure import Blob, Structure, Comment 4 | from .package import Package 5 | 6 | __all__ = ['Blob','Entity','EntityList','Structure','Comment','Package'] -------------------------------------------------------------------------------- /vendor-local/lib/python/south/tests/deps_a/migrations/0001_a.py: -------------------------------------------------------------------------------- 1 | from south.db import db 2 | from django.db import models 3 | 4 | class Migration: 5 | 6 | def forwards(self): 7 | pass 8 | 9 | def backwards(self): 10 | pass 11 | 12 | -------------------------------------------------------------------------------- /vendor-local/lib/python/south/tests/deps_a/migrations/0002_a.py: -------------------------------------------------------------------------------- 1 | from south.db import db 2 | from django.db import models 3 | 4 | class Migration: 5 | 6 | def forwards(self): 7 | pass 8 | 9 | def backwards(self): 10 | pass 11 | 12 | -------------------------------------------------------------------------------- /vendor-local/lib/python/south/tests/deps_a/migrations/0003_a.py: -------------------------------------------------------------------------------- 1 | from south.db import db 2 | from django.db import models 3 | 4 | class Migration: 5 | 6 | def forwards(self): 7 | pass 8 | 9 | def backwards(self): 10 | pass 11 | 12 | -------------------------------------------------------------------------------- /vendor-local/lib/python/south/tests/deps_a/migrations/0005_a.py: -------------------------------------------------------------------------------- 1 | from south.db import db 2 | from django.db import models 3 | 4 | class Migration: 5 | 6 | def forwards(self): 7 | pass 8 | 9 | def backwards(self): 10 | pass 11 | 12 | -------------------------------------------------------------------------------- /vendor-local/lib/python/south/tests/deps_b/migrations/0001_b.py: -------------------------------------------------------------------------------- 1 | from south.db import db 2 | from django.db import models 3 | 4 | class Migration: 5 | 6 | def forwards(self): 7 | pass 8 | 9 | def backwards(self): 10 | pass 11 | 12 | -------------------------------------------------------------------------------- /vendor-local/lib/python/south/tests/deps_b/migrations/0004_b.py: -------------------------------------------------------------------------------- 1 | from south.db import db 2 | from django.db import models 3 | 4 | class Migration: 5 | 6 | def forwards(self): 7 | pass 8 | 9 | def backwards(self): 10 | pass 11 | 12 | -------------------------------------------------------------------------------- /vendor-local/lib/python/south/tests/deps_b/migrations/0005_b.py: -------------------------------------------------------------------------------- 1 | from south.db import db 2 | from django.db import models 3 | 4 | class Migration: 5 | 6 | def forwards(self): 7 | pass 8 | 9 | def backwards(self): 10 | pass 11 | 12 | -------------------------------------------------------------------------------- /vendor-local/lib/python/south/tests/deps_c/migrations/0001_c.py: -------------------------------------------------------------------------------- 1 | from south.db import db 2 | from django.db import models 3 | 4 | class Migration: 5 | 6 | def forwards(self): 7 | pass 8 | 9 | def backwards(self): 10 | pass 11 | 12 | -------------------------------------------------------------------------------- /vendor-local/lib/python/south/tests/deps_c/migrations/0002_c.py: -------------------------------------------------------------------------------- 1 | from south.db import db 2 | from django.db import models 3 | 4 | class Migration: 5 | 6 | def forwards(self): 7 | pass 8 | 9 | def backwards(self): 10 | pass 11 | 12 | -------------------------------------------------------------------------------- /vendor-local/lib/python/south/tests/deps_c/migrations/0003_c.py: -------------------------------------------------------------------------------- 1 | from south.db import db 2 | from django.db import models 3 | 4 | class Migration: 5 | 6 | def forwards(self): 7 | pass 8 | 9 | def backwards(self): 10 | pass 11 | 12 | -------------------------------------------------------------------------------- /vendor-local/lib/python/south/tests/deps_c/migrations/0004_c.py: -------------------------------------------------------------------------------- 1 | from south.db import db 2 | from django.db import models 3 | 4 | class Migration: 5 | 6 | def forwards(self): 7 | pass 8 | 9 | def backwards(self): 10 | pass 11 | 12 | -------------------------------------------------------------------------------- /vendor-local/lib/python/south/tests/brokenapp/migrations/0004_higher.py: -------------------------------------------------------------------------------- 1 | from south.db import db 2 | from django.db import models 3 | 4 | class Migration: 5 | 6 | def forwards(self): 7 | pass 8 | 9 | def backwards(self): 10 | pass 11 | 12 | -------------------------------------------------------------------------------- /vendor-local/lib/python/south/tests/otherfakeapp/migrations/0002_second.py: -------------------------------------------------------------------------------- 1 | from south.db import db 2 | from django.db import models 3 | 4 | class Migration: 5 | 6 | def forwards(self): 7 | pass 8 | 9 | def backwards(self): 10 | pass 11 | 12 | -------------------------------------------------------------------------------- /vendor-local/lib/python/configparser-3.3.0r2-py2.7.egg-info/installed-files.txt: -------------------------------------------------------------------------------- 1 | ../configparser.py 2 | ../configparser_helpers.py 3 | ../configparser.pyc 4 | ../configparser_helpers.pyc 5 | ./ 6 | dependency_links.txt 7 | PKG-INFO 8 | SOURCES.txt 9 | top_level.txt 10 | zip-safe 11 | -------------------------------------------------------------------------------- /bin/update/commander_settings.py-dist: -------------------------------------------------------------------------------- 1 | SRC_DIR = '' 2 | WWW_DIR = '' 3 | 4 | CRON_NAME = '' 5 | 6 | DEPLOY_SCRIPT = '' 7 | REMOTE_UPDATE_SCRIPT = '' 8 | 9 | WEB_HOSTGROUP = '' 10 | CELERY_HOSTGROUP = '' 11 | CELERY_SERVICE = '' 12 | 13 | UPDATE_REF = 'origin/master' 14 | SSH_KEY = None 15 | -------------------------------------------------------------------------------- /pontoon/administration/static/js/admin.js: -------------------------------------------------------------------------------- 1 | $(function() { 2 | 3 | // Edit project if selected from the menu 4 | $('.project .menu li').click(function (e) { 5 | e.preventDefault(); 6 | window.location = 'admin/project/' + $(this).find('.project-name').data('slug'); 7 | }); 8 | 9 | }); 10 | -------------------------------------------------------------------------------- /vendor-local/lib/python/silme/diff/__init__.py: -------------------------------------------------------------------------------- 1 | from .entity import EntityDiff 2 | from .list import EntityListDiff 3 | from .blob import BlobDiff 4 | from .structure import StructureDiff 5 | from .package import PackageDiff 6 | 7 | __all__ = ['BlobDiff','EntityDiff','EntityListDiff','StructureDiff','PackageDiff'] -------------------------------------------------------------------------------- /clients/jetpack/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "pontoon", 3 | "license": "MPL 1.1/GPL 2.0/LGPL 2.1", 4 | "author": "Matjaž Horvat", 5 | "version": "0.1", 6 | "fullName": "pontoon", 7 | "id": "jid1-s4tGFu8cE5A5Wg", 8 | "description": "In-place website localization tool" 9 | } 10 | -------------------------------------------------------------------------------- /vendor-local/lib/python/south/tests/deps_a/migrations/0004_a.py: -------------------------------------------------------------------------------- 1 | from south.db import db 2 | from django.db import models 3 | 4 | class Migration: 5 | 6 | depends_on = [('deps_b', '0003_b')] 7 | 8 | def forwards(self): 9 | pass 10 | 11 | def backwards(self): 12 | pass 13 | 14 | -------------------------------------------------------------------------------- /vendor-local/lib/python/south/tests/deps_b/migrations/0002_b.py: -------------------------------------------------------------------------------- 1 | from south.db import db 2 | from django.db import models 3 | 4 | class Migration: 5 | 6 | depends_on = [('deps_a', '0002_a')] 7 | 8 | def forwards(self): 9 | pass 10 | 11 | def backwards(self): 12 | pass 13 | 14 | -------------------------------------------------------------------------------- /vendor-local/lib/python/south/tests/deps_b/migrations/0003_b.py: -------------------------------------------------------------------------------- 1 | from south.db import db 2 | from django.db import models 3 | 4 | class Migration: 5 | 6 | depends_on = [('deps_a', '0003_a')] 7 | 8 | def forwards(self): 9 | pass 10 | 11 | def backwards(self): 12 | pass 13 | 14 | -------------------------------------------------------------------------------- /vendor-local/lib/python/south/tests/deps_c/migrations/0005_c.py: -------------------------------------------------------------------------------- 1 | from south.db import db 2 | from django.db import models 3 | 4 | class Migration: 5 | 6 | depends_on = [('deps_a', '0002_a')] 7 | 8 | def forwards(self): 9 | pass 10 | 11 | def backwards(self): 12 | pass 13 | 14 | -------------------------------------------------------------------------------- /vendor-local/lib/python/suds-0.4-py2.7.egg-info/PKG-INFO: -------------------------------------------------------------------------------- 1 | Metadata-Version: 1.0 2 | Name: suds 3 | Version: 0.4 4 | Summary: Lightweight SOAP client 5 | Home-page: https://fedorahosted.org/suds 6 | Author: Jeff Ortel 7 | Author-email: jortel@redhat.com 8 | License: UNKNOWN 9 | Description: UNKNOWN 10 | Platform: UNKNOWN 11 | -------------------------------------------------------------------------------- /bin/crontab/crontab.tpl: -------------------------------------------------------------------------------- 1 | # 2 | # {{ header }} 3 | # 4 | 5 | # MAILTO=some-email-list 6 | 7 | HOME=/tmp 8 | 9 | # Every minute! 10 | * * * * * {{ cron }} 11 | 12 | # Every hour. 13 | 42 * * * * {{ django }} cleanup 14 | 15 | # Every 2 hours. 16 | 1 */2 * * * {{ cron }} something 17 | 18 | # Etc... 19 | 20 | MAILTO=root 21 | -------------------------------------------------------------------------------- /vendor-local/lib/python/south/tests/circular_a/migrations/0001_first.py: -------------------------------------------------------------------------------- 1 | from south.db import db 2 | from django.db import models 3 | 4 | class Migration: 5 | 6 | depends_on = [('circular_b', '0001_first')] 7 | 8 | def forwards(self): 9 | pass 10 | 11 | def backwards(self): 12 | pass 13 | 14 | -------------------------------------------------------------------------------- /vendor-local/lib/python/south/tests/circular_b/migrations/0001_first.py: -------------------------------------------------------------------------------- 1 | from south.db import db 2 | from django.db import models 3 | 4 | class Migration: 5 | 6 | depends_on = [('circular_a', '0001_first')] 7 | 8 | def forwards(self): 9 | pass 10 | 11 | def backwards(self): 12 | pass 13 | 14 | -------------------------------------------------------------------------------- /vendor-local/lib/python/async/test/test_task.py: -------------------------------------------------------------------------------- 1 | """Channel testing""" 2 | from lib import * 3 | from async.util import * 4 | from async.task import * 5 | 6 | import time 7 | 8 | class TestTask(TestBase): 9 | 10 | max_threads = cpu_count() 11 | 12 | def test_iterator_task(self): 13 | # tested via test_pool 14 | pass 15 | 16 | -------------------------------------------------------------------------------- /vendor-local/lib/python/smmap/exc.py: -------------------------------------------------------------------------------- 1 | """Module with system exceptions""" 2 | 3 | class MemoryManagerError(Exception): 4 | """Base class for all exceptions thrown by the memory manager""" 5 | 6 | class RegionCollectionError(MemoryManagerError): 7 | """Thrown if a memory region could not be collected, or if no region for collection was found""" 8 | -------------------------------------------------------------------------------- /vendor-local/lib/python/south/management/commands/test.py: -------------------------------------------------------------------------------- 1 | from django.core.management.commands import test 2 | 3 | from south.management.commands import patch_for_test_db_setup 4 | 5 | class Command(test.Command): 6 | def handle(self, *args, **kwargs): 7 | patch_for_test_db_setup() 8 | super(Command, self).handle(*args, **kwargs) 9 | -------------------------------------------------------------------------------- /vendor-local/lib/python/south/tests/brokenapp/migrations/0001_depends_on_unmigrated.py: -------------------------------------------------------------------------------- 1 | from south.db import db 2 | from django.db import models 3 | 4 | class Migration: 5 | 6 | depends_on = [('unknown', '0001_initial')] 7 | 8 | def forwards(self): 9 | pass 10 | 11 | def backwards(self): 12 | pass 13 | 14 | -------------------------------------------------------------------------------- /vendor-local/lib/python/south/tests/brokenapp/migrations/0002_depends_on_unknown.py: -------------------------------------------------------------------------------- 1 | from south.db import db 2 | from django.db import models 3 | 4 | class Migration: 5 | 6 | depends_on = [('fakeapp', '9999_unknown')] 7 | 8 | def forwards(self): 9 | pass 10 | 11 | def backwards(self): 12 | pass 13 | 14 | -------------------------------------------------------------------------------- /vendor-local/lib/python/south/tests/brokenapp/migrations/0003_depends_on_higher.py: -------------------------------------------------------------------------------- 1 | from south.db import db 2 | from django.db import models 3 | 4 | class Migration: 5 | 6 | depends_on = [('brokenapp', '0004_higher')] 7 | 8 | def forwards(self): 9 | pass 10 | 11 | def backwards(self): 12 | pass 13 | 14 | -------------------------------------------------------------------------------- /pontoon/base/admin.py: -------------------------------------------------------------------------------- 1 | from pontoon.base.models import UserProfile, Locale, Project, Subpage, Entity, Translation 2 | from django.contrib import admin 3 | 4 | admin.site.register(UserProfile) 5 | admin.site.register(Locale) 6 | admin.site.register(Project) 7 | admin.site.register(Subpage) 8 | admin.site.register(Entity) 9 | admin.site.register(Translation) 10 | -------------------------------------------------------------------------------- /vendor-local/lib/python/south/hacks/__init__.py: -------------------------------------------------------------------------------- 1 | """ 2 | The hacks module encapsulates all the horrible things that play with Django 3 | internals in one, evil place. 4 | This top file will automagically expose the correct Hacks class. 5 | """ 6 | 7 | # Currently, these work for 1.0 and 1.1. 8 | from south.hacks.django_1_0 import Hacks 9 | 10 | hacks = Hacks() -------------------------------------------------------------------------------- /vendor-local/lib/python/south/tests/otherfakeapp/migrations/0001_first.py: -------------------------------------------------------------------------------- 1 | from south.db import db 2 | from django.db import models 3 | 4 | class Migration: 5 | 6 | depends_on = ( 7 | ("fakeapp", "0001_spam"), 8 | ) 9 | 10 | def forwards(self): 11 | pass 12 | 13 | def backwards(self): 14 | pass 15 | 16 | -------------------------------------------------------------------------------- /vendor-local/lib/python/south/tests/otherfakeapp/migrations/0003_third.py: -------------------------------------------------------------------------------- 1 | from south.db import db 2 | from django.db import models 3 | 4 | class Migration: 5 | 6 | depends_on = ( 7 | ("fakeapp", "0003_alter_spam"), 8 | ) 9 | 10 | def forwards(self): 11 | pass 12 | 13 | def backwards(self): 14 | pass 15 | -------------------------------------------------------------------------------- /vendor-local/lib/python/south/management/commands/testserver.py: -------------------------------------------------------------------------------- 1 | from django.core.management.commands import testserver 2 | 3 | from south.management.commands import patch_for_test_db_setup 4 | 5 | class Command(testserver.Command): 6 | def handle(self, *args, **kwargs): 7 | patch_for_test_db_setup() 8 | super(Command, self).handle(*args, **kwargs) 9 | -------------------------------------------------------------------------------- /clients/jetpack/lib/main.js: -------------------------------------------------------------------------------- 1 | const host = "http://horv.at/p/" 2 | const widgets = require("widget"); 3 | const tabs = require("tabs"); 4 | 5 | var widget = widgets.Widget({ 6 | id: "pontoon-link", 7 | label: "Pontoon", 8 | contentURL: host + "client/www/favicon.ico", 9 | onClick: function() { 10 | tabs.open(host + "?url=" + tabs.activeTab.url); 11 | } 12 | }); -------------------------------------------------------------------------------- /requirements/dev.txt: -------------------------------------------------------------------------------- 1 | # This file pulls in everything a developer needs. If it's a basic package 2 | # needed to run the site, it belongs in requirements/prod.txt. If it's a 3 | # package for developers (testing, docs, etc.), it goes in this file. 4 | 5 | -r ../vendor/src/funfactory/funfactory/requirements/compiled.txt 6 | -r ../vendor/src/funfactory/funfactory/requirements/dev.txt 7 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Local settings 2 | hooks/php/local-settings.php 3 | settings_local.py 4 | settings/local.py 5 | */settings/local.py 6 | *.py[co] 7 | *.sw[po] 8 | .coverage 9 | pip-log.txt 10 | docs/_gh-pages 11 | build.py 12 | build 13 | .DS_Store 14 | *-min.css 15 | *-all.css 16 | *-min.js 17 | *-all.js 18 | .noseids 19 | tmp/* 20 | *~ 21 | *.mo 22 | .vagrant 23 | /env/ 24 | /static/ 25 | -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "vendor"] 2 | path = vendor 3 | url = git://github.com/mozilla/playdoh-lib.git 4 | [submodule "vendor-local/src/pysvn"] 5 | path = vendor-local/src/pysvn 6 | url = git://github.com/Formulka/pysvn.git 7 | [submodule "hooks/django/django-pontoon-hook"] 8 | path = hooks/django/django-pontoon-hook 9 | url = git://github.com/rtnpro/django-pontoon-hook.git 10 | -------------------------------------------------------------------------------- /vendor-local/lib/python/configparser-3.3.0r2-py2.7.egg-info/SOURCES.txt: -------------------------------------------------------------------------------- 1 | MANIFEST.in 2 | README.rst 3 | configparser.py 4 | configparser.rst 5 | configparser_helpers.py 6 | setup.cfg 7 | setup.py 8 | configparser.egg-info/PKG-INFO 9 | configparser.egg-info/SOURCES.txt 10 | configparser.egg-info/dependency_links.txt 11 | configparser.egg-info/top_level.txt 12 | configparser.egg-info/zip-safe -------------------------------------------------------------------------------- /vendor-local/lib/python/async-0.6.1-py2.7.egg-info/PKG-INFO: -------------------------------------------------------------------------------- 1 | Metadata-Version: 1.0 2 | Name: async 3 | Version: 0.6.1 4 | Summary: Async Framework 5 | Home-page: http://gitorious.org/git-python/async 6 | Author: Sebastian Thiel 7 | Author-email: byronimo@gmail.com 8 | License: BSD License 9 | Description: Async is a framework to process interdependent tasks in a pool of workers 10 | Platform: UNKNOWN 11 | -------------------------------------------------------------------------------- /vendor-local/lib/python/smmap/__init__.py: -------------------------------------------------------------------------------- 1 | """Intialize the smmap package""" 2 | 3 | __author__ = "Sebastian Thiel" 4 | __contact__ = "byronimo@gmail.com" 5 | __homepage__ = "https://github.com/Byron/smmap" 6 | version_info = (0, 8, 2) 7 | __version__ = '.'.join(str(i) for i in version_info) 8 | 9 | # make everything available in root package for convenience 10 | from mman import * 11 | from buf import * 12 | -------------------------------------------------------------------------------- /vendor-local/lib/python/gitdb/db/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2010, 2011 Sebastian Thiel (byronimo@gmail.com) and contributors 2 | # 3 | # This module is part of GitDB and is released under 4 | # the New BSD License: http://www.opensource.org/licenses/bsd-license.php 5 | 6 | from base import * 7 | from loose import * 8 | from mem import * 9 | from pack import * 10 | from git import * 11 | from ref import * 12 | 13 | -------------------------------------------------------------------------------- /vendor-local/lib/python/gitdb-0.5.4-py2.7.egg-info/PKG-INFO: -------------------------------------------------------------------------------- 1 | Metadata-Version: 1.1 2 | Name: gitdb 3 | Version: 0.5.4 4 | Summary: Git Object Database 5 | Home-page: https://github.com/gitpython-developers/gitdb 6 | Author: Sebastian Thiel 7 | Author-email: byronimo@gmail.com 8 | License: BSD License 9 | Description: GitDB is a pure-Python git object database 10 | Platform: UNKNOWN 11 | Requires: async (>=0.6.1) 12 | Requires: smmap (>=0.8.0) 13 | -------------------------------------------------------------------------------- /setup.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | from setuptools import setup, find_packages 4 | 5 | 6 | setup(name='pontoon', 7 | version='1.0', 8 | description='Django application.', 9 | long_description='', 10 | author='', 11 | author_email='', 12 | license='', 13 | url='', 14 | include_package_data=True, 15 | classifiers = [], 16 | packages=find_packages(exclude=['tests']), 17 | install_requires=[]) 18 | -------------------------------------------------------------------------------- /vendor-local/lib/python/south/introspection_plugins/django_taggit.py: -------------------------------------------------------------------------------- 1 | """ 2 | South introspection rules for django-taggit 3 | """ 4 | 5 | from django.conf import settings 6 | from south.modelsinspector import add_ignored_fields 7 | 8 | if 'taggit' in settings.INSTALLED_APPS: 9 | try: 10 | from taggit.managers import TaggableManager 11 | except ImportError: 12 | pass 13 | else: 14 | add_ignored_fields(["^taggit\.managers"]) 15 | -------------------------------------------------------------------------------- /pontoon/base/tests.py: -------------------------------------------------------------------------------- 1 | """ 2 | This file demonstrates writing tests using the unittest module. These will pass 3 | when you run "manage.py test". 4 | 5 | Replace this with more appropriate tests for your application. 6 | """ 7 | 8 | from django.test import TestCase 9 | 10 | 11 | class SimpleTest(TestCase): 12 | def test_basic_addition(self): 13 | """ 14 | Tests that 1 + 1 always equals 2. 15 | """ 16 | self.assertEqual(1 + 1, 2) 17 | -------------------------------------------------------------------------------- /vendor-local/lib/python/south/tests/non_managed/models.py: -------------------------------------------------------------------------------- 1 | # -*- coding: UTF-8 -*- 2 | 3 | """ 4 | An app with a model that is not managed for testing that South does 5 | not try to manage it in any way 6 | """ 7 | from django.db import models 8 | 9 | class Legacy(models.Model): 10 | 11 | name = models.CharField(max_length=10) 12 | size = models.IntegerField() 13 | 14 | class Meta: 15 | db_table = "legacy_table" 16 | managed = False 17 | -------------------------------------------------------------------------------- /pontoon/administration/tests.py: -------------------------------------------------------------------------------- 1 | """ 2 | This file demonstrates writing tests using the unittest module. These will pass 3 | when you run "manage.py test". 4 | 5 | Replace this with more appropriate tests for your application. 6 | """ 7 | 8 | from django.test import TestCase 9 | 10 | 11 | class SimpleTest(TestCase): 12 | def test_basic_addition(self): 13 | """ 14 | Tests that 1 + 1 always equals 2. 15 | """ 16 | self.assertEqual(1 + 1, 2) 17 | -------------------------------------------------------------------------------- /vendor-local/lib/python/smmap-0.8.2-py2.7.egg-info/SOURCES.txt: -------------------------------------------------------------------------------- 1 | setup.cfg 2 | setup.py 3 | smmap/__init__.py 4 | smmap/buf.py 5 | smmap/exc.py 6 | smmap/mman.py 7 | smmap/util.py 8 | smmap.egg-info/PKG-INFO 9 | smmap.egg-info/SOURCES.txt 10 | smmap.egg-info/dependency_links.txt 11 | smmap.egg-info/top_level.txt 12 | smmap.egg-info/zip-safe 13 | smmap/test/__init__.py 14 | smmap/test/lib.py 15 | smmap/test/test_buf.py 16 | smmap/test/test_mman.py 17 | smmap/test/test_tutorial.py 18 | smmap/test/test_util.py -------------------------------------------------------------------------------- /clients/bookmarklet/b.js: -------------------------------------------------------------------------------- 1 | javascript:(function(d){if(typeof Pontoon==='undefined'){PontoonBookmarklet='http://horv.at/p/';d.body.appendChild(d.createElement('script')).src=PontoonBookmarklet+'client/bookmarklet/loader.js';}})(document); 2 | 3 | /* 4 | (function(d) { 5 | if (typeof Pontoon === 'undefined') { 6 | PontoonBookmarklet = 'http://horv.at/p'; 7 | d.body.appendChild(d.createElement('script')).src = PontoonBookmarklet + '/client/bookmarklet/loader.js'; 8 | } 9 | })(document); 10 | */ 11 | -------------------------------------------------------------------------------- /lib/product_details_json/thunderbird_history_development_releases.json: -------------------------------------------------------------------------------- 1 | {"1.0rc1":"2004-12-01","1.5b1":"2005-09-09","1.5b2":"2005-10-07","1.5rc1":"2005-11-05","1.5rc2":"2005-12-21","2.0b1":"2006-12-12","2.0b2":"2007-01-23","2.0rc1":"2007-04-06","3.0a1":"2008-05-12","3.0a2":"2008-07-13","3.0a3":"2008-10-14","3.0b1":"2008-12-09","3.0b2":"2009-02-26","3.0b3":"2009-07-21","3.0b4":"2009-10-22","3.0rc1":"2009-11-24","3.0rc2":"2009-12-01","3.1a1":"2010-02-03","3.1b1":"2010-03-10","3.1rc1":"2010-05-27","3.1rc2":"2010-06-09"} -------------------------------------------------------------------------------- /vendor-local/lib/python/gitdb/typ.py: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2010, 2011 Sebastian Thiel (byronimo@gmail.com) and contributors 2 | # 3 | # This module is part of GitDB and is released under 4 | # the New BSD License: http://www.opensource.org/licenses/bsd-license.php 5 | """Module containing information about types known to the database""" 6 | 7 | #{ String types 8 | 9 | str_blob_type = "blob" 10 | str_commit_type = "commit" 11 | str_tree_type = "tree" 12 | str_tag_type = "tag" 13 | 14 | #} END string types 15 | -------------------------------------------------------------------------------- /vendor-local/lib/python/south/introspection_plugins/annoying_autoonetoone.py: -------------------------------------------------------------------------------- 1 | from django.conf import settings 2 | from south.modelsinspector import add_introspection_rules 3 | 4 | if 'annoying' in settings.INSTALLED_APPS: 5 | try: 6 | from annoying.fields import AutoOneToOneField 7 | except ImportError: 8 | pass 9 | else: 10 | #django-annoying's AutoOneToOneField is essentially a OneToOneField. 11 | add_introspection_rules([], ["^annoying\.fields\.AutoOneToOneField"]) 12 | -------------------------------------------------------------------------------- /vendor-local/lib/python/south/introspection_plugins/__init__.py: -------------------------------------------------------------------------------- 1 | # This module contains built-in introspector plugins for various common 2 | # Django apps. 3 | 4 | # These imports trigger the lower-down files 5 | import south.introspection_plugins.geodjango 6 | import south.introspection_plugins.django_audit_log 7 | import south.introspection_plugins.django_tagging 8 | import south.introspection_plugins.django_taggit 9 | import south.introspection_plugins.django_objectpermissions 10 | import south.introspection_plugins.annoying_autoonetoone 11 | 12 | -------------------------------------------------------------------------------- /vendor-local/lib/python/gitdb-0.5.4-py2.7.egg-info/SOURCES.txt: -------------------------------------------------------------------------------- 1 | gitdb/__init__.py 2 | gitdb/_delta_apply.c 3 | gitdb/_fun.c 4 | gitdb/base.py 5 | gitdb/exc.py 6 | gitdb/fun.py 7 | gitdb/pack.py 8 | gitdb/stream.py 9 | gitdb/typ.py 10 | gitdb/util.py 11 | gitdb.egg-info/PKG-INFO 12 | gitdb.egg-info/SOURCES.txt 13 | gitdb.egg-info/dependency_links.txt 14 | gitdb.egg-info/not-zip-safe 15 | gitdb.egg-info/requires.txt 16 | gitdb.egg-info/top_level.txt 17 | gitdb/db/__init__.py 18 | gitdb/db/base.py 19 | gitdb/db/git.py 20 | gitdb/db/loose.py 21 | gitdb/db/mem.py 22 | gitdb/db/pack.py 23 | gitdb/db/ref.py -------------------------------------------------------------------------------- /wsgi/playdoh.wsgi: -------------------------------------------------------------------------------- 1 | import os 2 | import site 3 | 4 | os.environ.setdefault('CELERY_LOADER', 'django') 5 | # NOTE: you can also set DJANGO_SETTINGS_MODULE in your environment to override 6 | # the default value in manage.py 7 | 8 | # Add the app dir to the python path so we can import manage. 9 | wsgidir = os.path.dirname(__file__) 10 | site.addsitedir(os.path.abspath(os.path.join(wsgidir, '../'))) 11 | 12 | # manage adds /apps, /lib, and /vendor to the Python path. 13 | import manage 14 | 15 | import django.core.handlers.wsgi 16 | application = django.core.handlers.wsgi.WSGIHandler() 17 | 18 | # vim: ft=python 19 | -------------------------------------------------------------------------------- /vendor-local/lib/python/south/tests/fakeapp/migrations/0001_spam.py: -------------------------------------------------------------------------------- 1 | from south.db import db 2 | from django.db import models 3 | 4 | class Migration: 5 | 6 | def forwards(self): 7 | # Model 'Spam' 8 | db.create_table("southtest_spam", ( 9 | ('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)), 10 | ('weight', models.FloatField()), 11 | ('expires', models.DateTimeField()), 12 | ('name', models.CharField(max_length=255)) 13 | )) 14 | 15 | def backwards(self): 16 | db.delete_table("southtest_spam") 17 | 18 | -------------------------------------------------------------------------------- /vendor-local/lib/python/south/tests/fakeapp/migrations/0003_alter_spam.py: -------------------------------------------------------------------------------- 1 | from south.db import db 2 | from django.db import models 3 | 4 | class Migration: 5 | 6 | def forwards(self): 7 | 8 | db.alter_column("southtest_spam", 'weight', models.FloatField(null=True)) 9 | 10 | def backwards(self): 11 | 12 | db.alter_column("southtest_spam", 'weight', models.FloatField()) 13 | 14 | models = { 15 | "fakeapp.bug135": { 16 | 'date': ('models.DateTimeField', [], {'default': 'datetime.datetime(2009, 5, 6, 15, 33, 15, 780013)'}), 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /vendor-local/lib/python/south/introspection_plugins/django_objectpermissions.py: -------------------------------------------------------------------------------- 1 | """ 2 | South introspection rules for django-objectpermissions 3 | """ 4 | 5 | from django.conf import settings 6 | from south.modelsinspector import add_ignored_fields 7 | 8 | if 'objectpermissions' in settings.INSTALLED_APPS: 9 | try: 10 | from objectpermissions.models import UserPermissionRelation, GroupPermissionRelation 11 | except ImportError: 12 | pass 13 | else: 14 | add_ignored_fields(["^objectpermissions\.models\.UserPermissionRelation", 15 | "^objectpermissions\.models\.GroupPermissionRelation"]) 16 | 17 | -------------------------------------------------------------------------------- /vendor-local/lib/python/async-0.6.1-py2.7.egg-info/SOURCES.txt: -------------------------------------------------------------------------------- 1 | AUTHORS 2 | README 3 | __init__.py 4 | channel.py 5 | graph.py 6 | pool.py 7 | setup.py 8 | task.py 9 | thread.py 10 | util.py 11 | async.egg-info/PKG-INFO 12 | async.egg-info/SOURCES.txt 13 | async.egg-info/dependency_links.txt 14 | async.egg-info/not-zip-safe 15 | async.egg-info/top_level.txt 16 | mod/__init__.py 17 | mod/zlibmodule.c 18 | test/__init__.py 19 | test/lib.py 20 | test/task.py 21 | test/test_channel.py 22 | test/test_example.py 23 | test/test_graph.py 24 | test/test_performance.py 25 | test/test_pool.py 26 | test/test_task.py 27 | test/test_thread.py 28 | test/mod/__init__.py 29 | test/mod/test_zlib.py -------------------------------------------------------------------------------- /vendor-local/lib/python/south/utils/py3.py: -------------------------------------------------------------------------------- 1 | """ 2 | Python 2 + 3 compatibility functions. This is a very small subset of six. 3 | """ 4 | 5 | import sys 6 | 7 | PY3 = sys.version_info[0] == 3 8 | 9 | if PY3: 10 | string_types = str, 11 | text_type = str 12 | raw_input = input 13 | 14 | import io 15 | StringIO = io.StringIO 16 | 17 | else: 18 | string_types = basestring, 19 | text_type = unicode 20 | raw_input = raw_input 21 | 22 | import cStringIO 23 | StringIO = cStringIO.StringIO 24 | 25 | 26 | def with_metaclass(meta, base=object): 27 | """Create a base class with a metaclass.""" 28 | return meta("NewBase", (base,), {}) 29 | -------------------------------------------------------------------------------- /vendor-local/lib/python/silme/diff/blob.py: -------------------------------------------------------------------------------- 1 | from ..core.structure import Blob 2 | 3 | class BlobDiff(): 4 | def __init__(self): 5 | self.diff = None 6 | self.id = None 7 | self.uri = None 8 | 9 | def empty(self): 10 | return not bool(self.diff) 11 | 12 | def blobdiffto (self, blob, flags=None, values=True): 13 | blob_diff = BlobDiff() 14 | blob_diff.id = self.id 15 | blob_diff.uri = (self.uri, blob.uri) 16 | if values == True: 17 | if self.source == blob.source: 18 | blob_diff.diff = None 19 | else: 20 | blob_diff.diff = True 21 | return blob_diff 22 | 23 | Blob.diff = blobdiffto 24 | -------------------------------------------------------------------------------- /vendor-local/lib/python/south/tests/freezer.py: -------------------------------------------------------------------------------- 1 | from south.tests import unittest 2 | 3 | from south.creator.freezer import model_dependencies 4 | from south.tests.fakeapp import models 5 | 6 | class TestFreezer(unittest.TestCase): 7 | def test_dependencies(self): 8 | self.assertEqual(set(model_dependencies(models.SubModel)), 9 | set([models.BaseModel, models.Other1, models.Other2])) 10 | 11 | self.assertEqual(set(model_dependencies(models.CircularA)), 12 | set([models.CircularA, models.CircularB, models.CircularC])) 13 | 14 | self.assertEqual(set(model_dependencies(models.Recursive)), 15 | set([models.Recursive])) 16 | -------------------------------------------------------------------------------- /vendor-local/lib/python/south/introspection_plugins/django_timezones.py: -------------------------------------------------------------------------------- 1 | from south.modelsinspector import add_introspection_rules 2 | from django.conf import settings 3 | 4 | if "timezones" in settings.INSTALLED_APPS: 5 | try: 6 | from timezones.fields import TimeZoneField 7 | except ImportError: 8 | pass 9 | else: 10 | rules = [ 11 | ( 12 | (TimeZoneField, ), 13 | [], 14 | { 15 | "blank": ["blank", {"default": True}], 16 | "max_length": ["max_length", {"default": 100}], 17 | }, 18 | ), 19 | ] 20 | add_introspection_rules(rules, ["^timezones\.fields",]) 21 | 22 | -------------------------------------------------------------------------------- /vendor-local/lib/python/smmap-0.8.2-py2.7.egg-info/installed-files.txt: -------------------------------------------------------------------------------- 1 | ../smmap/__init__.py 2 | ../smmap/buf.py 3 | ../smmap/exc.py 4 | ../smmap/mman.py 5 | ../smmap/util.py 6 | ../smmap/test/__init__.py 7 | ../smmap/test/lib.py 8 | ../smmap/test/test_buf.py 9 | ../smmap/test/test_mman.py 10 | ../smmap/test/test_tutorial.py 11 | ../smmap/test/test_util.py 12 | ../smmap/__init__.pyc 13 | ../smmap/buf.pyc 14 | ../smmap/exc.pyc 15 | ../smmap/mman.pyc 16 | ../smmap/util.pyc 17 | ../smmap/test/__init__.pyc 18 | ../smmap/test/lib.pyc 19 | ../smmap/test/test_buf.pyc 20 | ../smmap/test/test_mman.pyc 21 | ../smmap/test/test_tutorial.pyc 22 | ../smmap/test/test_util.pyc 23 | ./ 24 | dependency_links.txt 25 | PKG-INFO 26 | SOURCES.txt 27 | top_level.txt 28 | zip-safe 29 | -------------------------------------------------------------------------------- /bin/compile-mo.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | TARGET=$1 4 | LOCKFILE="/tmp/compile-mo-${2}.lock" 5 | 6 | function usage() { 7 | echo "syntax:" 8 | echo " compile-mo.sh locale-dir/ [unique]" 9 | echo "unique is an optional string that will be used as the name of the lockfile" 10 | exit 1 11 | } 12 | 13 | # check if file and dir are there 14 | if [[ ($# -gt 2) || (! -d "$TARGET") ]]; then usage; fi 15 | 16 | # check if the lockfile exists 17 | if [ -e $LOCKFILE ]; then 18 | echo "$LOCKFILE present, exiting" 19 | exit 99 20 | fi 21 | 22 | touch $LOCKFILE 23 | for lang in `find $TARGET -type f -name "*.po"`; do 24 | dir=`dirname $lang` 25 | stem=`basename $lang .po` 26 | msgfmt -o ${dir}/${stem}.mo $lang 27 | done 28 | rm $LOCKFILE 29 | -------------------------------------------------------------------------------- /manage.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | import os 3 | import sys 4 | 5 | # Edit this if necessary or override the variable in your environment. 6 | os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'settings') 7 | 8 | # Add a temporary path so that we can import the funfactory 9 | tmp_path = os.path.join(os.path.dirname(os.path.abspath(__file__)), 10 | 'vendor', 'src', 'funfactory') 11 | # Comment out to load funfactory from your site packages instead 12 | sys.path.insert(0, tmp_path) 13 | 14 | from funfactory import manage 15 | 16 | # Let the path magic happen in setup_environ() ! 17 | sys.path.remove(tmp_path) 18 | 19 | 20 | manage.setup_environ(__file__, more_pythonic=True) 21 | 22 | if __name__ == "__main__": 23 | manage.main() 24 | -------------------------------------------------------------------------------- /vendor-local/lib/python/south/v2.py: -------------------------------------------------------------------------------- 1 | """ 2 | API versioning file; we can tell what kind of migrations things are 3 | by what class they inherit from (if none, it's a v1). 4 | """ 5 | 6 | from south.utils import ask_for_it_by_name 7 | 8 | class BaseMigration(object): 9 | 10 | def gf(self, field_name): 11 | "Gets a field by absolute reference." 12 | field = ask_for_it_by_name(field_name) 13 | field.model = FakeModel 14 | return field 15 | 16 | class SchemaMigration(BaseMigration): 17 | pass 18 | 19 | class DataMigration(BaseMigration): 20 | # Data migrations shouldn't be dry-run 21 | no_dry_run = True 22 | 23 | class FakeModel(object): 24 | "Fake model so error messages on fields don't explode" 25 | pass 26 | -------------------------------------------------------------------------------- /vendor-local/lib/python/south/tests/fakeapp/migrations/0002_eggs.py: -------------------------------------------------------------------------------- 1 | from south.db import db 2 | from django.db import models 3 | 4 | class Migration: 5 | 6 | def forwards(self): 7 | 8 | Spam = db.mock_model(model_name='Spam', db_table='southtest_spam', db_tablespace='', pk_field_name='id', pk_field_type=models.AutoField) 9 | 10 | db.create_table("southtest_eggs", ( 11 | ('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)), 12 | ('size', models.FloatField()), 13 | ('quantity', models.IntegerField()), 14 | ('spam', models.ForeignKey(Spam)), 15 | )) 16 | 17 | def backwards(self): 18 | 19 | db.delete_table("southtest_eggs") 20 | 21 | -------------------------------------------------------------------------------- /hooks/php/test/testpilot/principles.php: -------------------------------------------------------------------------------- 1 |
2 | 3 |

4 | 5 |

6 |

7 | 8 |

9 |

10 | 11 |

12 |

13 | 14 |
15 | -------------------------------------------------------------------------------- /vendor-local/lib/python/silme/format/dtd/structure.py: -------------------------------------------------------------------------------- 1 | from ...core import Entity, Structure, Comment 2 | import re 3 | 4 | def process_entity(entity, subs): 5 | for code in entity._value.keys(): 6 | entity._value[code] = re.sub('\&([^$]+)\;', 7 | lambda m:subs[m.group(1)], 8 | entity._value[code]) 9 | 10 | def process(self): 11 | if not self.params.has_key('exents') or \ 12 | not self.params['exents']: 13 | return 14 | for elem in self: 15 | if isinstance(elem, Entity): 16 | process_entity(elem, self.params['exents']) 17 | 18 | class DTDStructure(Structure): 19 | def __init__(self, id=None): 20 | self.process_cb = process 21 | Structure.__init__(self) 22 | -------------------------------------------------------------------------------- /docs/index.rst: -------------------------------------------------------------------------------- 1 | ======================================== 2 | Welcome to this project's documentation! 3 | ======================================== 4 | 5 | This is a documentation template for a **web application based on Playdoh**. 6 | Feel free to change this to your liking. 7 | 8 | 9 | About playdoh 10 | ------------- 11 | 12 | This project is based on **playdoh**. Mozilla's Playdoh is an open source 13 | web application template based on `Django `_. 14 | 15 | To learn more about it, step by the `playdoh project page 16 | `_. 17 | 18 | Contents 19 | -------- 20 | 21 | .. toctree:: 22 | :maxdepth: 1 23 | 24 | 25 | Indices and tables 26 | ------------------ 27 | 28 | * :ref:`genindex` 29 | * :ref:`modindex` 30 | * :ref:`search` 31 | -------------------------------------------------------------------------------- /migrations/schematic_settings.py: -------------------------------------------------------------------------------- 1 | import sys 2 | import os 3 | 4 | sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) 5 | 6 | # Set up playdoh. 7 | import manage 8 | from django.conf import settings 9 | 10 | config = settings.DATABASES['default'] 11 | config['HOST'] = config.get('HOST', 'localhost') 12 | config['PORT'] = config.get('PORT', '3306') 13 | 14 | if not config['HOST'] or config['HOST'].endswith('.sock'): 15 | """Oh, you meant 'localhost'!""" 16 | config['HOST'] = 'localhost' 17 | 18 | s = 'mysql --silent {NAME} -h{HOST} -u{USER}' 19 | 20 | if config['PASSWORD']: 21 | s += ' -p{PASSWORD}' 22 | else: 23 | del config['PASSWORD'] 24 | if config['PORT']: 25 | s += ' -P{PORT}' 26 | else: 27 | del config['PORT'] 28 | 29 | db = s.format(**config) 30 | table = 'schema_version' 31 | -------------------------------------------------------------------------------- /vendor-local/lib/python/smmap-0.8.2-py2.7.egg-info/PKG-INFO: -------------------------------------------------------------------------------- 1 | Metadata-Version: 1.1 2 | Name: smmap 3 | Version: 0.8.2 4 | Summary: A pure git implementation of a sliding window memory map manager 5 | Home-page: https://github.com/Byron/smmap 6 | Author: Sebastian Thiel 7 | Author-email: byronimo@gmail.com 8 | License: BSD 9 | Description: See http://github.com/nvie/smmap/tree/master 10 | Platform: any 11 | Classifier: Development Status :: 4 - Beta 12 | Classifier: Environment :: Console 13 | Classifier: Intended Audience :: Developers 14 | Classifier: License :: OSI Approved :: BSD License 15 | Classifier: Operating System :: OS Independent 16 | Classifier: Operating System :: POSIX 17 | Classifier: Operating System :: Microsoft :: Windows 18 | Classifier: Operating System :: MacOS :: MacOS X 19 | Classifier: Programming Language :: Python 20 | -------------------------------------------------------------------------------- /vendor-local/lib/python/south/introspection_plugins/django_tagging.py: -------------------------------------------------------------------------------- 1 | from south.modelsinspector import add_introspection_rules 2 | from django.conf import settings 3 | 4 | if "tagging" in settings.INSTALLED_APPS: 5 | try: 6 | from tagging.fields import TagField 7 | except ImportError: 8 | pass 9 | else: 10 | rules = [ 11 | ( 12 | (TagField, ), 13 | [], 14 | { 15 | "blank": ["blank", {"default": True}], 16 | "max_length": ["max_length", {"default": 255}], 17 | }, 18 | ), 19 | ] 20 | add_introspection_rules(rules, ["^tagging\.fields",]) 21 | 22 | if "tagging_autocomplete" in settings.INSTALLED_APPS: 23 | add_introspection_rules([], ["^tagging_autocomplete\.models\.TagAutocompleteField"]) 24 | 25 | -------------------------------------------------------------------------------- /clients/jetpack/test/test-main.js: -------------------------------------------------------------------------------- 1 | const main = require("main"); 2 | 3 | exports.test_test_run = function(test) { 4 | test.pass("Unit test running!"); 5 | }; 6 | 7 | exports.test_id = function(test) { 8 | test.assert(require("self").id.length > 0); 9 | }; 10 | 11 | exports.test_url = function(test) { 12 | require("request").Request({ 13 | url: "http://www.mozilla.org/", 14 | onComplete: function(response) { 15 | test.assertEqual(response.statusText, "OK"); 16 | test.done(); 17 | } 18 | }).get(); 19 | test.waitUntilDone(20000); 20 | }; 21 | 22 | exports.test_open_tab = function(test) { 23 | const tabs = require("tabs"); 24 | tabs.open({ 25 | url: "http://www.mozilla.org/", 26 | onReady: function(tab) { 27 | test.assertEqual(tab.url, "http://www.mozilla.org/"); 28 | test.done(); 29 | } 30 | }); 31 | test.waitUntilDone(20000); 32 | }; 33 | -------------------------------------------------------------------------------- /vendor-local/lib/python/gitdb-0.5.4-py2.7.egg-info/installed-files.txt: -------------------------------------------------------------------------------- 1 | ../gitdb/__init__.py 2 | ../gitdb/base.py 3 | ../gitdb/exc.py 4 | ../gitdb/fun.py 5 | ../gitdb/pack.py 6 | ../gitdb/stream.py 7 | ../gitdb/typ.py 8 | ../gitdb/util.py 9 | ../gitdb/db/__init__.py 10 | ../gitdb/db/base.py 11 | ../gitdb/db/git.py 12 | ../gitdb/db/loose.py 13 | ../gitdb/db/mem.py 14 | ../gitdb/db/pack.py 15 | ../gitdb/db/ref.py 16 | ../gitdb/__init__.pyc 17 | ../gitdb/base.pyc 18 | ../gitdb/exc.pyc 19 | ../gitdb/fun.pyc 20 | ../gitdb/pack.pyc 21 | ../gitdb/stream.pyc 22 | ../gitdb/typ.pyc 23 | ../gitdb/util.pyc 24 | ../gitdb/db/__init__.pyc 25 | ../gitdb/db/base.pyc 26 | ../gitdb/db/git.pyc 27 | ../gitdb/db/loose.pyc 28 | ../gitdb/db/mem.pyc 29 | ../gitdb/db/pack.pyc 30 | ../gitdb/db/ref.pyc 31 | ../gitdb/_perf.so 32 | ./ 33 | dependency_links.txt 34 | not-zip-safe 35 | PKG-INFO 36 | requires.txt 37 | SOURCES.txt 38 | top_level.txt 39 | -------------------------------------------------------------------------------- /docs/build-github.zsh: -------------------------------------------------------------------------------- 1 | #!/bin/zsh 2 | 3 | # A useful build script for projects hosted on github: 4 | # It can build your Sphinx docs and push them straight to your gh-pages branch. 5 | 6 | # Should be run from the docs directory: (cd docs && ./build-github.zsh) 7 | 8 | REPO=$(git config remote.origin.url) 9 | HERE=$(dirname $0) 10 | GH=$HERE/_gh-pages 11 | 12 | 13 | # Checkout the gh-pages branch, if necessary. 14 | if [[ ! -d $GH ]]; then 15 | git clone $REPO $GH 16 | pushd $GH 17 | git checkout -b gh-pages origin/gh-pages 18 | popd 19 | fi 20 | 21 | # Update and clean out the _gh-pages target dir. 22 | pushd $GH 23 | git pull && rm -rf * 24 | popd 25 | 26 | # Make a clean build. 27 | pushd $HERE 28 | make clean dirhtml 29 | 30 | # Move the fresh build over. 31 | cp -r _build/dirhtml/* $GH 32 | pushd $GH 33 | 34 | # Commit. 35 | git add . 36 | git commit -am "gh-pages build on $(date)" 37 | git push origin gh-pages 38 | 39 | popd 40 | popd 41 | -------------------------------------------------------------------------------- /vendor-local/lib/python/silme/__init__.py: -------------------------------------------------------------------------------- 1 | VERSION = (0, 8, 1, 'final', 0) 2 | 3 | def get_short_version(): 4 | version = '%s.%s' % (VERSION[0], VERSION[1]) 5 | if VERSION[2]: 6 | version = '%s.%s' % (version, VERSION[2]) 7 | if VERSION[3] == 'alpha': 8 | version = '%sa' % version 9 | if VERSION[3] == 'beta': 10 | version = '%sb' % version 11 | if VERSION[3] == 'rc': 12 | version = '%sc' % version 13 | if VERSION[3] != 'final' and VERSION[4]: 14 | version = '%s%s' % (version, VERSION[4]) 15 | return version 16 | 17 | def get_version(): 18 | version = '%s.%s' % (VERSION[0], VERSION[1]) 19 | if VERSION[2]: 20 | version = '%s.%s' % (version, VERSION[2]) 21 | if VERSION[3:] == ('alpha', 0): 22 | version = '%s pre-alpha' % version 23 | else: 24 | version = '%s %s' % (version, VERSION[3]) 25 | if VERSION[3] != 'final': 26 | version = '%s %s' % (version, VERSION[4]) 27 | return version 28 | -------------------------------------------------------------------------------- /lib/product_details_json/thunderbird_history_stability_releases.json: -------------------------------------------------------------------------------- 1 | {"1.0.2":"2005-03-21","1.0.5":"2005-07-13","1.0.6":"2005-07-19","1.0.7":"2005-09-29","1.0.8":"2006-04-21","1.5.0.2":"2006-04-21","1.5.0.4":"2006-06-01","1.5.0.5":"2006-07-27","1.5.0.7":"2006-09-14","1.5.0.8":"2006-11-08","1.5.0.9":"2006-12-19","1.5.0.10":"2007-03-01","1.5.0.12":"2007-05-30","1.5.0.13":"2007-08-23","2.0.0.4":"2007-06-14","2.0.0.5":"2007-07-19","2.0.0.6":"2007-08-01","2.0.0.9":"2007-11-14","2.0.0.12":"2008-02-26","2.0.0.14":"2008-05-01","2.0.0.16":"2008-07-23","2.0.0.17":"2008-09-25","2.0.0.18":"2008-11-19","2.0.0.19":"2008-12-30","2.0.0.21":"2009-03-18","2.0.0.22":"2009-06-22","2.0.0.23":"2009-08-20","2.0.0.24":"2010-03-16","3.0.1":"2010-01-20","3.0.2":"2010-02-25","3.0.3":"2010-03-01","3.0.4":"2010-03-30","3.0.5":"2010-06-17","3.0.6":"2010-07-20","3.0.7":"2010-09-07","3.0.8":"2010-09-16","3.0.9":"2010-10-19","3.0.10":"2010-10-27","3.1.1":"2010-07-20","3.1.2":"2010-08-05","3.1.3":"2010-09-07","3.1.4":"2010-09-16","3.1.5":"2010-10-19","3.1.6":"2010-10-27"} -------------------------------------------------------------------------------- /vendor-local/lib/python/silme/compatibility/__init__.py: -------------------------------------------------------------------------------- 1 | VERSION = (0, 7, 0, 'alpha', 0) 2 | 3 | def get_short_version(): 4 | version = '%s.%s' % (VERSION[0], VERSION[1]) 5 | if VERSION[2]: 6 | version = '%s.%s' % (version, VERSION[2]) 7 | if VERSION[3] == 'alpha': 8 | version = '%sa' % version 9 | if VERSION[3] == 'beta': 10 | version = '%sb' % version 11 | if VERSION[3] == 'rc': 12 | version = '%sc' % version 13 | if VERSION[3] != 'final' and VERSION[4]: 14 | version = '%s%s' % (version, VERSION[4]) 15 | return version 16 | 17 | def get_version(): 18 | version = '%s.%s' % (VERSION[0], VERSION[1]) 19 | if VERSION[2]: 20 | version = '%s.%s' % (version, VERSION[2]) 21 | if VERSION[3:] == ('alpha', 0): 22 | version = '%s pre-alpha' % version 23 | else: 24 | version = '%s %s' % (version, VERSION[3]) 25 | if VERSION[3] != 'final': 26 | version = '%s %s' % (version, VERSION[4]) 27 | return version 28 | -------------------------------------------------------------------------------- /vendor-local/lib/python/suds/bindings/__init__.py: -------------------------------------------------------------------------------- 1 | # This program is free software; you can redistribute it and/or modify 2 | # it under the terms of the (LGPL) GNU Lesser General Public License as 3 | # published by the Free Software Foundation; either version 3 of the 4 | # License, or (at your option) any later version. 5 | # 6 | # This program is distributed in the hope that it will be useful, 7 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 8 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 9 | # GNU Library Lesser General Public License for more details at 10 | # ( http://www.gnu.org/licenses/lgpl.html ). 11 | # 12 | # You should have received a copy of the GNU Lesser General Public License 13 | # along with this program; if not, write to the Free Software 14 | # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 15 | # written by: Jeff Ortel ( jortel@redhat.com ) 16 | 17 | """ 18 | Provides modules containing classes to support Web Services (SOAP) 19 | bindings. 20 | """ -------------------------------------------------------------------------------- /pontoon/administration/urls.py: -------------------------------------------------------------------------------- 1 | from django.conf.urls.defaults import * 2 | 3 | import views 4 | 5 | urlpatterns = patterns( 6 | '', 7 | 8 | # Admin Home 9 | url(r'^$', views.admin, 10 | name='pontoon.admin'), 11 | 12 | # Add new project 13 | url(r'^project/$', views.manage_project, 14 | name='pontoon.admin.project.new'), 15 | 16 | # Edit project 17 | url(r'^project/(?P.+)/$', views.manage_project, 18 | name='pontoon.admin.project'), 19 | 20 | # Delete project 21 | url(r'^delete/(?P\d+)/$', views.delete_project, 22 | name='pontoon.admin.project.delete'), 23 | 24 | # Update from repository 25 | url(r'^repository/$', views.update_from_repository, 26 | name='pontoon.admin.repository.update'), 27 | 28 | # Update from Transifex 29 | url(r'^transifex/$', views.update_from_transifex, 30 | name='pontoon.admin.transifex.update'), 31 | 32 | # Get slug 33 | url(r'^get-slug/$', views.get_slug, 34 | name='pontoon.admin.get_slug'), 35 | ) 36 | -------------------------------------------------------------------------------- /vendor-local/lib/python/silme-0.8.1-py2.7.egg-info/PKG-INFO: -------------------------------------------------------------------------------- 1 | Metadata-Version: 1.0 2 | Name: silme 3 | Version: 0.8.1 4 | Summary: Python localization library 5 | Home-page: http://hg.mozilla.org/l10n/silme/ 6 | Author: Zbigniew Braniecki, Adrian Kalla 7 | Author-email: gandalf@mozilla.com 8 | License: MPL 1.1/GPL 2.0/LGPL 2.1 9 | Description: New library for localization written in Python. 10 | 11 | Keywords: localization,l10n,l20n 12 | Platform: any 13 | Classifier: Development Status :: 4 - Beta 14 | Classifier: Intended Audience :: Developers 15 | Classifier: License :: OSI Approved :: GNU General Public License (GPL) 16 | Classifier: License :: OSI Approved :: GNU Library or Lesser General Public License (LGPL) 17 | Classifier: License :: OSI Approved :: Mozilla Public License 1.1 (MPL 1.1) 18 | Classifier: Operating System :: OS Independent 19 | Classifier: Programming Language :: Python :: 2.5 20 | Classifier: Programming Language :: Python :: 2.6 21 | Classifier: Topic :: Software Development :: Libraries :: Python Modules 22 | Classifier: Topic :: Software Development :: Localization 23 | -------------------------------------------------------------------------------- /vendor-local/lib/python/south/signals.py: -------------------------------------------------------------------------------- 1 | """ 2 | South-specific signals 3 | """ 4 | 5 | from django.dispatch import Signal 6 | from django.conf import settings 7 | 8 | # Sent at the start of the migration of an app 9 | pre_migrate = Signal(providing_args=["app", "verbosity", "interactive", "db"]) 10 | 11 | # Sent after each successful migration of an app 12 | post_migrate = Signal(providing_args=["app", "verbosity", "interactive", "db"]) 13 | 14 | # Sent after each run of a particular migration in a direction 15 | ran_migration = Signal(providing_args=["app", "migration", "method", "verbosity", "interactive", "db"]) 16 | 17 | # Compatibility code for django.contrib.auth 18 | # Is causing strange errors, removing for now (we might need to fix up orm first) 19 | #if 'django.contrib.auth' in settings.INSTALLED_APPS: 20 | #def create_permissions_compat(app, **kwargs): 21 | #from django.db.models import get_app 22 | #from django.contrib.auth.management import create_permissions 23 | #create_permissions(get_app(app), (), 0) 24 | #post_migrate.connect(create_permissions_compat) 25 | -------------------------------------------------------------------------------- /lib/product_details_json/firefox_history_development_releases.json: -------------------------------------------------------------------------------- 1 | {"1.0rc1":"2004-10-27","1.0rc2":"2004-11-03","1.5rc1":"2005-11-01","1.5rc2":"2005-11-10","1.5rc3":"2005-11-17","2.0b1":"2006-07-12","2.0b2":"2006-08-31","2.0rc1":"2006-09-26","2.0rc2":"2006-10-06","2.0rc3":"2007-10-16","3.0b1":"2007-11-19","3.0b2":"2007-12-18","3.0b3":"2008-02-12","3.0b4":"2008-03-10","3.0b5":"2008-04-02","3.0rc1":"2008-05-16","3.0rc2":"2008-06-03","3.1b1":"2008-08-14","3.1b2":"2008-12-08","3.1b3":"2009-03-12","3.5b4":"2009-04-27","3.5rc2":"2009-06-19","3.5rc3":"2009-06-24","3.6b1":"2009-10-30","3.6b2":"2009-11-10","3.6b3":"2009-11-17","3.6b4":"2009-11-26","3.6b5":"2009-12-17","3.6rc1":"2010-01-08","3.6rc2":"2010-01-17","3.6.3plugin1":"2010-04-08","3.6.4build1":"2010-04-20","3.6.4build3":"2010-05-04","3.6.4build4":"2010-05-14","3.6.4build5":"2010-05-26","3.6.4build6":"2010-05-28","3.6.4build7":"2010-06-14","3.6.7build1":"2010-07-02","4.0b1":"2010-07-06","4.0b2":"2010-07-27","4.0b3":"2010-08-11","4.0b4":"2010-08-24","4.0b5":"2010-09-07","4.0b6":"2010-09-14","4.0b7":"2010-11-10","4.0b8":"2010-12-22","4.0b9":"2011-01-14","4.0b10":"2011-01-25"} -------------------------------------------------------------------------------- /vendor-local/lib/python/silme/format/inc/__init__.py: -------------------------------------------------------------------------------- 1 | from parser import IncParser as Parser 2 | from structure import IncStructure as Structure 3 | from serializer import IncSerializer as Serializer 4 | 5 | class IncFormatParser(): 6 | name = 'inc' 7 | desc = "INC reader/writer" 8 | extensions = ['inc'] 9 | encoding = 'utf_8' # allowed encoding 10 | fallback = None 11 | 12 | @classmethod 13 | def dump_structure (cls, l10nobject): 14 | text = Serializer.serialize(l10nobject) 15 | return text 16 | 17 | @classmethod 18 | def dump_entitylist (cls, elist): 19 | text = Serializer.dump_entitylist(elist) 20 | return text 21 | 22 | @classmethod 23 | def get_entitylist (cls, text, code='default'): 24 | l10nobject = Parser.parse_to_entitylist(text, code=code) 25 | return l10nobject 26 | 27 | @classmethod 28 | def get_structure (cls, text, code='default'): 29 | l10nobject = Parser.parse(text, code=code) 30 | return l10nobject 31 | 32 | 33 | def register(Manager): 34 | Manager.register(IncFormatParser) 35 | -------------------------------------------------------------------------------- /vendor-local/lib/python/silme/format/ini/__init__.py: -------------------------------------------------------------------------------- 1 | from .parser import IniParser as Parser 2 | from .structure import IniStructure as Structure 3 | from .serializer import IniSerializer as Serializer 4 | 5 | class IniFormatParser(): 6 | name = 'ini' 7 | desc = "Ini reader/writer" 8 | extensions = ['ini'] 9 | encoding = 'utf_8' # allowed encoding 10 | fallback = None 11 | 12 | @classmethod 13 | def dump_structure (cls, l10nobject): 14 | text = Serializer.serialize(l10nobject) 15 | return text 16 | 17 | @classmethod 18 | def dump_entitylist (cls, elist): 19 | text = Serializer.dump_entitylist(elist) 20 | return text 21 | 22 | @classmethod 23 | def get_entitylist (cls, text, code='default'): 24 | l10nobject = Parser.parse_to_entitylist(text, code=code) 25 | return l10nobject 26 | 27 | @classmethod 28 | def get_structure (cls, text, code='default'): 29 | l10nobject = Parser.parse(text, code=code) 30 | return l10nobject 31 | 32 | 33 | def register(Manager): 34 | Manager.register(IniFormatParser) 35 | -------------------------------------------------------------------------------- /vendor-local/lib/python/silme/format/dtd/__init__.py: -------------------------------------------------------------------------------- 1 | from .parser import DTDParser as Parser 2 | from .structure import DTDStructure as Structure 3 | from .serializer import DTDSerializer as Serializer 4 | 5 | class DTDFormatParser(): 6 | name = 'dtd' 7 | desc = 'DTD reader/writer' 8 | extensions = ['dtd'] 9 | encoding = 'utf_8' # allowed encoding 10 | fallback = ['utf_8_sig'] 11 | 12 | @classmethod 13 | def dump_structure (cls, l10nobject): 14 | text = Serializer.serialize(l10nobject) 15 | return text 16 | 17 | @classmethod 18 | def dump_entitylist (cls, elist): 19 | text = Serializer.dump_entitylist(elist) 20 | return text 21 | 22 | @classmethod 23 | def get_entitylist (cls, text, code='default'): 24 | l10nobject = Parser.parse_to_entitylist(text, code=code) 25 | return l10nobject 26 | 27 | @classmethod 28 | def get_structure (cls, text, code='default'): 29 | l10nobject = Parser.parse(text, code=code) 30 | return l10nobject 31 | 32 | def register(Manager): 33 | Manager.register(DTDFormatParser) -------------------------------------------------------------------------------- /vendor-local/lib/python/silme/format/gettext/__init__.py: -------------------------------------------------------------------------------- 1 | from .parser import GettextParser as Parser 2 | from .structure import GettextStructure as Structure 3 | from .serializer import GettextSerializer as Serializer 4 | 5 | class GettextFormatParser(): 6 | name = 'gettext' 7 | desc = "GetText format parser" 8 | extensions = ['po'] 9 | encoding = 'utf8' # allowed encoding 10 | fallback = None 11 | 12 | @classmethod 13 | def dump_structure (cls, l10nobject): 14 | text = Serializer.serialize(l10nobject) 15 | return text 16 | 17 | @classmethod 18 | def dump_entitylist (cls, elist): 19 | text = Serializer.dump_entitylist(elist) 20 | return text 21 | 22 | @classmethod 23 | def get_entitylist (cls, text, code='default'): 24 | l10nobject = Parser.parse_to_entitylist(text, code=code) 25 | return l10nobject 26 | 27 | @classmethod 28 | def get_structure (cls, text, code='default'): 29 | l10nobject = Parser.parse(text, code=code) 30 | return l10nobject 31 | 32 | def register(Manager): 33 | Manager.register(GettextFormatParser) 34 | -------------------------------------------------------------------------------- /vendor-local/lib/python/South-0.8.4-py2.7.egg-info/PKG-INFO: -------------------------------------------------------------------------------- 1 | Metadata-Version: 1.1 2 | Name: South 3 | Version: 0.8.4 4 | Summary: South: Migrations for Django 5 | Home-page: http://south.aeracode.org/ 6 | Author: Andrew Godwin & Andy McCurdy 7 | Author-email: south@aeracode.org 8 | License: UNKNOWN 9 | Download-URL: http://south.aeracode.org/wiki/Download 10 | Description: South is an intelligent database migrations library for the Django web framework. It is database-independent and DVCS-friendly, as well as a whole host of other features. 11 | Platform: UNKNOWN 12 | Classifier: Development Status :: 5 - Production/Stable 13 | Classifier: Framework :: Django 14 | Classifier: Intended Audience :: Developers 15 | Classifier: Intended Audience :: System Administrators 16 | Classifier: Intended Audience :: System Administrators 17 | Classifier: License :: OSI Approved :: Apache Software License 18 | Classifier: Operating System :: OS Independent 19 | Classifier: Topic :: Software Development 20 | Classifier: Programming Language :: Python :: 3.3 21 | Classifier: Programming Language :: Python :: 2.6 22 | Classifier: Programming Language :: Python :: 2.7 23 | -------------------------------------------------------------------------------- /pontoon/base/templates/404.html: -------------------------------------------------------------------------------- 1 | {% extends "base.html" %} 2 | 3 | {% block title %}Pontoon · Page not found{% endblock %} 4 | 5 | {% block content %} 6 |
7 |
8 | 9 |

Oops

10 |

{% block subtitle %}We couldn't find the page you're looking for.{% endblock %}

11 | 12 |

13 | Go Home 14 |

15 | 16 | 24 | 25 |
26 |
27 | {% endblock %} 28 | 29 | {% block site_js %} 30 | {% endblock %} 31 | -------------------------------------------------------------------------------- /vendor-local/lib/python/south/utils/datetime_utils.py: -------------------------------------------------------------------------------- 1 | from datetime import * 2 | 3 | import django 4 | from django.conf import settings 5 | 6 | if django.VERSION[:2] >= (1, 4) and getattr(settings, 'USE_TZ', False): 7 | from django.utils import timezone 8 | from datetime import datetime as _datetime 9 | 10 | class datetime(_datetime): 11 | """ 12 | A custom datetime.datetime class which acts as a compatibility 13 | layer between South and Django 1.4's timezone aware datetime 14 | instances. 15 | 16 | It basically adds the default timezone (as configured in Django's 17 | settings) automatically if no tzinfo is given. 18 | """ 19 | def __new__(cls, year, month, day, 20 | hour=0, minute=0, second=0, microsecond=0, tzinfo=None): 21 | 22 | dt = _datetime(year, month, day, 23 | hour, minute, second, microsecond, 24 | tzinfo=tzinfo) 25 | if tzinfo is None: 26 | default_timezone = timezone.get_default_timezone() 27 | dt = timezone.make_aware(dt, default_timezone) 28 | return dt 29 | -------------------------------------------------------------------------------- /vendor-local/lib/python/async/README: -------------------------------------------------------------------------------- 1 | async 2 | ===== 3 | Async aims to make writing asyncronous processing easier. It provides a task-graph 4 | with interdependent tasks that communicate using blocking channels, allowing 5 | to delay actual computations until items are requested. 6 | Tasks will automatically be distributed among 0 or more threads for the actual computation. 7 | 8 | Even though the GIL effectively prevents true concurrency, operations which block, 9 | such as file IO, can be sped up with it already. In conjuction with 10 | custom c extensions which release the GIL, true concurrency can be obtained as well. 11 | 12 | REQUIREMENTS 13 | ============ 14 | 15 | * Python Nose - for running the tests 16 | 17 | SOURCE 18 | ====== 19 | The source is available in a git repository at gitorious and github: 20 | 21 | git://gitorious.org/git-python/async.git 22 | git://github.com/Byron/async.git 23 | 24 | Run the tests with 25 | cd async 26 | nosetests 27 | 28 | MAILING LIST 29 | ============ 30 | http://groups.google.com/group/git-python 31 | 32 | ISSUE TRACKER 33 | ============= 34 | http://byronimo.lighthouseapp.com/projects/51787-gitpython 35 | 36 | LICENSE 37 | ======= 38 | New BSD License 39 | -------------------------------------------------------------------------------- /vendor-local/lib/python/async/test/test_thread.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | """ Test thead classes and functions""" 3 | from lib import * 4 | from async.thread import * 5 | from Queue import Queue 6 | import time 7 | 8 | class TestWorker(WorkerThread): 9 | def __init__(self, *args, **kwargs): 10 | super(TestWorker, self).__init__(*args, **kwargs) 11 | self.reset() 12 | 13 | def fun(self, arg): 14 | self.called = True 15 | self.arg = arg 16 | return True 17 | 18 | def make_assertion(self): 19 | assert self.called 20 | assert self.arg 21 | self.reset() 22 | 23 | def reset(self): 24 | self.called = False 25 | self.arg = None 26 | 27 | 28 | class TestThreads(TestBase): 29 | 30 | @terminate_threads 31 | def test_worker_thread(self): 32 | worker = TestWorker() 33 | assert isinstance(worker.start(), WorkerThread) 34 | 35 | # test different method types 36 | standalone_func = lambda *args, **kwargs: worker.fun(*args, **kwargs) 37 | for function in (TestWorker.fun, worker.fun, standalone_func): 38 | worker.inq.put((function, 1)) 39 | time.sleep(0.01) 40 | worker.make_assertion() 41 | # END for each function type 42 | 43 | worker.stop_and_join() 44 | 45 | -------------------------------------------------------------------------------- /vendor-local/lib/python/gitdb/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2010, 2011 Sebastian Thiel (byronimo@gmail.com) and contributors 2 | # 3 | # This module is part of GitDB and is released under 4 | # the New BSD License: http://www.opensource.org/licenses/bsd-license.php 5 | """Initialize the object database module""" 6 | 7 | import sys 8 | import os 9 | 10 | #{ Initialization 11 | def _init_externals(): 12 | """Initialize external projects by putting them into the path""" 13 | for module in ('async', 'smmap'): 14 | sys.path.append(os.path.join(os.path.dirname(__file__), 'ext', module)) 15 | 16 | try: 17 | __import__(module) 18 | except ImportError: 19 | raise ImportError("'%s' could not be imported, assure it is located in your PYTHONPATH" % module) 20 | #END verify import 21 | #END handel imports 22 | 23 | #} END initialization 24 | 25 | _init_externals() 26 | 27 | __author__ = "Sebastian Thiel" 28 | __contact__ = "byronimo@gmail.com" 29 | __homepage__ = "https://github.com/gitpython-developers/gitdb" 30 | version_info = (0, 5, 4) 31 | __version__ = '.'.join(str(i) for i in version_info) 32 | 33 | 34 | # default imports 35 | from db import * 36 | from base import * 37 | from stream import * 38 | 39 | -------------------------------------------------------------------------------- /vendor-local/lib/python/gitdb/exc.py: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2010, 2011 Sebastian Thiel (byronimo@gmail.com) and contributors 2 | # 3 | # This module is part of GitDB and is released under 4 | # the New BSD License: http://www.opensource.org/licenses/bsd-license.php 5 | """Module with common exceptions""" 6 | from util import to_hex_sha 7 | 8 | class ODBError(Exception): 9 | """All errors thrown by the object database""" 10 | 11 | class InvalidDBRoot(ODBError): 12 | """Thrown if an object database cannot be initialized at the given path""" 13 | 14 | class BadObject(ODBError): 15 | """The object with the given SHA does not exist. Instantiate with the 16 | failed sha""" 17 | 18 | def __str__(self): 19 | return "BadObject: %s" % to_hex_sha(self.args[0]) 20 | 21 | class ParseError(ODBError): 22 | """Thrown if the parsing of a file failed due to an invalid format""" 23 | 24 | class AmbiguousObjectName(ODBError): 25 | """Thrown if a possibly shortened name does not uniquely represent a single object 26 | in the database""" 27 | 28 | class BadObjectType(ODBError): 29 | """The object had an unsupported type""" 30 | 31 | class UnsupportedOperation(ODBError): 32 | """Thrown if the given operation cannot be supported by the object database""" 33 | -------------------------------------------------------------------------------- /pontoon/base/static/css/pontoon.css: -------------------------------------------------------------------------------- 1 | .pontoon-hovered { 2 | outline: 1px dashed #000000; 3 | } 4 | 5 | /* Prevent converting white-spaces at the beginning or 6 | * at the end of the node to   and
7 | */ 8 | .pontoon-hovered[contenteditable=true] { 9 | white-space: pre-wrap; 10 | } 11 | 12 | .pontoon-editable-toolbar { 13 | background-color: #EBEBEB; 14 | position: absolute; 15 | top: 0; 16 | left: 0; 17 | z-index: 999999999; 18 | display: none; 19 | border-top: 1px dashed #000000; 20 | border-left: 1px dashed #000000; 21 | border-right: 1px dashed #000000; 22 | } 23 | 24 | .pontoon-editable-toolbar.bottom { 25 | border-top: none; 26 | border-bottom: 1px dashed #000000; 27 | } 28 | 29 | .pontoon-editable-toolbar a { 30 | background: transparent none 0 0 no-repeat; 31 | display: block; 32 | width: 16px; 33 | height: 16px; 34 | float: left; 35 | margin: 2px; 36 | } 37 | 38 | .pontoon-editable-toolbar .edit { 39 | background-image: url('../img/edit.png'); 40 | } 41 | 42 | .pontoon-editable-toolbar .save { 43 | background-image: url('../img/save.png'); 44 | display: none; 45 | } 46 | 47 | .pontoon-editable-toolbar .cancel { 48 | background-image: url('../img/cancel.png'); 49 | display: none; 50 | } 51 | -------------------------------------------------------------------------------- /vendor-local/lib/python/async/__init__.py: -------------------------------------------------------------------------------- 1 | """Initialize the multi-processing package""" 2 | 3 | #{ Initialization 4 | def _init_atexit(): 5 | """Setup an at-exit job to be sure our workers are shutdown correctly before 6 | the interpreter quits""" 7 | import atexit 8 | import thread 9 | atexit.register(thread.do_terminate_threads) 10 | 11 | def _init_signals(): 12 | """Assure we shutdown our threads correctly when being interrupted""" 13 | import signal 14 | import thread 15 | import sys 16 | 17 | prev_handler = signal.getsignal(signal.SIGINT) 18 | def thread_interrupt_handler(signum, frame): 19 | thread.do_terminate_threads() 20 | if callable(prev_handler): 21 | prev_handler(signum, frame) 22 | raise KeyboardInterrupt() 23 | # END call previous handler 24 | # END signal handler 25 | try: 26 | signal.signal(signal.SIGINT, thread_interrupt_handler) 27 | except ValueError: 28 | # happens if we don't try it from the main thread 29 | print >> sys.stderr, "Failed to setup thread-interrupt handler. This is usually not critical" 30 | # END exception handling 31 | 32 | 33 | #} END init 34 | 35 | _init_atexit() 36 | _init_signals() 37 | 38 | 39 | # initial imports 40 | from task import * 41 | from pool import * 42 | from channel import * 43 | -------------------------------------------------------------------------------- /vendor-local/lib/python/silme/format/l20n/__init__.py: -------------------------------------------------------------------------------- 1 | from .parser import L20nParser as Parser 2 | from .structure import LOL as Structure 3 | from .serializer import L20nSerializer as Serializer 4 | 5 | class L20nFormatParser (): 6 | name = 'l20n' 7 | desc = "L20n reader/writer" 8 | extensions = ['lol'] 9 | encoding = 'utf_8' # allowed encoding 10 | fallback = None 11 | 12 | @classmethod 13 | def dump_structure (cls, l10nobject): 14 | text = Serializer.serialize(l10nobject) 15 | return text 16 | 17 | @classmethod 18 | def dump_entitylist (cls, elist): 19 | text = Serializer.dump_entitylist(elist) 20 | return text 21 | 22 | @classmethod 23 | def get_entitylist (cls, text, code='default'): 24 | l10nobject = cls.get_l10nobject(text, code=code) 25 | entitylist = EntityList() 26 | for i in l10nobject.structure: 27 | if isinstance(i, Entity): 28 | entitylist.add_entity(silme.core.entity.Entity(i.id, i.get_value())) 29 | return entitylist 30 | 31 | @classmethod 32 | def get_structure (cls, text, code='default'): 33 | l10nobject = Parser().parse(text) 34 | return l10nobject 35 | 36 | def register(Manager): 37 | Manager.register(L20nFormatParser) 38 | -------------------------------------------------------------------------------- /vendor-local/lib/python/silme/format/text/__init__.py: -------------------------------------------------------------------------------- 1 | from serializer import TextSerializer as Serializer 2 | 3 | class TextFormatParser(): 4 | name = 'text' 5 | desc = 'Text writer' 6 | extensions = ['text'] 7 | encoding = 'utf_8' # allowed encoding 8 | fallback = None 9 | 10 | @classmethod 11 | def dump_structure (cls, structure): 12 | text = Serializer.serialize(structure) 13 | return text 14 | 15 | @classmethod 16 | def dump_package (cls, l10npack): 17 | text = Serializer.serialize(l10npack) 18 | return text 19 | 20 | 21 | @classmethod 22 | def dump_entitylistdiff (cls, entitylistdiff): 23 | text = Serializer.dump_entitylistdiff(entitylistdiff) 24 | return text 25 | 26 | @classmethod 27 | def dump_structurediff (cls, structurediff): 28 | text = Serializer.dump_structurediff(structurediff) 29 | return text 30 | 31 | @classmethod 32 | def dump_packagediff (cls, packagediff): 33 | text = Serializer.dump_packagediff(packagediff) 34 | return text 35 | 36 | @classmethod 37 | def dump_entitylist (cls, entitylist): 38 | text = Serializer.serialize(entitylist) 39 | return text 40 | 41 | def register(Manager): 42 | Manager.register(TextFormatParser) -------------------------------------------------------------------------------- /vendor-local/lib/python/async/test/test_example.py: -------------------------------------------------------------------------------- 1 | """Module containing examples from the documentaiton""" 2 | from lib import * 3 | 4 | from async.pool import * 5 | from async.task import * 6 | from async.thread import terminate_threads 7 | 8 | 9 | 10 | 11 | class TestExamples(TestBase): 12 | 13 | @terminate_threads 14 | def test_usage(self): 15 | p = ThreadPool() 16 | # default size is 0, synchronous mode 17 | assert p.size() == 0 18 | 19 | # now tasks would be processed asynchronously 20 | p.set_size(1) 21 | assert p.size() == 1 22 | 23 | # A task performing processing on items from an iterator 24 | t = IteratorThreadTask(iter(range(10)), "power", lambda i: i*i) 25 | reader = p.add_task(t) 26 | 27 | # read all items - they where procesed by worker 1 28 | items = reader.read() 29 | assert len(items) == 10 and items[0] == 0 and items[-1] == 81 30 | 31 | 32 | # chaining 33 | t = IteratorThreadTask(iter(range(10)), "power", lambda i: i*i) 34 | reader = p.add_task(t) 35 | 36 | # chain both by linking their readers 37 | tmult = ChannelThreadTask(reader, "mult", lambda i: i*2) 38 | result_reader = p.add_task(tmult) 39 | 40 | # read all 41 | items = result_reader.read() 42 | assert len(items) == 10 and items[0] == 0 and items[-1] == 162 43 | 44 | 45 | -------------------------------------------------------------------------------- /vendor-local/lib/python/south/tests/db_firebird.py: -------------------------------------------------------------------------------- 1 | from django.db import models 2 | 3 | from south.db import db 4 | from south.tests import unittest, skipUnless 5 | 6 | 7 | class FirebirdTests(unittest.TestCase): 8 | 9 | """ 10 | Tests firebird related issues 11 | """ 12 | 13 | def setUp(self): 14 | print('=' * 80) 15 | print('Begin Firebird test') 16 | 17 | def tearDown(self): 18 | print('End Firebird test') 19 | print('=' * 80) 20 | 21 | @skipUnless(db.backend_name == "firebird", "Firebird-only test") 22 | def test_firebird_double_index_creation_1317(self): 23 | """ 24 | Tests foreign key creation, especially uppercase (see #61) 25 | """ 26 | Test = db.mock_model(model_name='Test', 27 | db_table='test5a', 28 | db_tablespace='', 29 | pk_field_name='ID', 30 | pk_field_type=models.AutoField, 31 | pk_field_args=[] 32 | ) 33 | db.create_table("test5a", [('ID', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True))]) 34 | db.create_table("test5b", [ 35 | ('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)), 36 | ('UNIQUE', models.ForeignKey(Test)), 37 | ]) 38 | db.execute_deferred_sql() 39 | 40 | -------------------------------------------------------------------------------- /vendor-local/lib/python/south/logger.py: -------------------------------------------------------------------------------- 1 | import sys 2 | import logging 3 | from django.conf import settings 4 | 5 | # Create a dummy handler to use for now. 6 | class NullHandler(logging.Handler): 7 | def emit(self, record): 8 | pass 9 | 10 | def get_logger(): 11 | "Attach a file handler to the logger if there isn't one already." 12 | debug_on = getattr(settings, "SOUTH_LOGGING_ON", False) 13 | logging_file = getattr(settings, "SOUTH_LOGGING_FILE", False) 14 | 15 | if debug_on: 16 | if logging_file: 17 | if len(_logger.handlers) < 2: 18 | _logger.addHandler(logging.FileHandler(logging_file)) 19 | _logger.setLevel(logging.DEBUG) 20 | else: 21 | raise IOError("SOUTH_LOGGING_ON is True. You also need a SOUTH_LOGGING_FILE setting.") 22 | 23 | return _logger 24 | 25 | def close_logger(): 26 | "Closes the logger handler for the file, so we can remove the file after a test." 27 | for handler in _logger.handlers: 28 | _logger.removeHandler(handler) 29 | if isinstance(handler, logging.FileHandler): 30 | handler.close() 31 | 32 | def init_logger(): 33 | "Initialize the south logger" 34 | logger = logging.getLogger("south") 35 | logger.addHandler(NullHandler()) 36 | return logger 37 | 38 | _logger = init_logger() 39 | -------------------------------------------------------------------------------- /vendor-local/lib/python/south/models.py: -------------------------------------------------------------------------------- 1 | from django.db import models 2 | from south.db import DEFAULT_DB_ALIAS 3 | 4 | class MigrationHistory(models.Model): 5 | app_name = models.CharField(max_length=255) 6 | migration = models.CharField(max_length=255) 7 | applied = models.DateTimeField(blank=True) 8 | 9 | @classmethod 10 | def for_migration(cls, migration, database): 11 | try: 12 | # Switch on multi-db-ness 13 | if database != DEFAULT_DB_ALIAS: 14 | # Django 1.2 15 | objects = cls.objects.using(database) 16 | else: 17 | # Django <= 1.1 18 | objects = cls.objects 19 | return objects.get( 20 | app_name=migration.app_label(), 21 | migration=migration.name(), 22 | ) 23 | except cls.DoesNotExist: 24 | return cls( 25 | app_name=migration.app_label(), 26 | migration=migration.name(), 27 | ) 28 | 29 | def get_migrations(self): 30 | from south.migration.base import Migrations 31 | return Migrations(self.app_name) 32 | 33 | def get_migration(self): 34 | return self.get_migrations().migration(self.migration) 35 | 36 | def __str__(self): 37 | return "<%s: %s>" % (self.app_name, self.migration) 38 | -------------------------------------------------------------------------------- /clients/bookmarklet/loader.js: -------------------------------------------------------------------------------- 1 | (function() { 2 | 3 | function inject_scripts() { 4 | for (var i=0; i < arguments.length; i++) { 5 | var script = document.createElement('script'); 6 | script.type = 'text/javascript'; 7 | script.src = arguments[i]; 8 | document.getElementsByTagName('body')[0].appendChild(script); 9 | } 10 | } 11 | 12 | function inject_stylesheets() { 13 | for (var i=0; i < arguments.length; i++) { 14 | var stylesheet = document.createElement('link'); 15 | stylesheet.rel = 'stylesheet'; 16 | stylesheet.href = arguments[i]; 17 | document.getElementsByTagName('head')[0].appendChild(stylesheet); 18 | } 19 | } 20 | 21 | inject_scripts( 22 | /* https://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js */ 23 | PontoonBookmarklet + 'client/lib/js/jquery-1.5.min.js', 24 | PontoonBookmarklet + 'client/lib/js/jquery.editableText.js', 25 | PontoonBookmarklet + 'client/lib/js/pontoon.js', 26 | PontoonBookmarklet + 'client/bookmarklet/bookmarklet.js' 27 | ); 28 | 29 | inject_stylesheets( 30 | PontoonBookmarklet + 'client/bookmarklet/bookmarklet.css', 31 | PontoonBookmarklet + 'client/lib/css/pontoon.css', 32 | /* TODO: Remove. Already loaded in ib/pontoon.js. Dynamically set or use absolute path. */ 33 | PontoonBookmarklet + 'client/lib/css/editable.css' 34 | ); 35 | 36 | })(); -------------------------------------------------------------------------------- /bin/crontab/gen-crons.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | import os 3 | from optparse import OptionParser 4 | 5 | from jinja2 import Template 6 | 7 | 8 | HEADER = '!!AUTO-GENERATED!! Edit bin/crontab/crontab.tpl instead.' 9 | TEMPLATE = open(os.path.join(os.path.dirname(__file__), 'crontab.tpl')).read() 10 | 11 | 12 | def main(): 13 | parser = OptionParser() 14 | parser.add_option('-w', '--webapp', 15 | help='Location of web app (required)') 16 | parser.add_option('-u', '--user', 17 | help=('Prefix cron with this user. ' 18 | 'Only define for cron.d style crontabs.')) 19 | parser.add_option('-p', '--python', default='/usr/bin/python2.6', 20 | help='Python interpreter to use.') 21 | 22 | (opts, args) = parser.parse_args() 23 | 24 | if not opts.webapp: 25 | parser.error('-w must be defined') 26 | 27 | ctx = {'django': 'cd %s; %s manage.py' % (opts.webapp, opts.python)} 28 | ctx['cron'] = '%s cron' % ctx['django'] 29 | 30 | if opts.user: 31 | for k, v in ctx.iteritems(): 32 | ctx[k] = '%s %s' % (opts.user, v) 33 | 34 | # Needs to stay below the opts.user injection. 35 | ctx['python'] = opts.python 36 | ctx['header'] = HEADER 37 | 38 | print Template(TEMPLATE).render(**ctx) 39 | 40 | 41 | if __name__ == '__main__': 42 | main() 43 | -------------------------------------------------------------------------------- /pontoon/base/utils/permissions.py: -------------------------------------------------------------------------------- 1 | 2 | import commonware.log 3 | import requests 4 | 5 | from django.conf import settings 6 | from django.contrib.auth.models import Permission 7 | 8 | 9 | log = commonware.log.getLogger('pontoon') 10 | 11 | 12 | def add_can_localize(user): 13 | 14 | # Grant permission to Mozilla localizers 15 | url = "https://mozillians.org/api/v1/users/" 16 | payload = { 17 | "app_name": "pontoon", 18 | "app_key": settings.MOZILLIANS_API_KEY, 19 | "groups": "localization", 20 | "format": "json", 21 | "limit": 2000, # By default, limited to 20 22 | "is_vouched": True 23 | } 24 | 25 | try: 26 | mozillians = requests.get(url, params=payload) 27 | email = user.email 28 | log.debug(email) 29 | 30 | for mozillian in mozillians.json()["objects"]: 31 | if email == mozillian["email"]: 32 | 33 | can_localize = Permission.objects.get(codename="can_localize") 34 | user.user_permissions.add(can_localize) 35 | log.debug("Permission can_localize set.") 36 | 37 | # Fallback if profile does not allow accessing data 38 | user.first_name = mozillian.get("full_name", email) 39 | user.save() 40 | break 41 | 42 | except Exception as e: 43 | log.debug(e) 44 | log.debug("Is your MOZILLIANS_API_KEY set?") 45 | -------------------------------------------------------------------------------- /vendor-local/lib/python/async-0.6.1-py2.7.egg-info/installed-files.txt: -------------------------------------------------------------------------------- 1 | ../async/__init__.py 2 | ../async/channel.py 3 | ../async/graph.py 4 | ../async/pool.py 5 | ../async/setup.py 6 | ../async/task.py 7 | ../async/thread.py 8 | ../async/util.py 9 | ../async/mod/__init__.py 10 | ../async/test/__init__.py 11 | ../async/test/lib.py 12 | ../async/test/task.py 13 | ../async/test/test_channel.py 14 | ../async/test/test_example.py 15 | ../async/test/test_graph.py 16 | ../async/test/test_performance.py 17 | ../async/test/test_pool.py 18 | ../async/test/test_task.py 19 | ../async/test/test_thread.py 20 | ../async/test/mod/__init__.py 21 | ../async/test/mod/test_zlib.py 22 | ../async/AUTHORS 23 | ../async/README 24 | ../async/__init__.pyc 25 | ../async/channel.pyc 26 | ../async/graph.pyc 27 | ../async/pool.pyc 28 | ../async/setup.pyc 29 | ../async/task.pyc 30 | ../async/thread.pyc 31 | ../async/util.pyc 32 | ../async/mod/__init__.pyc 33 | ../async/test/__init__.pyc 34 | ../async/test/lib.pyc 35 | ../async/test/task.pyc 36 | ../async/test/test_channel.pyc 37 | ../async/test/test_example.pyc 38 | ../async/test/test_graph.pyc 39 | ../async/test/test_performance.pyc 40 | ../async/test/test_pool.pyc 41 | ../async/test/test_task.pyc 42 | ../async/test/test_thread.pyc 43 | ../async/test/mod/__init__.pyc 44 | ../async/test/mod/test_zlib.pyc 45 | ../async/mod/zlib.so 46 | ./ 47 | dependency_links.txt 48 | not-zip-safe 49 | PKG-INFO 50 | SOURCES.txt 51 | top_level.txt 52 | -------------------------------------------------------------------------------- /clients/bookmarklet/bookmarklet.js: -------------------------------------------------------------------------------- 1 | // remap jQuery to $ 2 | (function($){ 3 | 4 | // Inject HTML 5 | $('body').append( 6 | '' 32 | ); 33 | 34 | // Turn on Pontoon client 35 | Pontoon.init(document, document); 36 | 37 | })(this.jQuery); 38 | -------------------------------------------------------------------------------- /pontoon/administration/management/commands/update_projects.py: -------------------------------------------------------------------------------- 1 | 2 | import os 3 | import datetime 4 | 5 | from django.conf import settings 6 | from django.core.management.base import BaseCommand, CommandError 7 | from pontoon.administration.views import _update_from_repository 8 | from pontoon.base.models import Project 9 | 10 | 11 | class Command(BaseCommand): 12 | help = 'Update all projects from their repositories and store changes \ 13 | to the database' 14 | 15 | def handle(self, *args, **options): 16 | for project in Project.objects.all(): 17 | try: 18 | repository_type = project.repository_type 19 | repository_url = project.repository_url 20 | repository_path_master = os.path.join( 21 | settings.MEDIA_ROOT, repository_type, project.slug) 22 | 23 | _update_from_repository( 24 | project, repository_type, repository_url, 25 | repository_path_master) 26 | now = datetime.datetime.now() 27 | self.stdout.write( 28 | '[%s]: Successfully updated project "%s"\n' % 29 | (now, project)) 30 | except Exception as e: 31 | now = datetime.datetime.now() 32 | raise CommandError( 33 | '[%s]: UpdateProjectsFromRepositoryError: %s\n' % 34 | (now, unicode(e))) 35 | -------------------------------------------------------------------------------- /vendor-local/lib/python/smmap/test/lib.py: -------------------------------------------------------------------------------- 1 | """Provide base classes for the test system""" 2 | from unittest import TestCase 3 | import os 4 | import tempfile 5 | 6 | __all__ = ['TestBase', 'FileCreator'] 7 | 8 | 9 | #{ Utilities 10 | 11 | class FileCreator(object): 12 | """A instance which creates a temporary file with a prefix and a given size 13 | and provides this info to the user. 14 | Once it gets deleted, it will remove the temporary file as well.""" 15 | __slots__ = ("_size", "_path") 16 | 17 | def __init__(self, size, prefix=''): 18 | assert size, "Require size to be larger 0" 19 | 20 | self._path = tempfile.mktemp(prefix=prefix) 21 | self._size = size 22 | 23 | fp = open(self._path, "wb") 24 | fp.seek(size-1) 25 | fp.write('1') 26 | fp.close() 27 | 28 | assert os.path.getsize(self.path) == size 29 | 30 | def __del__(self): 31 | try: 32 | os.remove(self.path) 33 | except OSError: 34 | pass 35 | #END exception handling 36 | 37 | 38 | @property 39 | def path(self): 40 | return self._path 41 | 42 | @property 43 | def size(self): 44 | return self._size 45 | 46 | #} END utilities 47 | 48 | class TestBase(TestCase): 49 | """Foundation used by all tests""" 50 | 51 | #{ Configuration 52 | k_window_test_size = 1000 * 1000 * 8 + 5195 53 | #} END configuration 54 | 55 | #{ Overrides 56 | @classmethod 57 | def setUpAll(cls): 58 | # nothing for now 59 | pass 60 | 61 | #END overrides 62 | 63 | #{ Interface 64 | 65 | #} END interface 66 | -------------------------------------------------------------------------------- /vendor-local/lib/python/south/introspection_plugins/geodjango.py: -------------------------------------------------------------------------------- 1 | """ 2 | GeoDjango introspection rules 3 | """ 4 | 5 | import django 6 | from django.conf import settings 7 | 8 | from south.modelsinspector import add_introspection_rules 9 | 10 | has_gis = "django.contrib.gis" in settings.INSTALLED_APPS 11 | 12 | if has_gis: 13 | # Alright,import the field 14 | from django.contrib.gis.db.models.fields import GeometryField 15 | 16 | # Make some introspection rules 17 | if django.VERSION[0] == 1 and django.VERSION[1] >= 1: 18 | # Django 1.1's gis module renamed these. 19 | rules = [ 20 | ( 21 | (GeometryField, ), 22 | [], 23 | { 24 | "srid": ["srid", {"default": 4326}], 25 | "spatial_index": ["spatial_index", {"default": True}], 26 | "dim": ["dim", {"default": 2}], 27 | "geography": ["geography", {"default": False}], 28 | }, 29 | ), 30 | ] 31 | else: 32 | rules = [ 33 | ( 34 | (GeometryField, ), 35 | [], 36 | { 37 | "srid": ["_srid", {"default": 4326}], 38 | "spatial_index": ["_index", {"default": True}], 39 | "dim": ["_dim", {"default": 2}], 40 | }, 41 | ), 42 | ] 43 | 44 | # Install them 45 | add_introspection_rules(rules, ["^django\.contrib\.gis"]) -------------------------------------------------------------------------------- /vendor-local/lib/python/silme/format/properties/__init__.py: -------------------------------------------------------------------------------- 1 | from .parser import PropertiesParser as Parser 2 | from .structure import PropertiesStructure as Structure 3 | from .serializer import PropertiesSerializer as Serializer 4 | 5 | class PropertiesFormatParser(): 6 | name = 'properties' 7 | desc = "Java Properties reader/writer" 8 | extensions = ['properties'] 9 | encoding = 'utf_8' # allowed encoding 10 | fallback = ['utf_8_sig'] 11 | 12 | @classmethod 13 | def dump_structure (cls, l10nobject): 14 | text = Serializer.serialize(l10nobject) 15 | return text 16 | 17 | @classmethod 18 | def dump_entitylist (cls, elist): 19 | text = Serializer.dump_entitylist(elist) 20 | return text 21 | 22 | @classmethod 23 | def get_entitylist (cls, text, code='default'): 24 | # remove the \ufeff character from the beginning of the file, dirty hack for now 25 | if text and (text[0] == unichr(65279)): 26 | text = text[1:] 27 | l10nobject = Parser.parse_to_entitylist(text, code=code) 28 | return l10nobject 29 | 30 | @classmethod 31 | def get_structure (cls, text, code='default'): 32 | # remove the \ufeff character from the beginning of the file, dirty hack for now 33 | if text and (text[0] == unichr(65279)): 34 | text = text[1:] 35 | l10nobject = Parser.parse(text, code=code) 36 | return l10nobject 37 | 38 | 39 | def register(Manager): 40 | Manager.register(PropertiesFormatParser) 41 | -------------------------------------------------------------------------------- /vendor-local/lib/python/suds/umx/basic.py: -------------------------------------------------------------------------------- 1 | # This program is free software; you can redistribute it and/or modify 2 | # it under the terms of the (LGPL) GNU Lesser General Public License as 3 | # published by the Free Software Foundation; either version 3 of the 4 | # License, or (at your option) any later version. 5 | # 6 | # This program is distributed in the hope that it will be useful, 7 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 8 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 9 | # GNU Library Lesser General Public License for more details at 10 | # ( http://www.gnu.org/licenses/lgpl.html ). 11 | # 12 | # You should have received a copy of the GNU Lesser General Public License 13 | # along with this program; if not, write to the Free Software 14 | # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 15 | # written by: Jeff Ortel ( jortel@redhat.com ) 16 | 17 | """ 18 | Provides basic unmarshaller classes. 19 | """ 20 | 21 | from logging import getLogger 22 | from suds import * 23 | from suds.umx import * 24 | from suds.umx.core import Core 25 | 26 | 27 | class Basic(Core): 28 | """ 29 | A object builder (unmarshaller). 30 | """ 31 | 32 | def process(self, node): 33 | """ 34 | Process an object graph representation of the xml I{node}. 35 | @param node: An XML tree. 36 | @type node: L{sax.element.Element} 37 | @return: A suds object. 38 | @rtype: L{Object} 39 | """ 40 | content = Content(node) 41 | return Core.process(self, content) -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2012, Mozilla Foundation 2 | All rights reserved. 3 | 4 | Redistribution and use in source and binary forms, with or without 5 | modification, are permitted provided that the following conditions are met: 6 | 7 | * Redistributions of source code must retain the above copyright notice, 8 | this list of conditions and the following disclaimer. 9 | * Redistributions in binary form must reproduce the above copyright notice, 10 | this list of conditions and the following disclaimer in the documentation 11 | and/or other materials provided with the distribution. 12 | * Neither the name of the copyright owner nor the names of its contributors 13 | may be used to endorse or promote products derived from this software 14 | without specific prior written permission. 15 | 16 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 17 | ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 18 | WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 19 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 20 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 21 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 22 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 23 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 24 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 25 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 26 | -------------------------------------------------------------------------------- /vendor-local/lib/python/south/introspection_plugins/django_audit_log.py: -------------------------------------------------------------------------------- 1 | """ 2 | South introspection rules for django-audit-log 3 | """ 4 | 5 | from django.contrib.auth.models import User 6 | from django.conf import settings 7 | from south.modelsinspector import add_introspection_rules 8 | 9 | if "audit_log" in settings.INSTALLED_APPS: 10 | try: 11 | # Try and import the field so we can see if audit_log is available 12 | from audit_log.models import fields 13 | 14 | # Make sure the `to` and `null` parameters will be ignored 15 | rules = [( 16 | (fields.LastUserField,), 17 | [], 18 | { 19 | 'to': ['rel.to', {'default': User}], 20 | 'null': ['null', {'default': True}], 21 | }, 22 | )] 23 | 24 | # Add the rules for the `LastUserField` 25 | add_introspection_rules( 26 | rules, 27 | ['^audit_log\.models\.fields\.LastUserField'], 28 | ) 29 | except ImportError: 30 | pass 31 | -------------------------------------------------------------------------------- /vendor-local/lib/python/silme/format/html/__init__.py: -------------------------------------------------------------------------------- 1 | from .parser import HTMLParser as Parser 2 | from .structure import HTMLStructure as Structure 3 | from .serializer import HTMLSerializer as Serializer 4 | 5 | class HTMLFormatParser(): 6 | name = 'html' 7 | desc = "HTML L10n format parser" 8 | extensions = ['html'] 9 | encoding = None # allowed encoding 10 | fallback = None 11 | 12 | @classmethod 13 | def dump_structure (cls, l10nobject): 14 | text = Serializer.serialize(l10nobject) 15 | return text 16 | 17 | @classmethod 18 | def dump_entitylist (cls, elist): 19 | text = Serializer.dump_entitylist(elist) 20 | return text 21 | 22 | @classmethod 23 | def get_entitylist (cls, text, code='default'): 24 | l10nobject = Parser.parse_to_entitylist(text, code=code) 25 | return l10nobject 26 | 27 | @classmethod 28 | def get_structure (cls, text, code='default'): 29 | l10nobject = Parser.parse(text, code=code) 30 | return l10nobject 31 | 32 | @classmethod 33 | def dump_entitylistdiff (cls, entitylistdiff): 34 | text = Serializer.dump_entitylistdiff(entitylistdiff) 35 | return text 36 | 37 | @classmethod 38 | def dump_structurediff (cls, structurediff): 39 | text = Serializer.dump_l10nobjectdiff(structurediff) 40 | return text 41 | 42 | @classmethod 43 | def dump_packagediff (cls, packagediff): 44 | text = Serializer.dump_packagediff(packagediff) 45 | return text 46 | 47 | def register(Manager): 48 | Manager.register(HTMLFormatParser) 49 | -------------------------------------------------------------------------------- /vendor-local/lib/python/silme/io/__init__.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | class Manager(object): 4 | clients = {} 5 | 6 | @classmethod 7 | def register(cls, *args): 8 | for client in args: 9 | if isinstance(client, str): 10 | if client in cls.clients: 11 | continue 12 | module = __import__(client, globals(), locals(), [], 1) 13 | module.register(cls) 14 | else: 15 | cls.clients[client.name] = client 16 | 17 | @classmethod 18 | def register_all(cls): 19 | dir = os.path.dirname(__file__) 20 | list = os.listdir(dir) 21 | modules = [f for f in list if os.path.isfile(os.path.join(dir, f))] 22 | for name in modules: 23 | name = name[:name.rfind('.')] 24 | try: 25 | module = __import__(name, globals(), locals(), [], 1) 26 | module.register(cls) 27 | except: 28 | pass 29 | 30 | @classmethod 31 | def get(cls, name=None, path=None): 32 | if name: 33 | ext = name.lower() 34 | if ext in cls.clients: 35 | return cls.clients[ext] 36 | else: 37 | try: 38 | module = __import__(name, globals(), locals(), [], 1) 39 | except ImportError: 40 | raise Exception('no matching ioclient') 41 | module.register(cls) 42 | return cls.clients[ext] 43 | elif path: 44 | for client in cls.clients.values(): 45 | if client.matches_path(path): 46 | return client 47 | raise Exception('no matching ioclient') 48 | -------------------------------------------------------------------------------- /vendor-local/lib/python/south/management/commands/__init__.py: -------------------------------------------------------------------------------- 1 | 2 | # Common framework for syncdb actions 3 | 4 | import copy 5 | 6 | from django.core import management 7 | from django.conf import settings 8 | 9 | # Make sure the template loader cache is fixed _now_ (#448) 10 | import django.template.loaders.app_directories 11 | 12 | from south.hacks import hacks 13 | from south.management.commands.syncdb import Command as SyncCommand 14 | 15 | class MigrateAndSyncCommand(SyncCommand): 16 | """Used for situations where "syncdb" is called by test frameworks.""" 17 | 18 | option_list = copy.deepcopy(SyncCommand.option_list) 19 | 20 | for opt in option_list: 21 | if "--migrate" == opt.get_opt_string(): 22 | opt.default = True 23 | break 24 | 25 | def patch_for_test_db_setup(): 26 | # Load the commands cache 27 | management.get_commands() 28 | # Repoint to the correct version of syncdb 29 | if hasattr(settings, "SOUTH_TESTS_MIGRATE") and not settings.SOUTH_TESTS_MIGRATE: 30 | # point at the core syncdb command when creating tests 31 | # tests should always be up to date with the most recent model structure 32 | management._commands['syncdb'] = 'django.core' 33 | else: 34 | management._commands['syncdb'] = MigrateAndSyncCommand() 35 | # Avoid flushing data migrations. 36 | # http://code.djangoproject.com/ticket/14661 introduced change that flushed custom 37 | # sql during the test database creation (thus flushing the data migrations). 38 | # we patch flush to be no-op during create_test_db, but still allow flushing 39 | # after each test for non-transactional backends. 40 | hacks.patch_flush_during_test_db_creation() 41 | -------------------------------------------------------------------------------- /hooks/php/test/testpilot/testcases.php: -------------------------------------------------------------------------------- 1 |
2 | 3 |

4 | 5 |

6 |

7 | 8 |

9 |

10 | 11 |

12 |

13 | 14 |

15 |

16 | 17 |

18 |

19 | 20 |
21 | -------------------------------------------------------------------------------- /pontoon/urls.py: -------------------------------------------------------------------------------- 1 | from django.conf import settings 2 | from django.conf.urls.defaults import patterns, include, url 3 | from django.contrib.staticfiles.urls import staticfiles_urlpatterns 4 | from django.views.generic import RedirectView 5 | from django.views.generic import TemplateView 6 | 7 | from funfactory.monkeypatches import patch 8 | patch() 9 | 10 | # Uncomment the next two lines to enable the admin: 11 | from django.contrib import admin 12 | admin.autodiscover() 13 | 14 | urlpatterns = patterns( 15 | '', 16 | 17 | # Locale redirect for compatibility with old (i18n ready) URL scheme 18 | (r'^en-US(?P.+)$', RedirectView.as_view(url="%(url)s")), 19 | 20 | # Main app: 21 | (r'', include('pontoon.base.urls')), 22 | 23 | # Admin: 24 | (r'admin/', include('pontoon.administration.urls')), 25 | 26 | # BrowserID: 27 | url(r'^browserid/$', 'pontoon.base.views.verify', name='browserid.verify'), 28 | 29 | # Logout 30 | url(r'^signout/$', 'django.contrib.auth.views.logout', {'next_page': '/'}, 31 | name='signout'), 32 | 33 | # Error pages 34 | url(r'^403/$', TemplateView.as_view(template_name='403.html')), 35 | url(r'^404/$', TemplateView.as_view(template_name='404.html')), 36 | url(r'^500/$', TemplateView.as_view(template_name='500.html')), 37 | 38 | # Favicon 39 | url(r'^favicon\.ico$', 40 | RedirectView.as_view(url='/static/img/favicon.ico')), 41 | 42 | # Include script 43 | url(r'^pontoon\.js$', 44 | RedirectView.as_view(url='/static/js/pontoon.js')), 45 | 46 | # Django admin 47 | (r'^a/', include(admin.site.urls)), 48 | ) 49 | 50 | ## In DEBUG mode, serve media files through Django. 51 | if settings.DEBUG: 52 | urlpatterns += staticfiles_urlpatterns() 53 | -------------------------------------------------------------------------------- /vendor-local/lib/python/suds-0.4-py2.7.egg-info/SOURCES.txt: -------------------------------------------------------------------------------- 1 | .project 2 | .pydevproject 3 | LICENSE 4 | README 5 | makefile 6 | python-suds.spec 7 | sdist 8 | setup.cfg 9 | setup.py 10 | suds/__init__.py 11 | suds/builder.py 12 | suds/cache.py 13 | suds/client.py 14 | suds/metrics.py 15 | suds/options.py 16 | suds/plugin.py 17 | suds/properties.py 18 | suds/reader.py 19 | suds/resolver.py 20 | suds/servicedefinition.py 21 | suds/serviceproxy.py 22 | suds/soaparray.py 23 | suds/store.py 24 | suds/sudsobject.py 25 | suds/wsdl.py 26 | suds/wsse.py 27 | suds.egg-info/PKG-INFO 28 | suds.egg-info/SOURCES.txt 29 | suds.egg-info/dependency_links.txt 30 | suds.egg-info/top_level.txt 31 | suds/bindings/__init__.py 32 | suds/bindings/binding.py 33 | suds/bindings/document.py 34 | suds/bindings/multiref.py 35 | suds/bindings/rpc.py 36 | suds/mx/__init__.py 37 | suds/mx/appender.py 38 | suds/mx/basic.py 39 | suds/mx/core.py 40 | suds/mx/encoded.py 41 | suds/mx/literal.py 42 | suds/mx/typer.py 43 | suds/sax/__init__.py 44 | suds/sax/attribute.py 45 | suds/sax/date.py 46 | suds/sax/document.py 47 | suds/sax/element.py 48 | suds/sax/enc.py 49 | suds/sax/parser.py 50 | suds/sax/text.py 51 | suds/transport/__init__.py 52 | suds/transport/http.py 53 | suds/transport/https.py 54 | suds/transport/options.py 55 | suds/umx/__init__.py 56 | suds/umx/attrlist.py 57 | suds/umx/basic.py 58 | suds/umx/core.py 59 | suds/umx/encoded.py 60 | suds/umx/typed.py 61 | suds/xsd/__init__.py 62 | suds/xsd/deplist.py 63 | suds/xsd/doctor.py 64 | suds/xsd/query.py 65 | suds/xsd/schema.py 66 | suds/xsd/sxbase.py 67 | suds/xsd/sxbasic.py 68 | suds/xsd/sxbuiltin.py 69 | tests/__init__.py 70 | tests/axis1.py 71 | tests/axis2.py 72 | tests/builtin.py 73 | tests/jasper.py 74 | tests/public.py 75 | tests/rhq.py 76 | tests/saxenc.py -------------------------------------------------------------------------------- /vendor-local/lib/python/async/test/test_performance.py: -------------------------------------------------------------------------------- 1 | """Channel testing""" 2 | from lib import * 3 | from task import * 4 | 5 | from async.pool import * 6 | from async.thread import terminate_threads 7 | from async.util import cpu_count 8 | 9 | import time 10 | import sys 11 | 12 | 13 | 14 | class TestThreadPoolPerformance(TestBase): 15 | 16 | max_threads = cpu_count() 17 | 18 | def test_base(self): 19 | # create a dependency network, and see how the performance changes 20 | # when adjusting the amount of threads 21 | pool = ThreadPool(0) 22 | ni = 1000 # number of items to process 23 | print self.max_threads 24 | for num_threads in range(self.max_threads*2 + 1): 25 | pool.set_size(num_threads) 26 | for num_transformers in (1, 5, 10): 27 | for read_mode in range(2): 28 | ts, rcs = add_task_chain(pool, ni, count=num_transformers, 29 | feedercls=IteratorThreadTask, 30 | transformercls=TestPerformanceThreadTask, 31 | include_verifier=False) 32 | 33 | mode_info = "read(0)" 34 | if read_mode == 1: 35 | mode_info = "read(1) * %i" % ni 36 | # END mode info 37 | fmt = "Threadcount=%%i: Produced %%i items using %s in %%i transformations in %%f s (%%f items / s)" % mode_info 38 | reader = rcs[-1] 39 | st = time.time() 40 | if read_mode == 1: 41 | for i in xrange(ni): 42 | assert len(reader.read(1)) == 1 43 | # END for each item to read 44 | else: 45 | assert len(reader.read(0)) == ni 46 | # END handle read mode 47 | elapsed = time.time() - st 48 | print >> sys.stderr, fmt % (num_threads, ni, num_transformers, elapsed, ni / elapsed) 49 | # END for each read-mode 50 | # END for each amount of processors 51 | # END for each thread count 52 | -------------------------------------------------------------------------------- /vendor-local/lib/python/silme/io/hg.py: -------------------------------------------------------------------------------- 1 | import silme.io 2 | import silme.format 3 | from silme.io.clients import IOClient, RCSClient 4 | from silme.core.object import L10nPackage, L10nObject, Blob 5 | 6 | from mercurial import hg, ui, commands, context 7 | import os 8 | 9 | 10 | def register(Manager): 11 | Manager.register(HgClient) 12 | 13 | class HgClient(RCSClient): 14 | name = 'hg' 15 | desc = "Mercurial Client" 16 | type = IOClient.__name__ 17 | 18 | 19 | @classmethod 20 | def matches_path(cls, path): 21 | """ 22 | tests if the ioclient should be used for this type of path 23 | example: hg:http://localhost/ or hg://localhost 24 | """ 25 | return path.startswith('hg:') 26 | 27 | @classmethod 28 | def get_blob(cls, path, source=True): 29 | (p, rev) = cls._explode_path(path) 30 | 31 | blob = Blob() 32 | blob.id = os.path.basename(path) 33 | if source: 34 | blob.source = cls.get_source_without_encoding(p) 35 | blob.uri = p 36 | return blob 37 | 38 | #======================== 39 | 40 | @classmethod 41 | def _explode_path(cls, path): 42 | return (path, 0) 43 | 44 | @classmethod 45 | def _read_with_encoding(cls, path, encoding): 46 | client = pysvn.Client() 47 | text = client.cat(path, revision=pysvn.Revision( pysvn.opt_revision_kind.head )) 48 | return text 49 | 50 | @classmethod 51 | def _read_without_encoding(cls, path): 52 | repo = hg.repository(ui.ui(), 'http://hg.mozilla.org/webtools/mcs/') 53 | print repo 54 | text = commands.cat(ui, repo, 'theme/html/index.html') 55 | #text = client.cat(path, revision=pysvn.Revision( pysvn.opt_revision_kind.head )) 56 | return text -------------------------------------------------------------------------------- /vendor-local/lib/python/suds/mx/basic.py: -------------------------------------------------------------------------------- 1 | # This program is free software; you can redistribute it and/or modify 2 | # it under the terms of the (LGPL) GNU Lesser General Public License as 3 | # published by the Free Software Foundation; either version 3 of the 4 | # License, or (at your option) any later version. 5 | # 6 | # This program is distributed in the hope that it will be useful, 7 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 8 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 9 | # GNU Library Lesser General Public License for more details at 10 | # ( http://www.gnu.org/licenses/lgpl.html ). 11 | # 12 | # You should have received a copy of the GNU Lesser General Public License 13 | # along with this program; if not, write to the Free Software 14 | # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 15 | # written by: Jeff Ortel ( jortel@redhat.com ) 16 | 17 | """ 18 | Provides basic I{marshaller} classes. 19 | """ 20 | 21 | from logging import getLogger 22 | from suds import * 23 | from suds.mx import * 24 | from suds.mx.core import Core 25 | 26 | log = getLogger(__name__) 27 | 28 | 29 | class Basic(Core): 30 | """ 31 | A I{basic} (untyped) marshaller. 32 | """ 33 | 34 | def process(self, value, tag=None): 35 | """ 36 | Process (marshal) the tag with the specified value using the 37 | optional type information. 38 | @param value: The value (content) of the XML node. 39 | @type value: (L{Object}|any) 40 | @param tag: The (optional) tag name for the value. The default is 41 | value.__class__.__name__ 42 | @type tag: str 43 | @return: An xml node. 44 | @rtype: L{Element} 45 | """ 46 | content = Content(tag=tag, value=value) 47 | result = Core.process(self, content) 48 | return result -------------------------------------------------------------------------------- /vendor-local/lib/python/south/tests/brokenapp/models.py: -------------------------------------------------------------------------------- 1 | # -*- coding: UTF-8 -*- 2 | 3 | from django.db import models 4 | from django.contrib.auth.models import User as UserAlias 5 | 6 | def default_func(): 7 | return "yays" 8 | 9 | # An empty case. 10 | class Other1(models.Model): pass 11 | 12 | # Nastiness. 13 | class HorribleModel(models.Model): 14 | "A model to test the edge cases of model parsing" 15 | 16 | ZERO, ONE = range(2) 17 | 18 | # First, some nice fields 19 | name = models.CharField(max_length=255) 20 | short_name = models.CharField(max_length=50) 21 | slug = models.SlugField(unique=True) 22 | 23 | # A ForeignKey, to a model above, and then below 24 | o1 = models.ForeignKey(Other1) 25 | o2 = models.ForeignKey('Other2') 26 | 27 | # Now to something outside 28 | user = models.ForeignKey(UserAlias, related_name="horribles") 29 | 30 | # Unicode! 31 | code = models.CharField(max_length=25, default="↑↑↓↓←→←→BA") 32 | 33 | # Odd defaults! 34 | class_attr = models.IntegerField(default=ZERO) 35 | func = models.CharField(max_length=25, default=default_func) 36 | 37 | # Time to get nasty. Define a non-field choices, and use it 38 | choices = [('hello', '1'), ('world', '2')] 39 | choiced = models.CharField(max_length=20, choices=choices) 40 | 41 | class Meta: 42 | db_table = "my_fave" 43 | verbose_name = "Dr. Strangelove," + \ 44 | """or how I learned to stop worrying 45 | and love the bomb""" 46 | 47 | # Now spread over multiple lines 48 | multiline = \ 49 | models.TextField( 50 | ) 51 | 52 | # Special case. 53 | class Other2(models.Model): 54 | # Try loading a field without a newline after it (inspect hates this) 55 | close_but_no_cigar = models.PositiveIntegerField(primary_key=True) -------------------------------------------------------------------------------- /lib/product_details_json/firefox_history_stability_releases.json: -------------------------------------------------------------------------------- 1 | {"1.0.1":"2005-02-24","1.0.2":"2005-03-23","1.0.3":"2005-04-15","1.0.4":"2005-05-11","1.0.5":"2005-07-12","1.0.6":"2005-07-19","1.0.7":"2005-09-20","1.0.8":"2006-04-13","1.5.0.1":"2006-02-01","1.5.0.2":"2006-04-13","1.5.0.3":"2006-05-02","1.5.0.4":"2006-06-01","1.5.0.5":"2006-07-26","1.5.0.6":"2006-08-02","1.5.0.7":"2006-09-14","1.5.0.8":"2006-11-07","1.5.0.9":"2006-12-19","1.5.0.10":"2007-02-23","1.5.0.11":"2007-03-20","1.5.0.12":"2007-05-30","2.0.0.1":"2006-12-19","2.0.0.2":"2007-02-23","2.0.0.3":"2007-03-20","2.0.0.4":"2007-05-30","2.0.0.5":"2007-07-17","2.0.0.6":"2007-07-30","2.0.0.7":"2007-09-18","2.0.0.8":"2007-10-18","2.0.0.9":"2007-11-01","2.0.0.10":"2007-11-26","2.0.0.11":"2007-11-30","2.0.0.12":"2008-02-07","2.0.0.13":"2008-03-25","2.0.0.14":"2008-04-16","2.0.0.15":"2008-07-01","2.0.0.16":"2008-07-15","2.0.0.17":"2008-09-23","2.0.0.18":"2008-11-12","2.0.0.19":"2008-12-16","2.0.0.20":"2008-12-18","3.0.1":"2008-07-16","3.0.2":"2008-09-23","3.0.3":"2008-09-26","3.0.4":"2008-11-12","3.0.5":"2008-12-16","3.0.6":"2009-02-03","3.0.7":"2009-03-04","3.0.8":"2009-03-27","3.0.9":"2009-04-21","3.0.10":"2009-04-27","3.0.11":"2009-06-11","3.0.12":"2009-07-21","3.0.13":"2009-08-03","3.0.14":"2009-09-09","3.0.15":"2009-10-27","3.0.16":"2009-12-15","3.0.17":"2010-01-05","3.0.18":"2010-02-17","3.0.19":"2010-03-30","3.5.1":"2009-07-17","3.5.2":"2009-08-03","3.5.3":"2009-09-09","3.5.4":"2009-10-27","3.5.5":"2009-11-05","3.5.6":"2009-12-15","3.5.7":"2010-01-05","3.5.8":"2010-02-17","3.5.9":"2010-03-30","3.5.10":"2010-06-22","3.5.11":"2010-07-20","3.5.12":"2010-09-07","3.5.13":"2010-09-15","3.5.14":"2010-10-19","3.5.15":"2010-10-27","3.6.16":"2010-12-09","3.6.2":"2010-03-22","3.6.3":"2010-04-01","3.6.4":"2010-06-22","3.6.6":"2010-06-26","3.6.7":"2010-07-20","3.6.8":"2010-07-23","3.6.9":"2010-09-07","3.6.10":"2010-09-15","3.6.11":"2010-10-19","3.6.12":"2010-10-27","3.6.13":"2010-12-09"} -------------------------------------------------------------------------------- /lib/product_details_json/firefox_beta_builds.json: -------------------------------------------------------------------------------- 1 | {"ast":{"3.6.13":{"Windows":{"filesize":7.8},"OS X":{"filesize":19},"Linux":{"filesize":9.5}},"4.0b10":{"Windows":{"filesize":7.8},"OS X":{"filesize":19},"Linux":{"filesize":9.6}}},"es-CL":{"3.5.16":{"Windows":{"filesize":7.6},"OS X":{"filesize":17.4},"Linux":{"filesize":9.2}},"3.6.13":{"Windows":{"filesize":7.8},"OS X":{"filesize":19},"Linux":{"filesize":9.5}}},"es-MX":{"3.5.16":{"Windows":{"filesize":7.6},"OS X":{"filesize":17.4},"Linux":{"filesize":9.2}},"3.6.13":{"Windows":{"filesize":7.8},"OS X":{"filesize":19},"Linux":{"filesize":9.5}}},"gd":{"4.0b10":{"Windows":{"filesize":7.8},"OS X":{"filesize":19},"Linux":{"filesize":9.5}},"3.6.13":{"Windows":{"filesize":7.8},"OS X":{"filesize":19},"Linux":{"filesize":9.5}}},"kk":{"3.5.16":{"Windows":{"filesize":7.6},"OS X":{"filesize":17.4},"Linux":{"filesize":9.2}},"3.6.13":{"Windows":{"filesize":7.8},"OS X":{"filesize":19},"Linux":{"filesize":9.6}}},"ku":{"3.5.16":[],"3.6.13":{"Windows":{"filesize":7.9},"OS X":{"filesize":19},"Linux":{"filesize":9.6}}},"mn":{"3.5.16":{"Windows":{"filesize":7.6},"OS X":{"filesize":17.4},"Linux":{"filesize":9.2}},"3.6.13":[]},"or":{"3.5.16":{"Windows":{"filesize":7.6},"OS X":{"filesize":17.4},"Linux":{"filesize":9.2}},"3.6.13":{"Windows":{"filesize":8},"OS X":{"filesize":19},"Linux":{"filesize":9.8}}},"rm":{"3.5.16":{"Windows":{"filesize":7.6},"OS X":{"filesize":17.4},"Linux":{"filesize":9.2}},"4.0b10":{"Windows":{"filesize":7.8},"OS X":{"filesize":19},"Linux":{"filesize":9.5}},"3.6.13":{"Windows":{"filesize":7.8},"OS X":{"filesize":19},"Linux":{"filesize":9.6}}},"ta":{"3.5.16":{"Windows":{"filesize":7.6},"OS X":{"filesize":17.4},"Linux":{"filesize":9.2}},"3.6.13":{"Windows":{"filesize":8},"OS X":{"filesize":19},"Linux":{"filesize":9.8}}},"ta-LK":{"3.5.16":{"Windows":{"filesize":7.6},"OS X":{"filesize":17.4},"Linux":{"filesize":9.2}},"3.6.13":{"Windows":{"filesize":7.9},"OS X":{"filesize":19},"Linux":{"filesize":9.6}}}} -------------------------------------------------------------------------------- /bin/jenkins.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # This script makes sure that Jenkins can properly run your tests against your 3 | # codebase. 4 | set -e 5 | 6 | DB_HOST="localhost" 7 | DB_USER="hudson" 8 | 9 | cd $WORKSPACE 10 | VENV=$WORKSPACE/venv 11 | 12 | echo "Starting build on executor $EXECUTOR_NUMBER..." 13 | 14 | # Make sure there's no old pyc files around. 15 | find . -name '*.pyc' -exec rm {} \; 16 | 17 | if [ ! -d "$VENV/bin" ]; then 18 | echo "No virtualenv found. Making one..." 19 | virtualenv $VENV --no-site-packages 20 | source $VENV/bin/activate 21 | pip install --upgrade pip 22 | pip install coverage 23 | fi 24 | 25 | git submodule sync -q 26 | git submodule update --init --recursive 27 | 28 | if [ ! -d "$WORKSPACE/vendor" ]; then 29 | echo "No /vendor... crap." 30 | exit 1 31 | fi 32 | 33 | source $VENV/bin/activate 34 | pip install -q -r requirements/compiled.txt 35 | pip install -q -r requirements/dev.txt 36 | 37 | cat > settings/local.py <' 33 | return string 34 | 35 | @classmethod 36 | def dump_entitylist(cls, elist, fallback=None): 37 | if not fallback: 38 | fallback = elist.fallback 39 | string = u''.join([cls.dump_entity(entity, fallback)+'\n' for entity in elist.values()]) 40 | return string 41 | 42 | @classmethod 43 | def dump_comment (cls, comment): 44 | string = u'' 48 | return string 49 | -------------------------------------------------------------------------------- /vendor-local/lib/python/suds/umx/__init__.py: -------------------------------------------------------------------------------- 1 | # This program is free software; you can redistribute it and/or modify 2 | # it under the terms of the (LGPL) GNU Lesser General Public License as 3 | # published by the Free Software Foundation; either version 3 of the 4 | # License, or (at your option) any later version. 5 | # 6 | # This program is distributed in the hope that it will be useful, 7 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 8 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 9 | # GNU Library Lesser General Public License for more details at 10 | # ( http://www.gnu.org/licenses/lgpl.html ). 11 | # 12 | # You should have received a copy of the GNU Lesser General Public License 13 | # along with this program; if not, write to the Free Software 14 | # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 15 | # written by: Jeff Ortel ( jortel@redhat.com ) 16 | 17 | """ 18 | Provides modules containing classes to support 19 | unmarshalling (XML). 20 | """ 21 | 22 | from suds.sudsobject import Object 23 | 24 | 25 | 26 | class Content(Object): 27 | """ 28 | @ivar node: The content source node. 29 | @type node: L{sax.element.Element} 30 | @ivar data: The (optional) content data. 31 | @type data: L{Object} 32 | @ivar text: The (optional) content (xml) text. 33 | @type text: basestring 34 | """ 35 | 36 | extensions = [] 37 | 38 | def __init__(self, node, **kwargs): 39 | Object.__init__(self) 40 | self.node = node 41 | self.data = None 42 | self.text = None 43 | for k,v in kwargs.items(): 44 | setattr(self, k, v) 45 | 46 | def __getattr__(self, name): 47 | if name not in self.__dict__: 48 | if name in self.extensions: 49 | v = None 50 | setattr(self, name, v) 51 | else: 52 | raise AttributeError, \ 53 | 'Content has no attribute %s' % name 54 | else: 55 | v = self.__dict__[name] 56 | return v -------------------------------------------------------------------------------- /pontoon/base/static/js/home.js: -------------------------------------------------------------------------------- 1 | $(function() { 2 | 3 | // Update project if already set 4 | var project = $('#server').data('project'), 5 | spin = 'fa fa-refresh fa-spin'; 6 | if (project) { 7 | $('.project-name[data-slug="' + project + '"]').parents('li').click(); 8 | } 9 | 10 | // Update locale if already set 11 | var locale = $('#server').data('locale'); 12 | if (locale) { 13 | locale = locale.toLowerCase(); 14 | $('.locale .language.' + locale).parents('li').click(); 15 | } 16 | 17 | $('#project-load').hide(); 18 | $('#intro').css('display', 'table').hide().fadeIn(); 19 | 20 | // Authentication and profile menu 21 | $("#browserid").click(function(e) { 22 | $('#loading').toggleClass(spin).empty(); 23 | e.preventDefault(); 24 | navigator.id.get(function(assertion) { 25 | if (assertion) { 26 | $.ajax({ 27 | url: 'browserid/', 28 | type: 'POST', 29 | data: { 30 | assertion: assertion, 31 | csrfmiddlewaretoken: $('#server').data('csrf') 32 | }, 33 | success: function(data) { 34 | if (data !== 'error') { 35 | $('#action').remove(); 36 | $('#signout').removeClass('hidden').find('a').attr('title', data.browserid.email); 37 | if (data.manager) { 38 | $('#admin').removeClass('hidden'); 39 | } 40 | $('form').removeClass('hidden'); 41 | $('.notification').addClass('hidden'); 42 | } else { 43 | $('.notification').html('
  • Oops, something went wrong.
  • ').removeClass('hidden'); 44 | $('#loading').toggleClass(spin).html('or'); 45 | } 46 | }, 47 | error: function() { 48 | $('.notification').html('
  • Oops, something went wrong.
  • ').removeClass('hidden'); 49 | $('#loading').toggleClass(spin).html('or'); 50 | } 51 | }); 52 | } else { 53 | $('#loading').toggleClass(spin).html('or'); 54 | } 55 | }); 56 | }); 57 | 58 | }); 59 | -------------------------------------------------------------------------------- /vendor-local/lib/python/suds/sax/document.py: -------------------------------------------------------------------------------- 1 | # This program is free software; you can redistribute it and/or modify 2 | # it under the terms of the (LGPL) GNU Lesser General Public License as 3 | # published by the Free Software Foundation; either version 3 of the 4 | # License, or (at your option) any later version. 5 | # 6 | # This program is distributed in the hope that it will be useful, 7 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 8 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 9 | # GNU Library Lesser General Public License for more details at 10 | # ( http://www.gnu.org/licenses/lgpl.html ). 11 | # 12 | # You should have received a copy of the GNU Lesser General Public License 13 | # along with this program; if not, write to the Free Software 14 | # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 15 | # written by: Jeff Ortel ( jortel@redhat.com ) 16 | 17 | """ 18 | Provides XML I{document} classes. 19 | """ 20 | 21 | from logging import getLogger 22 | from suds import * 23 | from suds.sax import * 24 | from suds.sax.element import Element 25 | 26 | log = getLogger(__name__) 27 | 28 | class Document(Element): 29 | """ simple document """ 30 | 31 | DECL = '' 32 | 33 | def __init__(self, root=None): 34 | Element.__init__(self, 'document') 35 | if root is not None: 36 | self.append(root) 37 | 38 | def root(self): 39 | if len(self.children): 40 | return self.children[0] 41 | else: 42 | return None 43 | 44 | def str(self): 45 | s = [] 46 | s.append(self.DECL) 47 | s.append('\n') 48 | s.append(self.root().str()) 49 | return ''.join(s) 50 | 51 | def plain(self): 52 | s = [] 53 | s.append(self.DECL) 54 | s.append(self.root().plain()) 55 | return ''.join(s) 56 | 57 | def __str__(self): 58 | return unicode(self).encode('utf-8') 59 | 60 | def __unicode__(self): 61 | return self.str() -------------------------------------------------------------------------------- /vendor-local/lib/python/silme-0.8.1-py2.7.egg-info/SOURCES.txt: -------------------------------------------------------------------------------- 1 | setup.cfg 2 | setup.py 3 | lib/silme/__init__.py 4 | lib/silme.egg-info/PKG-INFO 5 | lib/silme.egg-info/SOURCES.txt 6 | lib/silme.egg-info/dependency_links.txt 7 | lib/silme.egg-info/top_level.txt 8 | lib/silme/compatibility/__init__.py 9 | lib/silme/compatibility/v05.py 10 | lib/silme/core/__init__.py 11 | lib/silme/core/entity.py 12 | lib/silme/core/list.py 13 | lib/silme/core/logger.py 14 | lib/silme/core/package.py 15 | lib/silme/core/structure.py 16 | lib/silme/diff/__init__.py 17 | lib/silme/diff/blob.py 18 | lib/silme/diff/entity.py 19 | lib/silme/diff/list.py 20 | lib/silme/diff/package.py 21 | lib/silme/diff/structure.py 22 | lib/silme/format/__init__.py 23 | lib/silme/format/dtd/__init__.py 24 | lib/silme/format/dtd/parser.py 25 | lib/silme/format/dtd/serializer.py 26 | lib/silme/format/dtd/structure.py 27 | lib/silme/format/gettext/__init__.py 28 | lib/silme/format/gettext/parser.py 29 | lib/silme/format/gettext/serializer.py 30 | lib/silme/format/gettext/structure.py 31 | lib/silme/format/html/__init__.py 32 | lib/silme/format/html/parser.py 33 | lib/silme/format/html/serializer.py 34 | lib/silme/format/html/structure.py 35 | lib/silme/format/inc/__init__.py 36 | lib/silme/format/inc/parser.py 37 | lib/silme/format/inc/serializer.py 38 | lib/silme/format/inc/structure.py 39 | lib/silme/format/ini/__init__.py 40 | lib/silme/format/ini/parser.py 41 | lib/silme/format/ini/serializer.py 42 | lib/silme/format/ini/structure.py 43 | lib/silme/format/l20n/__init__.py 44 | lib/silme/format/l20n/parser.py 45 | lib/silme/format/l20n/serializer.py 46 | lib/silme/format/l20n/structure.py 47 | lib/silme/format/properties/__init__.py 48 | lib/silme/format/properties/parser.py 49 | lib/silme/format/properties/serializer.py 50 | lib/silme/format/properties/structure.py 51 | lib/silme/format/text/__init__.py 52 | lib/silme/format/text/serializer.py 53 | lib/silme/io/__init__.py 54 | lib/silme/io/clients.py 55 | lib/silme/io/file.py 56 | lib/silme/io/hg.py 57 | lib/silme/io/jar.py 58 | lib/silme/io/mysql.py 59 | lib/silme/io/sqlite.py 60 | lib/silme/io/svn.py -------------------------------------------------------------------------------- /vendor-local/lib/python/suds/mx/__init__.py: -------------------------------------------------------------------------------- 1 | # This program is free software; you can redistribute it and/or modify 2 | # it under the terms of the (LGPL) GNU Lesser General Public License as 3 | # published by the Free Software Foundation; either version 3 of the 4 | # License, or (at your option) any later version. 5 | # 6 | # This program is distributed in the hope that it will be useful, 7 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 8 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 9 | # GNU Library Lesser General Public License for more details at 10 | # ( http://www.gnu.org/licenses/lgpl.html ). 11 | # 12 | # You should have received a copy of the GNU Lesser General Public License 13 | # along with this program; if not, write to the Free Software 14 | # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 15 | # written by: Jeff Ortel ( jortel@redhat.com ) 16 | 17 | """ 18 | Provides modules containing classes to support 19 | marshalling (XML). 20 | """ 21 | 22 | from suds.sudsobject import Object 23 | 24 | 25 | class Content(Object): 26 | """ 27 | Marshaller Content. 28 | @ivar tag: The content tag. 29 | @type tag: str 30 | @ivar value: The content's value. 31 | @type value: I{any} 32 | """ 33 | 34 | extensions = [] 35 | 36 | def __init__(self, tag=None, value=None, **kwargs): 37 | """ 38 | @param tag: The content tag. 39 | @type tag: str 40 | @param value: The content's value. 41 | @type value: I{any} 42 | """ 43 | Object.__init__(self) 44 | self.tag = tag 45 | self.value = value 46 | for k,v in kwargs.items(): 47 | setattr(self, k, v) 48 | 49 | def __getattr__(self, name): 50 | if name not in self.__dict__: 51 | if name in self.extensions: 52 | v = None 53 | setattr(self, name, v) 54 | else: 55 | raise AttributeError, \ 56 | 'Content has no attribute %s' % name 57 | else: 58 | v = self.__dict__[name] 59 | return v -------------------------------------------------------------------------------- /hooks/php/test/testpilot/home.php: -------------------------------------------------------------------------------- 1 |
    2 | 3 |

    4 | 5 |

    6 | 7 |

    8 | 9 |

    install the Test Pilot add-on, you will automatically receive notifications on upcoming and finished studies. You have the full control on your participation: ')?>

    10 |
      11 |
    • 12 |
    • 13 |
    • 14 |
    • 15 |
    • 16 |
    17 | 18 |

    19 | 20 |

    Join the forces, we want you! ')?>

    21 | 22 |
    23 | 24 |
    25 | -------------------------------------------------------------------------------- /pontoon/administration/templates/admin.html: -------------------------------------------------------------------------------- 1 | {% extends "base.html" %} 2 | 3 | {% block title %}Pontoon · Admin{% endblock %} 4 | 5 | {% block class %}admin{% endblock %} 6 | 7 | {% block content %} 8 |
    9 |
    10 | 11 | 16 | 17 |

    Admin

    18 |

    Don't mess it up. Please.

    19 | 20 |
    21 | 22 |
    23 | {% if projects|length > 0 %} 24 | 27 | {% endif %} 28 | 43 |
    44 | 45 | 46 |
    47 | Add new 48 |
    49 |
    50 | 51 |
    52 |
    53 | {% endblock %} 54 | 55 | {% block extend_css %} 56 | 57 | {% endblock %} 58 | 59 | {% block extend_js %} 60 | {% compress js %} 61 | 62 | {% endcompress %} 63 | {% endblock %} 64 | -------------------------------------------------------------------------------- /vendor-local/lib/python/silme/io/sqlite.py: -------------------------------------------------------------------------------- 1 | import silme.io 2 | from silme.io.clients import IOClient, DBClient 3 | from silme.core import L10nPackage, L10nObject, EntityList, Object, Entity 4 | 5 | import os 6 | from pysqlite2 import dbapi2 as sqlite 7 | 8 | def register(Manager): 9 | Manager.register(SQLiteClient) 10 | 11 | class SQLiteClient (DBClient): 12 | name = 'sqlite' 13 | desc = "SQLite reader/writer" 14 | type = IOClient.__name__ 15 | 16 | @classmethod 17 | def matches_path(cls, path): 18 | """ 19 | tests if the ioclient should be used for this type of path 20 | Matches any sqlite: 21 | """ 22 | return path.startswith('sqlite:') 23 | 24 | @classmethod 25 | def get_entitylist(cls, path, source=False, code='default', parser=None): 26 | 27 | entityList = EntityList() 28 | (path, table) = cls._explode_path(path) 29 | con = cls._connected() 30 | if not con: 31 | cls._connect(path) 32 | 33 | cursor = cls.connection.cursor() 34 | cursor.execute('SELECT * FROM '+table) 35 | for row in cursor: 36 | entitylist.add_entity(Entity(row[0],row[1])) 37 | cursor.close() 38 | if not con: 39 | cls._close() 40 | return entitylist 41 | 42 | @classmethod 43 | def get_l10npackage (cls, path, load_objects = True): 44 | l10npackage = L10nPackage() 45 | cls._connect(path) 46 | l10npackage.id = os.path.basename(path) 47 | l10npackage.objects['L10nTable'] = L10nObject(cls.build_entitylist(path, 'L10nTable')) 48 | cls._close() 49 | return l10npackage 50 | 51 | #===== 52 | 53 | @classmethod 54 | #mysql://localhost/db?user=foo&password=foo2 55 | def _explode_path(cls, path): 56 | return (path, 'l10n') 57 | 58 | @classmethod 59 | def _connect(cls, path): 60 | cls.connection = sqlite.connect(path) 61 | 62 | def _close(cls): 63 | if cls._connected(): 64 | cls.connection.close() 65 | cls.connection = None 66 | 67 | def _connected(): 68 | return bool(cls.connection) 69 | -------------------------------------------------------------------------------- /vendor-local/lib/python/silme/core/logger.py: -------------------------------------------------------------------------------- 1 | import silme.core 2 | """ 3 | Basic logger class. 4 | It adds to EntityList, L10nObject and L10nPackage methods: 5 | class.log(type, message, path=None) 6 | class.get_logs() 7 | 8 | that allows to store informations about the package or object. 9 | """ 10 | 11 | class Logger(): 12 | @classmethod 13 | def log(cls, type, message, path=None): 14 | """ 15 | adds a new log to the object. 16 | """ 17 | if hasattr(cls, 'logs'): 18 | cls.logs.append((type, message, path)) 19 | else: 20 | cls.logs = [(type, message, path)] 21 | return True 22 | 23 | @classmethod 24 | def get_logs(cls): 25 | """ 26 | returns list of logs for Logger 27 | """ 28 | if hasattr(cls, 'logs'): 29 | return cls.logs 30 | return [] 31 | 32 | def log(self, type, message, path=None): 33 | """ 34 | adds a new log to the object. If self.logs list does not exist its being added 35 | """ 36 | if hasattr(self, 'logs'): 37 | self.logs.append((type, message, path)) 38 | else: 39 | self.logs = [(type, message, path)] 40 | return True 41 | 42 | def get_logs(self): 43 | """ 44 | returns list of logs for the object 45 | """ 46 | if hasattr(self, 'logs'): 47 | return self.logs 48 | return [] 49 | 50 | def get_all_logs(self, recursive=False): 51 | """ 52 | returns list of logs for the package, optionally can also load 53 | all logs from its objects and sub-packages. 54 | """ 55 | if hasattr(self, 'logs'): 56 | logs = self.logs 57 | else: 58 | logs = [] 59 | if not recursive: 60 | return logs 61 | for object in self.structures(): 62 | logs.extend(object.get_logs()) 63 | for package in self.packages(): 64 | logs.extend(package.get_logs(recursive=True)) 65 | return logs 66 | 67 | 68 | silme.core.EntityList.log = log 69 | silme.core.EntityList.get_logs = get_logs 70 | 71 | silme.core.Structure.log = log 72 | silme.core.Structure.get_logs = get_logs 73 | 74 | silme.core.Package.log = log 75 | silme.core.Package.get_logs = get_all_logs 76 | -------------------------------------------------------------------------------- /vendor-local/lib/python/async/test/mod/test_zlib.py: -------------------------------------------------------------------------------- 1 | """ZLib module testing""" 2 | from async.test.lib import * 3 | import async.mod.zlib as zlib 4 | 5 | import sys 6 | import struct 7 | 8 | class TestZLib(TestBase): 9 | def test_constants(self): 10 | # check constants 11 | assert zlib.Z_STATUS_UNSET == ~0 12 | assert hasattr(zlib, "Z_OK") 13 | assert hasattr(zlib, "Z_STREAM_END") 14 | assert hasattr(zlib, "Z_NEED_DICT") 15 | assert hasattr(zlib, "Z_ERRNO") 16 | assert hasattr(zlib, "Z_STREAM_ERROR") 17 | assert hasattr(zlib, "Z_DATA_ERROR") 18 | assert hasattr(zlib, "Z_MEM_ERROR") 19 | assert hasattr(zlib, "Z_BUF_ERROR") 20 | assert hasattr(zlib, "Z_VERSION_ERROR") 21 | 22 | 23 | def test_status(self): 24 | # test the newly introduced status code 25 | data = struct.pack(">L", (1<<31) + (1<<15) + (1<<2)) 26 | assert len(data) == 4 27 | 28 | # compress 29 | cobj = zlib.compressobj(zlib.Z_BEST_SPEED) 30 | assert cobj.status == zlib.Z_STATUS_UNSET 31 | 32 | cchunk = '' 33 | for c in data: 34 | cchunk += cobj.compress(c) 35 | assert cobj.status == zlib.Z_OK 36 | # END for each databyte 37 | # its not yet done, but soon it will 38 | cchunk += cobj.flush() 39 | assert cobj.status == zlib.Z_STREAM_END 40 | 41 | # zip should have added a few bytes of info 42 | assert len(cchunk) > len(data) 43 | 44 | 45 | # decompress - need status to determine decompession finished 46 | dcobj = zlib.decompressobj() 47 | idata = '' # inflated data 48 | for i, c in enumerate(cchunk): 49 | idata += dcobj.decompress(c) 50 | assert dcobj.status == zlib.Z_OK 51 | 52 | # break if we have it 53 | if len(idata) == len(data): 54 | break 55 | # END for each character 56 | assert idata == data 57 | 58 | # we should still have some bytes left 59 | assert i < len(cchunk) - 1 60 | 61 | # feed the remaining data, we don't expect to decompress anything, but 62 | # want to see the status change 63 | while dcobj.status == zlib.Z_OK: 64 | i += 1 65 | assert len(dcobj.decompress(cchunk[i])) == 0 66 | # END deplete compressed stream 67 | 68 | # now we are done 69 | assert dcobj.status == zlib.Z_STREAM_END 70 | assert i == len(cchunk) - 1 71 | -------------------------------------------------------------------------------- /hooks/php/test/fxlive/Datoteke_za_index/follow_button_data/show.json: -------------------------------------------------------------------------------- 1 | twttr.setFollowersCount({"time_zone":"Pacific Time (US & Canada)","profile_link_color":"cc3300","protected":false,"created_at":"Sat Mar 24 23:58:14 +0000 2007","profile_image_url_https":"https:\/\/si0.twimg.com\/profile_images\/267099709\/firefox-for-twitter_normal.png","name":"Firefox","geo_enabled":false,"favourites_count":0,"profile_background_color":"2174bc","default_profile_image":false,"notifications":null,"profile_background_tile":false,"utc_offset":-28800,"description":"I make the web a little faster, safer, smarter, better.\r\n\r\nNeed help? Ask our volunteers @FirefoxHelp.","statuses_count":3238,"following":null,"verified":true,"profile_sidebar_fill_color":"ffff99","followers_count":609650,"profile_image_url":"http:\/\/a2.twimg.com\/profile_images\/267099709\/firefox-for-twitter_normal.png","status":{"possibly_sensitive":false,"place":null,"retweet_count":0,"in_reply_to_screen_name":"ArianaG24fan","created_at":"Thu Nov 03 22:16:48 +0000 2011","retweeted":false,"in_reply_to_status_id_str":"132214414244970497","in_reply_to_user_id_str":"263229293","contributors":null,"in_reply_to_status_id":132214414244970497,"source":"\u003Ca href=\"http:\/\/cotweet.com\/?utm_source=sp1\" rel=\"nofollow\"\u003ECoTweet\u003C\/a\u003E","id_str":"132219703568506880","geo":null,"favorited":false,"id":132219703568506880,"coordinates":null,"in_reply_to_user_id":263229293,"truncated":false,"text":"@ArianaG24fan\u00a0maybe ask SUMO about this issue? Firefox\u2019s community support team. They\u2019ll know what\u2019s up: http:\/\/t.co\/xmHELHxt"},"default_profile":false,"follow_request_sent":null,"profile_sidebar_border_color":"ffcc33","location":"All over the world","is_translator":false,"contributors_enabled":true,"screen_name":"firefox","profile_use_background_image":true,"url":"http:\/\/blog.mozilla.com\/","id_str":"2142731","show_all_inline_media":false,"profile_background_image_url_https":"https:\/\/si0.twimg.com\/profile_background_images\/137486957\/MOZ-032_twitter_Fxlogo_prod.jpg","profile_text_color":"333333","id":2142731,"listed_count":21894,"lang":"en","profile_background_image_url":"http:\/\/a3.twimg.com\/profile_background_images\/137486957\/MOZ-032_twitter_Fxlogo_prod.jpg","friends_count":338385}); -------------------------------------------------------------------------------- /pontoon/base/urls.py: -------------------------------------------------------------------------------- 1 | from django.conf.urls.defaults import * 2 | 3 | import views 4 | 5 | urlpatterns = patterns( 6 | '', 7 | 8 | # Home 9 | url(r'^$', views.home, name='pontoon.home'), 10 | 11 | # Errors 12 | url('^translate/error/$', views.handle_error, name='pontoon.handle_error'), 13 | 14 | # Translate site 15 | url(r'^locale/(?P[A-Za-z0-9\-\@\.]+)/site/(?P.+)/$', 16 | views.translate_site, 17 | name='pontoon.translate.site'), 18 | 19 | # Translate project's page 20 | url(r'^locale/(?P[A-Za-z0-9\-\@\.]+)/project/(?P.+)' + 21 | '/page/(?P.+)/$', 22 | views.translate_project, 23 | name='pontoon.translate.project.page'), 24 | 25 | # Translate project 26 | url(r'^locale/(?P[A-Za-z0-9\-\@\.]+)/project/(?P.+)/$', 27 | views.translate_project, 28 | name='pontoon.translate.project'), 29 | 30 | # AJAX 31 | url(r'^update/', views.update_translation, 32 | name='pontoon.update'), 33 | url(r'^get-history/', views.get_translation_history, 34 | name='pontoon.get_history'), 35 | url(r'^approve-translation/', views.approve_translation, 36 | name='pontoon.approve_translation'), 37 | url(r'^delete-translation/', views.delete_translation, 38 | name='pontoon.delete_translation'), 39 | url(r'^machine-translation/$', views.machine_translation, 40 | name='pontoon.machine_translation'), 41 | url(r'^microsoft-terminology/$', views.microsoft_terminology, 42 | name='pontoon.microsoft_terminology'), 43 | url(r'^amagama/$', views.amagama, 44 | name='pontoon.amagama'), 45 | url(r'^transvision/$', views.transvision, 46 | name='pontoon.transvision'), 47 | url(r'^other-locales/', views.get_translations_from_other_locales, 48 | name='pontoon.other_locales'), 49 | url(r'^download/', views.download, 50 | name='pontoon.download'), 51 | url(r'^commit-to-repository/$', views.commit_to_repository, 52 | name='pontoon.commit_to_repository'), 53 | url(r'^transifex/$', views.save_to_transifex, 54 | name='pontoon.transifex'), 55 | url(r'^csrf/$', views.get_csrf, 56 | name='pontoon.csrf'), 57 | ) 58 | -------------------------------------------------------------------------------- /vendor-local/lib/python/silme/format/ini/serializer.py: -------------------------------------------------------------------------------- 1 | from ...core import Comment, EntityList, Entity 2 | from .structure import IniStructure 3 | from .parser import IniParser as Parser 4 | import re 5 | 6 | class IniSerializer(): 7 | @classmethod 8 | def serialize(cls, l10nobject, fallback=None): 9 | if not fallback: 10 | fallback = l10nobject.fallback 11 | string = u''.join([cls.dump_element(element, fallback) for element in l10nobject]) 12 | return string 13 | 14 | @classmethod 15 | def dump_element(cls, element, fallback=None): 16 | if isinstance(element, Entity): 17 | return cls.dump_entity(element, fallback=fallback) 18 | elif isinstance(element, Comment): 19 | return cls.dump_comment(element) 20 | else: 21 | return element 22 | 23 | @classmethod 24 | def dump_entity (cls, entity, fallback=None): 25 | if entity.params.has_key('source') and entity.params['source']['type']=='properties': 26 | match = Parser.patterns['entity'].match(entity.params['source']['string']) 27 | string = entity.params['source']['string'][0:match.start(1)] 28 | string += entity.id 29 | string += entity.params['source']['string'][match.end(1):match.start(2)] 30 | string += entity.get_value(fallback) 31 | string += entity.params['source']['string'][match.end(2):] 32 | else: 33 | string = entity.id+u' = '+entity.get_value(fallback) 34 | return string 35 | 36 | @classmethod 37 | def dump_entitylist(cls, elist, fallback=None): 38 | if not fallback: 39 | fallback = elist.fallback 40 | string = u''.join([cls.dump_entity(entity, fallback)+'\n' for entity in elist.get_entities()]) 41 | return string 42 | 43 | @classmethod 44 | def dump_comment (cls, comment): 45 | string = u'' 46 | for element in comment: 47 | string += cls.dump_element(element) 48 | if string: 49 | pattern = re.compile('\n') 50 | string = pattern.sub('\n#', string) 51 | string = '#' + string 52 | if string.endswith('#'): 53 | string = string[:-1] 54 | return string 55 | -------------------------------------------------------------------------------- /vendor-local/lib/python/south/management/commands/startmigration.py: -------------------------------------------------------------------------------- 1 | """ 2 | Now-obsolete startmigration command. 3 | """ 4 | 5 | from __future__ import print_function 6 | 7 | from optparse import make_option 8 | 9 | from django.core.management.base import BaseCommand 10 | from django.core.management.color import no_style 11 | 12 | class Command(BaseCommand): 13 | option_list = BaseCommand.option_list + ( 14 | make_option('--model', action='append', dest='added_model_list', type='string', 15 | help='Generate a Create Table migration for the specified model. Add multiple models to this migration with subsequent --add-model parameters.'), 16 | make_option('--add-field', action='append', dest='added_field_list', type='string', 17 | help='Generate an Add Column migration for the specified modelname.fieldname - you can use this multiple times to add more than one column.'), 18 | make_option('--add-index', action='append', dest='added_index_list', type='string', 19 | help='Generate an Add Index migration for the specified modelname.fieldname - you can use this multiple times to add more than one column.'), 20 | make_option('--initial', action='store_true', dest='initial', default=False, 21 | help='Generate the initial schema for the app.'), 22 | make_option('--auto', action='store_true', dest='auto', default=False, 23 | help='Attempt to automatically detect differences from the last migration.'), 24 | make_option('--freeze', action='append', dest='freeze_list', type='string', 25 | help='Freeze the specified model(s). Pass in either an app name (to freeze the whole app) or a single model, as appname.modelname.'), 26 | make_option('--stdout', action='store_true', dest='stdout', default=False, 27 | help='Print the migration to stdout instead of writing it to a file.'), 28 | ) 29 | help = "Deprecated command" 30 | 31 | def handle(self, app=None, name="", added_model_list=None, added_field_list=None, initial=False, freeze_list=None, auto=False, stdout=False, added_index_list=None, **options): 32 | 33 | print("The 'startmigration' command is now deprecated; please use the new 'schemamigration' and 'datamigration' commands.") 34 | -------------------------------------------------------------------------------- /vendor-local/lib/python/south/utils/__init__.py: -------------------------------------------------------------------------------- 1 | """ 2 | Generally helpful utility functions. 3 | """ 4 | 5 | 6 | def _ask_for_it_by_name(name): 7 | "Returns an object referenced by absolute path." 8 | bits = str(name).split(".") 9 | 10 | ## what if there is no absolute reference? 11 | if len(bits) > 1: 12 | modulename = ".".join(bits[:-1]) 13 | else: 14 | modulename = bits[0] 15 | 16 | module = __import__(modulename, {}, {}, bits[-1]) 17 | 18 | if len(bits) == 1: 19 | return module 20 | else: 21 | return getattr(module, bits[-1]) 22 | 23 | 24 | def ask_for_it_by_name(name): 25 | "Returns an object referenced by absolute path. (Memoised outer wrapper)" 26 | if name not in ask_for_it_by_name.cache: 27 | ask_for_it_by_name.cache[name] = _ask_for_it_by_name(name) 28 | return ask_for_it_by_name.cache[name] 29 | ask_for_it_by_name.cache = {} 30 | 31 | 32 | def get_attribute(item, attribute): 33 | """ 34 | Like getattr, but recursive (i.e. you can ask for 'foo.bar.yay'.) 35 | """ 36 | value = item 37 | for part in attribute.split("."): 38 | value = getattr(value, part) 39 | return value 40 | 41 | def auto_through(field): 42 | "Returns if the M2M class passed in has an autogenerated through table or not." 43 | return ( 44 | # Django 1.0/1.1 45 | (not field.rel.through) 46 | or 47 | # Django 1.2+ 48 | getattr(getattr(field.rel.through, "_meta", None), "auto_created", False) 49 | ) 50 | 51 | def auto_model(model): 52 | "Returns if the given model was automatically generated." 53 | return getattr(model._meta, "auto_created", False) 54 | 55 | def memoize(function): 56 | "Standard memoization decorator." 57 | name = function.__name__ 58 | _name = '_' + name 59 | 60 | def method(self): 61 | if not hasattr(self, _name): 62 | value = function(self) 63 | setattr(self, _name, value) 64 | return getattr(self, _name) 65 | 66 | def invalidate(): 67 | if hasattr(method, _name): 68 | delattr(method, _name) 69 | 70 | method.__name__ = function.__name__ 71 | method.__doc__ = function.__doc__ 72 | method._invalidate = invalidate 73 | return method 74 | -------------------------------------------------------------------------------- /vendor-local/lib/python/suds/metrics.py: -------------------------------------------------------------------------------- 1 | # This program is free software; you can redistribute it and/or modify 2 | # it under the terms of the (LGPL) GNU Lesser General Public License as 3 | # published by the Free Software Foundation; either version 3 of the 4 | # License, or (at your option) any later version. 5 | # 6 | # This program is distributed in the hope that it will be useful, 7 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 8 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 9 | # GNU Library Lesser General Public License for more details at 10 | # ( http://www.gnu.org/licenses/lgpl.html ). 11 | # 12 | # You should have received a copy of the GNU Lesser General Public License 13 | # along with this program; if not, write to the Free Software 14 | # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 15 | # written by: Jeff Ortel ( jortel@redhat.com ) 16 | 17 | """ 18 | The I{metrics} module defines classes and other resources 19 | designed for collecting and reporting performance metrics. 20 | """ 21 | 22 | import time 23 | from logging import getLogger 24 | from suds import * 25 | from math import modf 26 | 27 | log = getLogger(__name__) 28 | 29 | class Timer: 30 | 31 | def __init__(self): 32 | self.started = 0 33 | self.stopped = 0 34 | 35 | def start(self): 36 | self.started = time.time() 37 | self.stopped = 0 38 | return self 39 | 40 | def stop(self): 41 | if self.started > 0: 42 | self.stopped = time.time() 43 | return self 44 | 45 | def duration(self): 46 | return ( self.stopped - self.started ) 47 | 48 | def __str__(self): 49 | if self.started == 0: 50 | return 'not-running' 51 | if self.started > 0 and self.stopped == 0: 52 | return 'started: %d (running)' % self.started 53 | duration = self.duration() 54 | jmod = ( lambda m : (m[1], m[0]*1000) ) 55 | if duration < 1: 56 | ms = (duration*1000) 57 | return '%d (ms)' % ms 58 | if duration < 60: 59 | m = modf(duration) 60 | return '%d.%.3d (seconds)' % jmod(m) 61 | m = modf(duration/60) 62 | return '%d.%.3d (minutes)' % jmod(m) 63 | -------------------------------------------------------------------------------- /vendor-local/lib/python/silme/format/inc/serializer.py: -------------------------------------------------------------------------------- 1 | from ...core import EntityList, Entity, Comment 2 | from .structure import IncStructure 3 | from .parser import IncParser as Parser 4 | import re 5 | 6 | class IncSerializer(): 7 | @classmethod 8 | def serialize(cls, l10nobject, fallback=None): 9 | if not fallback: 10 | fallback = l10nobject.fallback 11 | string = u''.join([cls.dump_element(element, fallback) for element in l10nobject]) 12 | return string 13 | 14 | @classmethod 15 | def dump_element(cls, element, fallback=None): 16 | if isinstance(element, Entity): 17 | return cls.dump_entity(element, fallback=fallback) 18 | elif isinstance(element,Comment): 19 | return cls.dump_comment(element) 20 | else: 21 | return element 22 | 23 | @classmethod 24 | def dump_entity (cls, entity, fallback=None): 25 | if entity.params.has_key('source') and entity.params['source']['type']=='properties': 26 | match = Parser.patterns['entity'].match(entity.params['source']['string']) 27 | string = entity.params['source']['string'][0:match.start(1)] 28 | string += entity.id 29 | string += entity.params['source']['string'][match.end(1):match.start(2)] 30 | string += entity.get_value(fallback) 31 | string += entity.params['source']['string'][match.end(2):] 32 | else: 33 | string = u'#define %s %s' % (entity.id, entity.get_value(fallback)) 34 | return string 35 | 36 | @classmethod 37 | def dump_entitylist(cls, elist, fallback=None): 38 | if not fallback: 39 | fallback = elist.fallback 40 | string = u''.join([cls.dump_entity(entity, fallback)+'\n' for entity in elist.get_entities()]) 41 | return string 42 | 43 | @classmethod 44 | def dump_comment (cls, comment): 45 | string = u'' 46 | for element in comment: 47 | string += cls.dump_element(element) 48 | if string: 49 | pattern = re.compile('\n') 50 | string = pattern.sub('\n# ', string) 51 | string = '# ' + string 52 | if string.endswith('# '): 53 | string = string[:-2] 54 | return string 55 | -------------------------------------------------------------------------------- /vendor-local/lib/python/silme/format/properties/serializer.py: -------------------------------------------------------------------------------- 1 | from ...core import EntityList, Entity, Comment 2 | from .structure import PropertiesStructure 3 | from .parser import PropertiesParser as Parser 4 | import re 5 | 6 | class PropertiesSerializer(): 7 | @classmethod 8 | def serialize(cls, l10nobject, fallback=None): 9 | if not fallback: 10 | fallback = l10nobject.fallback 11 | string = u''.join([cls.dump_element(element, fallback) for element in l10nobject]) 12 | return string 13 | 14 | @classmethod 15 | def dump_element(cls, element, fallback=None): 16 | if isinstance(element, Entity): 17 | return cls.dump_entity(element, fallback=fallback) 18 | elif isinstance(element,Comment): 19 | return cls.dump_comment(element) 20 | else: 21 | return element 22 | 23 | @classmethod 24 | def dump_entity (cls, entity, fallback=None): 25 | if entity.params.has_key('source') and entity.params['source']['type']=='properties': 26 | match = Parser.patterns['entity'].match(entity.params['source']['string']) 27 | string = entity.params['source']['string'][0:match.start(1)] 28 | string += entity.id 29 | string += entity.params['source']['string'][match.end(1):match.start(2)] 30 | string += entity.get_value(fallback) 31 | string += entity.params['source']['string'][match.end(2):] 32 | else: 33 | string = entity.id+u' = '+entity.get_value(fallback) 34 | return string 35 | 36 | @classmethod 37 | def dump_entitylist(cls, elist, fallback=None): 38 | if not fallback: 39 | fallback = elist.fallback 40 | string = u''.join([cls.dump_entity(entity, fallback)+'\n' for entity in elist.values()]) 41 | return string 42 | 43 | @classmethod 44 | def dump_comment (cls, comment): 45 | string = u'' 46 | for element in comment: 47 | string += cls.dump_element(element) 48 | if string: 49 | pattern = re.compile('\n') 50 | string = pattern.sub('\n#', string) 51 | string = '#' + string 52 | if string.endswith('#'): 53 | string = string[:-1] 54 | return string 55 | -------------------------------------------------------------------------------- /pontoon/base/templates/base.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | {% block title %}Pontoon{% endblock %} 10 | 11 | 12 | 13 | 14 | {% block site_css %} 15 | {% compress css %} 16 | 17 | 18 | 19 | {% block extend_css %} 20 | {% endblock %} 21 | {% endcompress %} 22 | {% endblock %} 23 | 24 | {% if settings.GOOGLE_ANALYTICS_KEY %} 25 | 26 | 39 | {% endif %} 40 | 41 | 42 | 43 | {% block content %}{% endblock %} 44 | 45 | 46 | {% block site_js %} 47 | 48 | 49 | 50 | 51 | {% compress js %} 52 | 53 | {% endcompress %} 54 | 55 | {% block extend_js %} 56 | {% endblock %} 57 | 58 | {% endblock %} 59 | 60 | 61 | -------------------------------------------------------------------------------- /vendor-local/lib/python/suds/transport/options.py: -------------------------------------------------------------------------------- 1 | # This program is free software; you can redistribute it and/or modify 2 | # it under the terms of the (LGPL) GNU Lesser General Public License as 3 | # published by the Free Software Foundation; either version 3 of the 4 | # License, or (at your option) any later version. 5 | # 6 | # This program is distributed in the hope that it will be useful, 7 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 8 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 9 | # GNU Library Lesser General Public License for more details at 10 | # ( http://www.gnu.org/licenses/lgpl.html ). 11 | # 12 | # You should have received a copy of the GNU Lesser General Public License 13 | # along with this program; if not, write to the Free Software 14 | # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 15 | # written by: Jeff Ortel ( jortel@redhat.com ) 16 | 17 | """ 18 | Contains classes for transport options. 19 | """ 20 | 21 | 22 | from suds.transport import * 23 | from suds.properties import * 24 | 25 | 26 | class Options(Skin): 27 | """ 28 | Options: 29 | - B{proxy} - An http proxy to be specified on requests. 30 | The proxy is defined as {protocol:proxy,} 31 | - type: I{dict} 32 | - default: {} 33 | - B{timeout} - Set the url open timeout (seconds). 34 | - type: I{float} 35 | - default: 90 36 | - B{headers} - Extra HTTP headers. 37 | - type: I{dict} 38 | - I{str} B{http} - The I{http} protocol proxy URL. 39 | - I{str} B{https} - The I{https} protocol proxy URL. 40 | - default: {} 41 | - B{username} - The username used for http authentication. 42 | - type: I{str} 43 | - default: None 44 | - B{password} - The password used for http authentication. 45 | - type: I{str} 46 | - default: None 47 | """ 48 | def __init__(self, **kwargs): 49 | domain = __name__ 50 | definitions = [ 51 | Definition('proxy', dict, {}), 52 | Definition('timeout', (int,float), 90), 53 | Definition('headers', dict, {}), 54 | Definition('username', basestring, None), 55 | Definition('password', basestring, None), 56 | ] 57 | Skin.__init__(self, domain, definitions, kwargs) -------------------------------------------------------------------------------- /vendor-local/lib/python/silme/format/gettext/serializer.py: -------------------------------------------------------------------------------- 1 | from ...core import EntityList, Entity, Comment 2 | from .parser import GettextParser as Parser 3 | 4 | import re 5 | 6 | class GettextSerializer: 7 | @classmethod 8 | def serialize(cls, l10nobject, fallback=None): 9 | if not fallback: 10 | fallback = l10nobject.fallback 11 | string = ''.join([cls.dump_element(element, fallback) for element in l10nobject]) 12 | return string 13 | 14 | @classmethod 15 | def dump_element(cls, element, fallback=None): 16 | if isinstance(element, Entity): 17 | return cls.dump_entity(element, fallback=fallback) 18 | elif isinstance(element,Comment): 19 | return cls.dump_comment(element) 20 | else: 21 | return element 22 | 23 | @classmethod 24 | def dump_entity(cls, entity, fallback=None): 25 | if entity.params.has_key('source') and entity.params['source']['type']=='gettext': 26 | match = Parser.patterns['entity'].match(entity.params['source']['string']) 27 | string = entity.params['source']['string'][0:match.start(1)] 28 | string += entity.id 29 | string += entity.params['source']['string'][match.end(1):match.start(2)] 30 | string += cls.dump_entityvalue(entity.get_value(fallback)) 31 | string += entity.params['source']['string'][match.end(2):] 32 | else: 33 | string = 'msgid "'+entity.id+'"\nmsgstr "'+entity.get_value(fallback)+'"\n' 34 | return string 35 | 36 | @classmethod 37 | def dump_entityvalue(cls, value): 38 | v = '' 39 | if value.find('\n') == -1: 40 | return '"%s"' % value 41 | for line in value.split('\n'): 42 | v += '"%s"\n' % line 43 | return v[:-1] # we don't want to take the last \n added by the loop 44 | 45 | @classmethod 46 | def dump_entitylist(cls, elist, fallback=None): 47 | if not fallback: 48 | fallback = elist.fallback 49 | string = ''.join([cls.dump_entity(entity, fallback)+'\n' for entity in elist.get_entities()]) 50 | return string 51 | 52 | @classmethod 53 | def dump_comment(cls, comment): 54 | string = '' 55 | for element in comment: 56 | string += cls.dump_element(element) 57 | if string: 58 | pattern = re.compile('\n') 59 | string = pattern.sub('\n#', string) 60 | string = '#' + string 61 | return string 62 | -------------------------------------------------------------------------------- /vendor-local/lib/python/gitdb/db/ref.py: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2010, 2011 Sebastian Thiel (byronimo@gmail.com) and contributors 2 | # 3 | # This module is part of GitDB and is released under 4 | # the New BSD License: http://www.opensource.org/licenses/bsd-license.php 5 | from base import ( 6 | CompoundDB, 7 | ) 8 | 9 | import os 10 | __all__ = ('ReferenceDB', ) 11 | 12 | class ReferenceDB(CompoundDB): 13 | """A database consisting of database referred to in a file""" 14 | 15 | # Configuration 16 | # Specifies the object database to use for the paths found in the alternates 17 | # file. If None, it defaults to the GitDB 18 | ObjectDBCls = None 19 | 20 | def __init__(self, ref_file): 21 | super(ReferenceDB, self).__init__() 22 | self._ref_file = ref_file 23 | 24 | def _set_cache_(self, attr): 25 | if attr == '_dbs': 26 | self._dbs = list() 27 | self._update_dbs_from_ref_file() 28 | else: 29 | super(ReferenceDB, self)._set_cache_(attr) 30 | # END handle attrs 31 | 32 | def _update_dbs_from_ref_file(self): 33 | dbcls = self.ObjectDBCls 34 | if dbcls is None: 35 | # late import 36 | from git import GitDB 37 | dbcls = GitDB 38 | # END get db type 39 | 40 | # try to get as many as possible, don't fail if some are unavailable 41 | ref_paths = list() 42 | try: 43 | ref_paths = [l.strip() for l in open(self._ref_file, 'r').readlines()] 44 | except (OSError, IOError): 45 | pass 46 | # END handle alternates 47 | 48 | ref_paths_set = set(ref_paths) 49 | cur_ref_paths_set = set(db.root_path() for db in self._dbs) 50 | 51 | # remove existing 52 | for path in (cur_ref_paths_set - ref_paths_set): 53 | for i, db in enumerate(self._dbs[:]): 54 | if db.root_path() == path: 55 | del(self._dbs[i]) 56 | continue 57 | # END del matching db 58 | # END for each path to remove 59 | 60 | # add new 61 | # sort them to maintain order 62 | added_paths = sorted(ref_paths_set - cur_ref_paths_set, key=lambda p: ref_paths.index(p)) 63 | for path in added_paths: 64 | try: 65 | db = dbcls(path) 66 | # force an update to verify path 67 | if isinstance(db, CompoundDB): 68 | db.databases() 69 | # END verification 70 | self._dbs.append(db) 71 | except Exception, e: 72 | # ignore invalid paths or issues 73 | pass 74 | # END for each path to add 75 | 76 | def update_cache(self, force=False): 77 | # re-read alternates and update databases 78 | self._update_dbs_from_ref_file() 79 | return super(ReferenceDB, self).update_cache(force) 80 | --------------------------------------------------------------------------------