├── 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 |
10 |
{% block subtitle %}We couldn't find the page you're looking for.{% endblock %}
11 |
12 |
13 | Go Home
14 |
15 |
16 |
17 |
23 |
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 | ''+
7 |
8 | ''+
9 | 'Pontoon '+
10 | ' '+
11 |
12 | ' '+
13 | 'Polski ▴ '+
14 | ''+
15 | 'Deutsch '+
16 | 'Français '+
17 | 'Hrvatski '+
18 | 'Polski '+
19 | 'Slovenščina '+
20 | ' '+
21 | ' '+
22 |
23 | '
'+
24 | ' '+
25 |
26 | ' '+
27 | 'Send '+
28 | ' '+
29 |
30 | '
'+
31 | ' '
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 |
12 |
15 |
16 |
17 |
18 |
Don't mess it up. Please.
19 |
20 |
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 |
--------------------------------------------------------------------------------