From 4218454d36a7b4c8dd1666a131fb1b18d0d70876 Mon Sep 17 00:00:00 2001 From: "A. Tapekin" Date: Mon, 31 Aug 2015 15:33:17 +0300 Subject: [PATCH] testing in process --- .gitignore | 2 + lingvodoc.egg-info/PKG-INFO | 69 ++ lingvodoc.egg-info/SOURCES.txt | 105 +++ lingvodoc.egg-info/dependency_links.txt | 1 + lingvodoc.egg-info/entry_points.txt | 5 + lingvodoc.egg-info/not-zip-safe | 1 + lingvodoc.egg-info/pbr.json | 1 + lingvodoc.egg-info/requires.txt | 13 + lingvodoc.egg-info/top_level.txt | 1 + lingvodoc.sqlite | Bin 0 -> 54272 bytes lingvodoc/__pycache__/__init__.cpython-34.pyc | Bin 0 -> 3499 bytes lingvodoc/__pycache__/acl.cpython-34.pyc | Bin 0 -> 1795 bytes lingvodoc/__pycache__/models.cpython-34.pyc | Bin 0 -> 22480 bytes lingvodoc/__pycache__/views.cpython-34.pyc | Bin 0 -> 28022 bytes lingvodoc/models.py | 89 +-- .../__pycache__/__init__.cpython-34.pyc | Bin 0 -> 145 bytes .../__pycache__/initializedb.cpython-34.pyc | Bin 0 -> 4489 bytes lingvodoc/scripts/initializedb.py | 114 +-- lingvodoc/tests.py | 56 -- lingvodoc/views.py | 188 +++-- log.txt | 680 ++++++++++++++++++ requirements.txt | 54 ++ tests/__pycache__/test.cpython-34.pyc | Bin 0 -> 5455 bytes tests/__pycache__/tests.cpython-34.pyc | Bin 0 -> 5437 bytes .../tests_cool_really.cpython-34.pyc | Bin 0 -> 5468 bytes .../tests_dictionary.cpython-34.pyc | Bin 0 -> 4453 bytes .../__pycache__/tests_language.cpython-34.pyc | Bin 0 -> 9631 bytes tests/testing.ini | 85 +++ tests/tests.py | 126 ++++ tests/tests_dictionary.py | 108 +++ tests/tests_language.py | 248 +++++++ tox.ini | 7 + 32 files changed, 1661 insertions(+), 292 deletions(-) create mode 100644 lingvodoc.egg-info/PKG-INFO create mode 100644 lingvodoc.egg-info/SOURCES.txt create mode 100644 lingvodoc.egg-info/dependency_links.txt create mode 100644 lingvodoc.egg-info/entry_points.txt create mode 100644 lingvodoc.egg-info/not-zip-safe create mode 100644 lingvodoc.egg-info/pbr.json create mode 100644 lingvodoc.egg-info/requires.txt create mode 100644 lingvodoc.egg-info/top_level.txt create mode 100644 lingvodoc.sqlite create mode 100644 lingvodoc/__pycache__/__init__.cpython-34.pyc create mode 100644 lingvodoc/__pycache__/acl.cpython-34.pyc create mode 100644 lingvodoc/__pycache__/models.cpython-34.pyc create mode 100644 lingvodoc/__pycache__/views.cpython-34.pyc create mode 100644 lingvodoc/scripts/__pycache__/__init__.cpython-34.pyc create mode 100644 lingvodoc/scripts/__pycache__/initializedb.cpython-34.pyc delete mode 100644 lingvodoc/tests.py create mode 100644 log.txt create mode 100644 requirements.txt create mode 100644 tests/__pycache__/test.cpython-34.pyc create mode 100644 tests/__pycache__/tests.cpython-34.pyc create mode 100644 tests/__pycache__/tests_cool_really.cpython-34.pyc create mode 100644 tests/__pycache__/tests_dictionary.cpython-34.pyc create mode 100644 tests/__pycache__/tests_language.cpython-34.pyc create mode 100644 tests/testing.ini create mode 100644 tests/tests.py create mode 100644 tests/tests_dictionary.py create mode 100644 tests/tests_language.py create mode 100644 tox.ini diff --git a/.gitignore b/.gitignore index c6552b2dd..e581cd451 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,5 @@ .DS_Store .idea/ .virtual_env/ +virtual_env/ +.tox/ diff --git a/lingvodoc.egg-info/PKG-INFO b/lingvodoc.egg-info/PKG-INFO new file mode 100644 index 000000000..18a7ec9a4 --- /dev/null +++ b/lingvodoc.egg-info/PKG-INFO @@ -0,0 +1,69 @@ +Metadata-Version: 1.1 +Name: lingvodoc +Version: 0.0 +Summary: lingvodoc +Home-page: https://lingvodoc.ispras.ru/ +Author: Oleg Borisenko +Author-email: al@somestuff.ru +License: UNKNOWN +Description: LingvoDoc project + ================== + + This project is dedicated to natural languages and dialects documentation. It's the continuation of Dialeqt project + (which was written in C++/QT5/Pure SQL). + LingvoDoc is intended to provide natural language documentation service as Web-service and provides REST API and + ajax-based client application. + + + Dependancies + --------------- + + - pyramid (framework) + + - sqlalchemy (ORM) + + + Running the project for development + --------------- + + - Create virtual python environment for Python (3.3+ recommended; 2.7+ should work too but is not tested) + + - Declare env variable for your virtual environment: export VENV= + + - cd + + - $VENV/bin/python setup.py develop + + - $VENV/bin/initialize_lingvodoc_db development.ini + + - $VENV/bin/pserve development.ini + + API documentation + --------------- + + /client_id + /version + /channel + /sync + /words + /word + /paradigms + /paradigm + /dictionaries + /dictionary (contains words, paradigms, corpus set etc) + /authors + /sound + /markup + + + 0.0 + --- + + - Initial version + +Keywords: web wsgi bfg pylons pyramid sqlalchemy +Platform: UNKNOWN +Classifier: Programming Language :: Python +Classifier: Framework :: Pyramid +Classifier: Topic :: Internet :: WWW/HTTP +Classifier: Topic :: Internet :: WWW/HTTP :: WSGI :: Application diff --git a/lingvodoc.egg-info/SOURCES.txt b/lingvodoc.egg-info/SOURCES.txt new file mode 100644 index 000000000..1c15ba30f --- /dev/null +++ b/lingvodoc.egg-info/SOURCES.txt @@ -0,0 +1,105 @@ +CHANGES.md +MANIFEST.in +README.md +alembic.ini +development.ini +log.txt +production.ini +requirements.txt +setup.py +tox.ini +lingvodoc/__init__.py +lingvodoc/acl.py +lingvodoc/models.py +lingvodoc/views.py +lingvodoc.egg-info/PKG-INFO +lingvodoc.egg-info/SOURCES.txt +lingvodoc.egg-info/dependency_links.txt +lingvodoc.egg-info/entry_points.txt +lingvodoc.egg-info/not-zip-safe +lingvodoc.egg-info/pbr.json +lingvodoc.egg-info/requires.txt +lingvodoc.egg-info/top_level.txt +lingvodoc/scripts/__init__.py +lingvodoc/scripts/corpora_converter.py +lingvodoc/scripts/initializedb.py +lingvodoc/scripts/lingvodoc_converter.py +lingvodoc/static/pyramid-16x16.png +lingvodoc/static/pyramid.png +lingvodoc/static/theme.css +lingvodoc/static/theme.min.css +lingvodoc/static/css/360-button-pause-light.gif +lingvodoc/static/css/360-button-pause-light.png +lingvodoc/static/css/360-button-pause.gif +lingvodoc/static/css/360-button-pause.png +lingvodoc/static/css/360-button-play-light.gif +lingvodoc/static/css/360-button-play-light.png +lingvodoc/static/css/360-button-play.gif +lingvodoc/static/css/360-button-play.png +lingvodoc/static/css/360-button-vis-pause-light.gif +lingvodoc/static/css/360-button-vis-pause-light.png +lingvodoc/static/css/360-button-vis-pause.gif +lingvodoc/static/css/360-button-vis-pause.png +lingvodoc/static/css/360-button-vis-play-light.gif +lingvodoc/static/css/360-button-vis-play-light.png +lingvodoc/static/css/360-button-vis-play.gif +lingvodoc/static/css/360-button-vis-play.png +lingvodoc/static/css/360player-visualization.css +lingvodoc/static/css/360player.css +lingvodoc/static/css/bootstrap-theme.css +lingvodoc/static/css/bootstrap-theme.min.css +lingvodoc/static/css/bootstrap.css +lingvodoc/static/css/bootstrap.min.css +lingvodoc/static/css/bootswatch.min.css +lingvodoc/static/css/flashblock.css +lingvodoc/static/css/icon_loading_dots.gif +lingvodoc/static/css/icon_loading_spinner.gif +lingvodoc/static/css/icon_loading_spinner_bigger.gif +lingvodoc/static/css/lingvodoc.css +lingvodoc/static/img/tweed.png +lingvodoc/static/js/360player.js +lingvodoc/static/js/angular.min.js +lingvodoc/static/js/berniecode-animator.js +lingvodoc/static/js/bootstrap.min.js +lingvodoc/static/js/jquery-1.11.1.js +lingvodoc/static/js/jquery-1.11.1.min.js +lingvodoc/static/js/jquery-2.1.1.min.js +lingvodoc/static/js/jquery.form.min.js +lingvodoc/static/js/lingvodemo.js +lingvodoc/static/js/lingvodocedit.js +lingvodoc/static/js/lingvodocview.js +lingvodoc/static/js/lingvowave.js +lingvodoc/static/js/soundmanager2-nodebug-jsmin.js +lingvodoc/static/js/soundmanager2.js +lingvodoc/static/js/ui-bootstrap-tpls-0.13.0.min.js +lingvodoc/static/js/wavesurfer.js +lingvodoc/static/js/noty/jquery.noty.js +lingvodoc/static/js/noty/promise.js +lingvodoc/static/js/noty/layouts/bottom.js +lingvodoc/static/js/noty/layouts/bottomCenter.js +lingvodoc/static/js/noty/layouts/bottomLeft.js +lingvodoc/static/js/noty/layouts/bottomRight.js +lingvodoc/static/js/noty/layouts/center.js +lingvodoc/static/js/noty/layouts/centerLeft.js +lingvodoc/static/js/noty/layouts/centerRight.js +lingvodoc/static/js/noty/layouts/inline.js +lingvodoc/static/js/noty/layouts/top.js +lingvodoc/static/js/noty/layouts/topCenter.js +lingvodoc/static/js/noty/layouts/topLeft.js +lingvodoc/static/js/noty/layouts/topRight.js +lingvodoc/static/js/noty/packaged/jquery.noty.packaged.js +lingvodoc/static/js/noty/packaged/jquery.noty.packaged.min.js +lingvodoc/static/js/noty/themes/bootstrap.js +lingvodoc/static/js/noty/themes/default.js +lingvodoc/templates/create_dictionary_page.pt +lingvodoc/templates/create_language.pt +lingvodoc/templates/dashboard.pt +lingvodoc/templates/edit_dictionary.pt +lingvodoc/templates/head.pt +lingvodoc/templates/home.pt +lingvodoc/templates/login.pt +lingvodoc/templates/nav.pt +lingvodoc/templates/register.pt +lingvodoc/templates/upload.pt +lingvodoc/templates/view_dictionary.pt +lingvodoc/templates/view_page.pt \ No newline at end of file diff --git a/lingvodoc.egg-info/dependency_links.txt b/lingvodoc.egg-info/dependency_links.txt new file mode 100644 index 000000000..8b1378917 --- /dev/null +++ b/lingvodoc.egg-info/dependency_links.txt @@ -0,0 +1 @@ + diff --git a/lingvodoc.egg-info/entry_points.txt b/lingvodoc.egg-info/entry_points.txt new file mode 100644 index 000000000..316c79047 --- /dev/null +++ b/lingvodoc.egg-info/entry_points.txt @@ -0,0 +1,5 @@ + [paste.app_factory] + main = lingvodoc:main + [console_scripts] + initialize_lingvodoc_db = lingvodoc.scripts.initializedb:main + \ No newline at end of file diff --git a/lingvodoc.egg-info/not-zip-safe b/lingvodoc.egg-info/not-zip-safe new file mode 100644 index 000000000..8b1378917 --- /dev/null +++ b/lingvodoc.egg-info/not-zip-safe @@ -0,0 +1 @@ + diff --git a/lingvodoc.egg-info/pbr.json b/lingvodoc.egg-info/pbr.json new file mode 100644 index 000000000..81c2d727a --- /dev/null +++ b/lingvodoc.egg-info/pbr.json @@ -0,0 +1 @@ +{"is_release": false, "git_version": "768933e"} \ No newline at end of file diff --git a/lingvodoc.egg-info/requires.txt b/lingvodoc.egg-info/requires.txt new file mode 100644 index 000000000..226bb6b10 --- /dev/null +++ b/lingvodoc.egg-info/requires.txt @@ -0,0 +1,13 @@ +pyramid +pyramid_chameleon +pyramid_debugtoolbar +pyramid_tm +sqlalchemy +transaction +zope.sqlalchemy +waitress +alembic +passlib +py-bcrypt +requests +simplejson \ No newline at end of file diff --git a/lingvodoc.egg-info/top_level.txt b/lingvodoc.egg-info/top_level.txt new file mode 100644 index 000000000..5bee9563a --- /dev/null +++ b/lingvodoc.egg-info/top_level.txt @@ -0,0 +1 @@ +lingvodoc diff --git a/lingvodoc.sqlite b/lingvodoc.sqlite new file mode 100644 index 0000000000000000000000000000000000000000..171f33e8f472c7ea5a7cd8eaf3ff736e43ca7a10 GIT binary patch literal 54272 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 literal 0 HcmV?d00001 diff --git a/lingvodoc/__pycache__/__init__.cpython-34.pyc b/lingvodoc/__pycache__/__init__.cpython-34.pyc new file mode 100644 index 0000000000000000000000000000000000000000..2e3a6bcfe7160a7ce0e6edb3e5ca3c0198f02d1b GIT binary patch literal 3499 zcmcgu&2JmW6@Sa`Pmz)>*>2)=TeOgg)+CaCA~1?Nc2O8945N18bkSfj+8L26?FTb6 zD}@wwN)J8t&})0@t$$B%du=bd^bg3XznLY)m7D+p0))%mc^@-x-kW(dzxTghzw?hL z|NXv5)MuTHgTM54oh z=`c-Rq)`|wpgwr~1*0 zvWW`P11r6ALweUr@7<7o$4cM2A${9Q@86KVW2N7eBa969l7V?=wUI%gPD$_ADyr>rUDtx^~inbo`*1d zB;1(EQ&?uoJ=_d9v=-hQxxfF-%UAB>7tg-DI}}CFpN!lvL39a=+yLGpKE#9=AxyaY zAWYmiRT?@a6k<43*62~D-6YkB@0=~vXzV^aE|f-SW}P#se|*DH>l)Tq322!X(PHer zelwJfKZS#NZI;I33uodrR5(qt`EpRSlQR~D9A=hxZU`n9#(sR6*P|52x)^9$uxX~f zHfL&flrqWlcEplt#->8$tqr+6*ie&;4dsXY(i;R)U_O5%^m;tBIl^Qpl()N9UkMj^ zXG<@?zojP^K@=iejMd3SdUPTJOXszO#ljnId-^hs;9GOfwArNPgRSbTj7;nhZ+F|% zSDNWeeXYT!tMIyWe8sMJ=c1v_DW+nYo*ImZs}{Dm&D&N=t;3d-Zf8-LlJSc{FXf_W_@npiE)nn z%d~;6MuCd|B6$EP`r_vkb1LC>#*xR9xlBzCt4S0l)3cPPL5cGHFbTEqkLQbgSeVJA zC@ia62H1Xz4|RvN^-~?1$8a6{tq+`L4X-Ij{w!DjRS6JBv)5H5AUiBQ8xdvQ1 zrYHdrT~7+(JDh~kYrWmH(5YP3NCO3l zF6*QLcOV+HYS0Pl4ATL_`c~Sc#V_g8L#qQ4VvIviKR%#8!H*VQwrPcblU6Ny^vPf8 zwIShWmma-NT5!zyW8%<9E4b7%3ix{2p;d=Y2DGZ#c?>h86(Amy8U_Uprd~6EP0VT` z7bwg3pr|frG(a)1^4wDxsCl;L;{6c!<@q~$ZNQ7XUpMLHp7gS_XCC?{Fr^}!)Q3% zA)LADIviiKvtGbZmDc4zI~ zxaejVO4iKiw)vQ%P@0U-YXBvl*UV*<*KLuJ-$RT(yH>UOb6d9NcQ>l5s&%7jhDi|N zIOhX%?u&qZQ-j!3CU4uhRKSwFAG1^8pQ~x;W2;A9uRo2_BNnYIXZa4gdX1u_wtnaP zU+&CpBYwk?2GAQdu)J?(bWU^UOzwlU7fXg zP*vw`XQ#4*whn3EKKGmsdJTttN1A)*`Djo6(3rQG*x4qk-74>3vkliHusf0Omz7s> z*uC)@amq!c>|PfeTxCI2Y+lFs-zzqD9jw{PVxf&wrC7~%D{a87M=+U1;#cPAs6BiT RhIuLnb=;GcVWsz%{{vzt@;m?l literal 0 HcmV?d00001 diff --git a/lingvodoc/__pycache__/acl.cpython-34.pyc b/lingvodoc/__pycache__/acl.cpython-34.pyc new file mode 100644 index 0000000000000000000000000000000000000000..0bc1cc4b01ff32dde747e0bed4dd031585fc1958 GIT binary patch literal 1795 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 Ezw8pStN;K2 literal 0 HcmV?d00001 diff --git a/lingvodoc/__pycache__/views.cpython-34.pyc b/lingvodoc/__pycache__/views.cpython-34.pyc new file mode 100644 index 0000000000000000000000000000000000000000..a6ab27931789d4e3cab51373e81c5eed1f261cb7 GIT binary patch literal 28022 zcmeHwYmi*Wb>6u%v$Hd^Gy4J-iv>V%0D@dD9}5zsK#2rJk$6xPp#{hV3G$NEaIp6R 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 literal 0 HcmV?d00001 diff --git a/lingvodoc/models.py b/lingvodoc/models.py index d93c5b017..24a9a73ee 100644 --- a/lingvodoc/models.py +++ b/lingvodoc/models.py @@ -42,10 +42,26 @@ from sqlalchemy.inspection import inspect +from sqlalchemy.ext.compiler import compiles + DBSession = scoped_session(sessionmaker(extension=ZopeTransactionExtension())) Base = declarative_base() +class SLBigInteger(BigInteger): + pass + + +@compiles(SLBigInteger, 'sqlite') +def bi_c(element, compiler, **kw): + return "INTEGER" + + +@compiles(SLBigInteger) +def bi_c(element, compiler, **kw): + return compiler.visit_BIGINT(element, **kw) + + def recursive_content(self): vec = [] for entry in dir(self): @@ -81,26 +97,11 @@ def __tablename__(cls): return cls.__name__.lower() -def get_class_by_tablename(tablename): - """Return class reference mapped to table. - - :param tablename: String with name of table. - :return: Class reference or None. - """ - for c in Base._decl_class_registry.values(): - if hasattr(c, '__tablename__') and c.__tablename__ == tablename: - return c -def auto_increase_bigint(tablename): - obj = get_class_by_tablename(tablename) - return DBSession.query(obj).count()+1 - - class IdMixin(object): """ It's used for automatically set id as primary key. """ - id = Column(BigInteger, primary_key=True) - + id = Column(SLBigInteger(), primary_key=True) class CompositeIdMixin(object): @@ -169,17 +170,21 @@ class Language(Base, TableNameMixin): # is there need for relationship? marked_for_deletion = Column(Boolean, default=False) parent = relationship('Language', remote_side=[client_id, object_id], backref=backref('language')) -class Locale(Base, TableNameMixin, IdMixin): + +class Locale(Base, TableNameMixin, IdMixin, RelationshipMixin): """ This entity specifies list of available translations (for words in dictionaries and for UI). Should be added as admin only. """ + __parentname__ = 'Language' __table_args__ = CompositeKeysHelper.set_table_args_for_simple_fk_composite_key(parent_name="Language") parent_object_id = Column(BigInteger) parent_client_id = Column(BigInteger) shortcut = Column(UnicodeText) intl_name = Column(UnicodeText(length=2**31)) + # def __init__(cls,): + # id_autoincrease(cls) class UITranslationString(Base, TableNameMixin, IdMixin): """ @@ -261,6 +266,7 @@ class DictionaryPerspectiveField(Base, TableNameMixin, CompositeIdMixin, Relatio level = Column(UnicodeText) group = Column(UnicodeText(length=2**31)) marked_for_deletion = Column(Boolean, default=False) + state = Column(UnicodeText) DictionaryPerspectiveField.parent_entity = relationship('DictionaryPerspectiveField', remote_side=[DictionaryPerspectiveField.client_id, DictionaryPerspectiveField.object_id], @@ -306,6 +312,7 @@ class EntityMixin(object): marked_for_deletion = Column(Boolean, default=False) created_at = Column(DateTime, default=datetime.datetime.utcnow) + class PublishingEntityMixin(object): """ Look forward to: @@ -420,6 +427,9 @@ class PublishGroupingEntity(Base, TableNameMixin, PublishingEntityMixin, Relatio ) + + + class User(Base, TableNameMixin, IdMixin): login = Column(UnicodeText(length=30), unique=True) name = Column(UnicodeText) @@ -435,15 +445,6 @@ class User(Base, TableNameMixin, IdMixin): def check_password(self, passwd): return bcrypt.verify(passwd, self.password.hash) - - def __init__(cls): - obj = get_class_by_tablename(cls.__tablename__) - if obj: - cls.id = DBSession.query(obj).count()+1 - else: - print('UNACCEPTABLE') - cls.id = 1 - # TODO: last_sync_datetime @@ -453,15 +454,6 @@ class BaseGroup(Base, TableNameMixin, IdMixin): groups = relationship('Group', backref=backref("BaseGroup")) - def __init__(cls): - obj = get_class_by_tablename(cls.__tablename__) - if obj: - cls.id = DBSession.query(obj).count()+1 - else: - print('UNACCEPTABLE') - cls.id = 1 - - class Group(Base, TableNameMixin, IdMixin, RelationshipMixin): __parentname__ = 'BaseGroup' base_group_id = Column(ForeignKey("basegroup.id")) @@ -469,15 +461,6 @@ class Group(Base, TableNameMixin, IdMixin, RelationshipMixin): users = relationship("User", secondary=user_to_group_association, backref=backref("groups")) - def __init__(cls): - obj = get_class_by_tablename(cls.__tablename__) - if obj: - cls.id = DBSession.query(obj).count()+1 - else: - print('UNACCEPTABLE') - cls.id = 1 - - class Organization(Base, TableNameMixin, IdMixin): name = Column(UnicodeText) users = relationship("User", secondary=user_to_organization_association, backref=backref("organizations")) @@ -492,18 +475,11 @@ class About(Base, TableNameMixin, IdMixin): locale_id = Column(ForeignKey("locale.id")) -class Passhash(Base, TableNameMixin): +class Passhash(Base, TableNameMixin, IdMixin): user_id = Column(BigInteger, ForeignKey('user.id')) hash = Column(UnicodeText(length=61)) - id = Column(BigInteger, primary_key=True) def __init__(self, password): - obj = get_class_by_tablename(self.__tablename__) - if obj: - self.id = DBSession.query(obj).count()+1 - else: - print('UNACCEPTABLE') - self.id = 1 self.hash = bcrypt.encrypt(password) @@ -513,13 +489,12 @@ class Email(Base, TableNameMixin, IdMixin): user = relationship("User", backref='email') -# id=DBSession.query(MetaWord).count()+1 class Client(Base, TableNameMixin, IdMixin): user_id = Column(BigInteger, ForeignKey('user.id')) - dictionaries = Column(BigInteger) - languages = Column(BigInteger) - fields = Column(BigInteger) - perspectives = Column(BigInteger) + dictionaries = Column(BigInteger, default=0) + languages = Column(BigInteger, default=0) + fields = Column(BigInteger, default=0) + perspectives = Column(BigInteger, default=0) creation_time = Column(DateTime, default=datetime.datetime.utcnow) is_browser_client = Column(Boolean, default=True) user = relationship("User", backref='clients') diff --git a/lingvodoc/scripts/__pycache__/__init__.cpython-34.pyc b/lingvodoc/scripts/__pycache__/__init__.cpython-34.pyc new file mode 100644 index 0000000000000000000000000000000000000000..068719cb7f66bf9d31d614182dad0632e10d27dc GIT binary patch literal 145 zcmaFI!^^ck^Gqlg0|UcjAcg}*Aj<)Wi&=m~3Ijv1CZpdlIYq;;_lhPbtkw LwF8-348#loKYJzX literal 0 HcmV?d00001 diff --git a/lingvodoc/scripts/__pycache__/initializedb.cpython-34.pyc b/lingvodoc/scripts/__pycache__/initializedb.cpython-34.pyc new file mode 100644 index 0000000000000000000000000000000000000000..b19be0e60076bda7ddd8d76e6525677ce5b0556b GIT binary patch literal 4489 zcmaJ^OOG4J5w00Nmha_qcezhV)MF*lk$3&JBg;lCE6BwW5(q|;F#=+iGbD$e2i-GV zdkOBrkaNyo$Sue@K#=5`KOkLl=t~0Rq)UE)PyVWhL(XiZaL8iUSJl-u)m8oYZ>?VW zdEsB5|NDUGKa~39(EbU2;a@;3d^K{3jAdIRLrZX-3|+N#a&zS6$;gw&eRAX$$Saaj zByWw3wHVElTOzMaMj3p8tRlG;@~UK1$*Yl3Bd<SSPPZMw7e^GB(I- zk+^c_6gW_O=-t1sX?J??6Y0;CXh)Ib4?|f;YdYzja|cst>*Fj6uaF@tbF>E<5`wmW+`4b7o_zjG9J z9>j0kn+oUS&KG!*kIqbYYX7!!*Z#)zCN8vYK+UqxY&V#AwjUikzH_7df(>-2bXE(_{K_F*n8fsoeLidsVxj4VUg z1+$Hx3gH(;6+#3LQ9%}bNhGdOgup38^GO9(r#+5p5@kg1cYx64Lg!c`${bWg7%fD2 zu7lSuaa;K41gi6%noaeq()%OC1@GVkrQ+cz+ ztm=ya!4#LwHV?w#h}vY;IJ>MmSr`G{umib^QX)bKAc7kZwUnrwh&Gi7wFePf%w1Fx z5zM03juP!EQ8jU?bjb^j2Ao^GC79T`1zdT#cJ(rhq4vnyC+mQ$Lky^2)F_IRC%GXakjcw2!R33x|=cNN%5z^(#cQy``#9{ooO zyr;me1bkhA#|qp|z!L?&p}=+mzNx^s6u6UsZ!7Q}1@0!`y9#_yfqTge)Rw_R-0NvZ zrKHMFNY>L5WCiDNJXafO21&7!Y^Is5G=o`PskPJ0PMSfotkm|F%pxat$$FpWH5y~C zKOpPJ>b>?Uit&0DKS=OK7C%hz^(=lR!JAq9YJzWMajY!yxUDSSN$|}qem%jrviOYz z-_GJU6TF?pZzcFn7C%bx-7J1P!S}NGog^Rjmtn@NAEX&n(rPxYq#2acN^&jDpr%%m z>uCmswUXRSGpMeWAPL&Jtz7m+GhAMUFK??XkANDq)jxr@6=G*G{b5#vFAh5g}|zgAo9M~?+|7!vCs zaxIwfejdt_+3yEaKMH5n@GIAJ`y<;sKbHAZ$G2nw=LyF*HciXJ{uV~Ui~_-j49B0{ z`h>xbu=|0qI(`s!2C!q@>nwLd?3S`L!QtX-Xc+CRkp!2zW64rD3PjYOMp743S;iLa z_ISUZHsI^CKRkc>{M+Z>KKuK#zdrk$)NS8b`>8*4opAIb$M2$Bwz2leoNUj7X@*Lb$~!mAsrkB1yTixE;^Ixsq6Gr zOl6hLDWChjqLoyjqi6DDskd6UUoOx|Yl4wHA8yvO8yCLe$p2k@fDQ~Hu+ z!q~keT$Za^;8eG4!LNE;E^uS}lC3y$#^EJ6Q+39EBK_Y=HCh>&szT#xg1x*FSEIeG z;*5=?_p-K(tprLJ)Cx_Pkg=ZVE($_cmTT#`x@*N`4`G*i&vg9jXodd-A+4p=wF<6H z6|~m1b-k%IwMy;?*QkoNiKh%Xp4@?^9-XyQzudO=$_Kiyek%E0?Um2}@2TgsS3Na& zS=Yp4yjiy`n)nl2Odf*B%4+LXC2ce&=fdloW4sxdBhE_ + from debtcollector.tests import base as test_base +virtualenv/lib/python3.4/site-packages/debtcollector/tests/base.py:18: in + from oslotest import base +E ImportError: No module named 'oslotest' + ERROR collecting virtualenv/lib/python3.4/site-packages/keystoneclient/tests/functional/test_access.py +virtualenv/lib/python3.4/site-packages/keystoneclient/tests/functional/test_access.py:17: in + from tempest_lib import base +E ImportError: No module named 'tempest_lib' + ERROR collecting virtualenv/lib/python3.4/site-packages/keystoneclient/tests/functional/test_cli.py +virtualenv/lib/python3.4/site-packages/keystoneclient/tests/functional/test_cli.py:20: in + from tempest_lib.cli import base +E ImportError: No module named 'tempest_lib' + ERROR collecting virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/test_auth_token_middleware.py +virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/test_auth_token_middleware.py:25: in + import fixtures +E ImportError: No module named 'fixtures' + ERROR collecting virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/test_base.py +virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/test_base.py:14: in + from keystoneclient.tests.unit import utils +virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/utils.py:18: in + import fixtures +E ImportError: No module named 'fixtures' + ERROR collecting virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/test_cms.py +virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/test_cms.py:17: in + import mock +E ImportError: No module named 'mock' + ERROR collecting virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/test_discovery.py +virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/test_discovery.py:18: in + from testtools import matchers +E ImportError: No module named 'testtools' + ERROR collecting virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/test_ec2utils.py +virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/test_ec2utils.py:17: in + import testtools +E ImportError: No module named 'testtools' + ERROR collecting virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/test_fixtures.py +virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/test_fixtures.py:18: in + from keystoneclient.tests.unit import utils +virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/utils.py:18: in + import fixtures +E ImportError: No module named 'fixtures' + ERROR collecting virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/test_hacking_checks.py +virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/test_hacking_checks.py:15: in + import mock +E ImportError: No module named 'mock' + ERROR collecting virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/test_http.py +virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/test_http.py:18: in + from testtools import matchers +E ImportError: No module named 'testtools' + ERROR collecting virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/test_https.py +virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/test_https.py:13: in + import mock +E ImportError: No module named 'mock' + ERROR collecting virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/test_keyring.py +virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/test_keyring.py:15: in + import mock +E ImportError: No module named 'mock' + ERROR collecting virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/test_memcache_crypt.py +virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/test_memcache_crypt.py:14: in + import testtools +E ImportError: No module named 'testtools' + ERROR collecting virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/test_s3_token_middleware.py +virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/test_s3_token_middleware.py:15: in + import mock +E ImportError: No module named 'mock' + ERROR collecting virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/test_session.py +virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/test_session.py:18: in + import mock +E ImportError: No module named 'mock' + ERROR collecting virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/test_shell.py +virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/test_shell.py:20: in + import fixtures +E ImportError: No module named 'fixtures' + ERROR collecting virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/test_utils.py +virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/test_utils.py:17: in + import testresources +E ImportError: No module named 'testresources' + ERROR collecting virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/apiclient/test_exceptions.py +virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/apiclient/test_exceptions.py:19: in + from keystoneclient.tests.unit import utils +virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/utils.py:18: in + import fixtures +E ImportError: No module named 'fixtures' + ERROR collecting virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/auth/test_access.py +virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/auth/test_access.py:20: in + from keystoneclient.tests.unit import utils +virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/utils.py:18: in + import fixtures +E ImportError: No module named 'fixtures' + ERROR collecting virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/auth/test_auth.py +virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/auth/test_auth.py:15: in + from keystoneclient.tests.unit.auth import utils +virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/auth/utils.py:16: in + import mock +E ImportError: No module named 'mock' + ERROR collecting virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/auth/test_cli.py +virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/auth/test_cli.py:16: in + import fixtures +E ImportError: No module named 'fixtures' + ERROR collecting virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/auth/test_conf.py +virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/auth/test_conf.py:15: in + import mock +E ImportError: No module named 'mock' + ERROR collecting virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/auth/test_default_cli.py +virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/auth/test_default_cli.py:16: in + import mock +E ImportError: No module named 'mock' + ERROR collecting virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/auth/test_identity_common.py +virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/auth/test_identity_common.py:25: in + from keystoneclient.tests.unit import utils +virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/utils.py:18: in + import fixtures +E ImportError: No module named 'fixtures' + ERROR collecting virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/auth/test_identity_v2.py +virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/auth/test_identity_v2.py:17: in + import mock +E ImportError: No module named 'mock' + ERROR collecting virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/auth/test_identity_v3.py +virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/auth/test_identity_v3.py:17: in + import mock +E ImportError: No module named 'mock' + ERROR collecting virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/auth/test_identity_v3_federated.py +virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/auth/test_identity_v3_federated.py:20: in + from keystoneclient.tests.unit import utils +virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/utils.py:18: in + import fixtures +E ImportError: No module named 'fixtures' + ERROR collecting virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/auth/test_loading.py +virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/auth/test_loading.py:17: in + from keystoneclient.tests.unit.auth import utils +virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/auth/utils.py:16: in + import mock +E ImportError: No module named 'mock' + ERROR collecting virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/auth/test_password.py +virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/auth/test_password.py:16: in + import mock +E ImportError: No module named 'mock' + ERROR collecting virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/auth/test_token.py +virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/auth/test_token.py:19: in + from keystoneclient.tests.unit.auth import utils +virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/auth/utils.py:16: in + import mock +E ImportError: No module named 'mock' + ERROR collecting virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/auth/test_token_endpoint.py +virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/auth/test_token_endpoint.py:13: in + from testtools import matchers +E ImportError: No module named 'testtools' + ERROR collecting virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/generic/test_client.py +virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/generic/test_client.py:19: in + from keystoneclient.tests.unit import utils +virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/utils.py:18: in + import fixtures +E ImportError: No module named 'fixtures' + ERROR collecting virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/generic/test_shell.py +virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/generic/test_shell.py:16: in + import mock +E ImportError: No module named 'mock' + ERROR collecting virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/v2_0/test_access.py +virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/v2_0/test_access.py:17: in + import testresources +E ImportError: No module named 'testresources' + ERROR collecting virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/v2_0/test_auth.py +virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/v2_0/test_auth.py:20: in + from keystoneclient.tests.unit.v2_0 import utils +virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/v2_0/utils.py:13: in + from keystoneclient.tests.unit import utils +virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/utils.py:18: in + import fixtures +E ImportError: No module named 'fixtures' + ERROR collecting virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/v2_0/test_certificates.py +virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/v2_0/test_certificates.py:14: in + import testresources +E ImportError: No module named 'testresources' + ERROR collecting virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/v2_0/test_client.py +virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/v2_0/test_client.py:23: in + from keystoneclient.tests.unit.v2_0 import utils +virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/v2_0/utils.py:13: in + from keystoneclient.tests.unit import utils +virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/utils.py:18: in + import fixtures +E ImportError: No module named 'fixtures' + ERROR collecting virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/v2_0/test_discovery.py +virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/v2_0/test_discovery.py:15: in + from keystoneclient.tests.unit.v2_0 import utils +virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/v2_0/utils.py:13: in + from keystoneclient.tests.unit import utils +virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/utils.py:18: in + import fixtures +E ImportError: No module named 'fixtures' + ERROR collecting virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/v2_0/test_ec2.py +virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/v2_0/test_ec2.py:13: in + from keystoneclient.tests.unit.v2_0 import utils +virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/v2_0/utils.py:13: in + from keystoneclient.tests.unit import utils +virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/utils.py:18: in + import fixtures +E ImportError: No module named 'fixtures' + ERROR collecting virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/v2_0/test_endpoints.py +virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/v2_0/test_endpoints.py:15: in + from keystoneclient.tests.unit.v2_0 import utils +virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/v2_0/utils.py:13: in + from keystoneclient.tests.unit import utils +virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/utils.py:18: in + import fixtures +E ImportError: No module named 'fixtures' + ERROR collecting virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/v2_0/test_extensions.py +virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/v2_0/test_extensions.py:13: in + from keystoneclient.tests.unit.v2_0 import utils +virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/v2_0/utils.py:13: in + from keystoneclient.tests.unit import utils +virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/utils.py:18: in + import fixtures +E ImportError: No module named 'fixtures' + ERROR collecting virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/v2_0/test_roles.py +virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/v2_0/test_roles.py:15: in + from keystoneclient.tests.unit.v2_0 import utils +virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/v2_0/utils.py:13: in + from keystoneclient.tests.unit import utils +virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/utils.py:18: in + import fixtures +E ImportError: No module named 'fixtures' + ERROR collecting virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/v2_0/test_service_catalog.py +virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/v2_0/test_service_catalog.py:17: in + from keystoneclient.tests.unit.v2_0 import utils +virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/v2_0/utils.py:13: in + from keystoneclient.tests.unit import utils +virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/utils.py:18: in + import fixtures +E ImportError: No module named 'fixtures' + ERROR collecting virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/v2_0/test_services.py +virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/v2_0/test_services.py:15: in + from keystoneclient.tests.unit.v2_0 import utils +virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/v2_0/utils.py:13: in + from keystoneclient.tests.unit import utils +virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/utils.py:18: in + import fixtures +E ImportError: No module named 'fixtures' + ERROR collecting virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/v2_0/test_shell.py +virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/v2_0/test_shell.py:16: in + import mock +E ImportError: No module named 'mock' + ERROR collecting virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/v2_0/test_tenants.py +virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/v2_0/test_tenants.py:17: in + from keystoneclient.tests.unit.v2_0 import utils +virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/v2_0/utils.py:13: in + from keystoneclient.tests.unit import utils +virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/utils.py:18: in + import fixtures +E ImportError: No module named 'fixtures' + ERROR collecting virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/v2_0/test_tokens.py +virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/v2_0/test_tokens.py:18: in + from keystoneclient.tests.unit.v2_0 import utils +virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/v2_0/utils.py:13: in + from keystoneclient.tests.unit import utils +virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/utils.py:18: in + import fixtures +E ImportError: No module named 'fixtures' + ERROR collecting virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/v2_0/test_users.py +virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/v2_0/test_users.py:15: in + from keystoneclient.tests.unit.v2_0 import utils +virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/v2_0/utils.py:13: in + from keystoneclient.tests.unit import utils +virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/utils.py:18: in + import fixtures +E ImportError: No module named 'fixtures' + ERROR collecting virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/v3/test_access.py +virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/v3/test_access.py:21: in + from keystoneclient.tests.unit.v3 import utils +virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/v3/utils.py:18: in + from keystoneclient.tests.unit import utils +virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/utils.py:18: in + import fixtures +E ImportError: No module named 'fixtures' + ERROR collecting virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/v3/test_auth.py +virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/v3/test_auth.py:16: in + from keystoneclient.tests.unit.v3 import utils +virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/v3/utils.py:18: in + from keystoneclient.tests.unit import utils +virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/utils.py:18: in + import fixtures +E ImportError: No module named 'fixtures' + ERROR collecting virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/v3/test_auth_saml2.py +virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/v3/test_auth_saml2.py:16: in + from lxml import etree +E ImportError: No module named 'lxml' + ERROR collecting virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/v3/test_client.py +virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/v3/test_client.py:23: in + from keystoneclient.tests.unit.v3 import utils +virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/v3/utils.py:18: in + from keystoneclient.tests.unit import utils +virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/utils.py:18: in + import fixtures +E ImportError: No module named 'fixtures' + ERROR collecting virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/v3/test_credentials.py +virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/v3/test_credentials.py:15: in + from keystoneclient.tests.unit.v3 import utils +virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/v3/utils.py:18: in + from keystoneclient.tests.unit import utils +virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/utils.py:18: in + import fixtures +E ImportError: No module named 'fixtures' + ERROR collecting virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/v3/test_discover.py +virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/v3/test_discover.py:14: in + from keystoneclient.tests.unit.v3 import utils +virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/v3/utils.py:18: in + from keystoneclient.tests.unit import utils +virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/utils.py:18: in + import fixtures +E ImportError: No module named 'fixtures' + ERROR collecting virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/v3/test_domains.py +virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/v3/test_domains.py:15: in + from keystoneclient.tests.unit.v3 import utils +virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/v3/utils.py:18: in + from keystoneclient.tests.unit import utils +virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/utils.py:18: in + import fixtures +E ImportError: No module named 'fixtures' + ERROR collecting virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/v3/test_ec2.py +virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/v3/test_ec2.py:13: in + from keystoneclient.tests.unit.v3 import utils +virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/v3/utils.py:18: in + from keystoneclient.tests.unit import utils +virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/utils.py:18: in + import fixtures +E ImportError: No module named 'fixtures' + ERROR collecting virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/v3/test_endpoint_filter.py +virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/v3/test_endpoint_filter.py:17: in + from keystoneclient.tests.unit.v3 import utils +virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/v3/utils.py:18: in + from keystoneclient.tests.unit import utils +virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/utils.py:18: in + import fixtures +E ImportError: No module named 'fixtures' + ERROR collecting virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/v3/test_endpoint_policy.py +virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/v3/test_endpoint_policy.py:17: in + from keystoneclient.tests.unit.v3 import test_endpoint_filter +.tox/py34/lib/python3.4/site-packages/_pytest/assertion/rewrite.py:165: in load_module + py.builtin.exec_(co, mod.__dict__) +virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/v3/test_endpoint_filter.py:17: in + from keystoneclient.tests.unit.v3 import utils +virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/v3/utils.py:18: in + from keystoneclient.tests.unit import utils +virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/utils.py:18: in + import fixtures +E ImportError: No module named 'fixtures' + ERROR collecting virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/v3/test_endpoints.py +virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/v3/test_endpoints.py:16: in + from keystoneclient.tests.unit.v3 import utils +virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/v3/utils.py:18: in + from keystoneclient.tests.unit import utils +virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/utils.py:18: in + import fixtures +E ImportError: No module named 'fixtures' + ERROR collecting virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/v3/test_federation.py +virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/v3/test_federation.py:19: in + from keystoneclient.tests.unit.v3 import utils +virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/v3/utils.py:18: in + from keystoneclient.tests.unit import utils +virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/utils.py:18: in + import fixtures +E ImportError: No module named 'fixtures' + ERROR collecting virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/v3/test_groups.py +virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/v3/test_groups.py:17: in + from keystoneclient.tests.unit.v3 import utils +virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/v3/utils.py:18: in + from keystoneclient.tests.unit import utils +virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/utils.py:18: in + import fixtures +E ImportError: No module named 'fixtures' + ERROR collecting virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/v3/test_oauth1.py +virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/v3/test_oauth1.py:16: in + import mock +E ImportError: No module named 'mock' + ERROR collecting virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/v3/test_policies.py +virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/v3/test_policies.py:15: in + from keystoneclient.tests.unit.v3 import utils +virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/v3/utils.py:18: in + from keystoneclient.tests.unit import utils +virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/utils.py:18: in + import fixtures +E ImportError: No module named 'fixtures' + ERROR collecting virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/v3/test_projects.py +virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/v3/test_projects.py:16: in + from keystoneclient.tests.unit.v3 import utils +virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/v3/utils.py:18: in + from keystoneclient.tests.unit import utils +virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/utils.py:18: in + import fixtures +E ImportError: No module named 'fixtures' + ERROR collecting virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/v3/test_regions.py +virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/v3/test_regions.py:17: in + from keystoneclient.tests.unit.v3 import utils +virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/v3/utils.py:18: in + from keystoneclient.tests.unit import utils +virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/utils.py:18: in + import fixtures +E ImportError: No module named 'fixtures' + ERROR collecting virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/v3/test_role_assignments.py +virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/v3/test_role_assignments.py:14: in + from keystoneclient.tests.unit.v3 import utils +virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/v3/utils.py:18: in + from keystoneclient.tests.unit import utils +virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/utils.py:18: in + import fixtures +E ImportError: No module named 'fixtures' + ERROR collecting virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/v3/test_roles.py +virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/v3/test_roles.py:18: in + from keystoneclient.tests.unit.v3 import utils +virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/v3/utils.py:18: in + from keystoneclient.tests.unit import utils +virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/utils.py:18: in + import fixtures +E ImportError: No module named 'fixtures' + ERROR collecting virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/v3/test_service_catalog.py +virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/v3/test_service_catalog.py:17: in + from keystoneclient.tests.unit.v3 import utils +virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/v3/utils.py:18: in + from keystoneclient.tests.unit import utils +virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/utils.py:18: in + import fixtures +E ImportError: No module named 'fixtures' + ERROR collecting virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/v3/test_services.py +virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/v3/test_services.py:15: in + from keystoneclient.tests.unit.v3 import utils +virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/v3/utils.py:18: in + from keystoneclient.tests.unit import utils +virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/utils.py:18: in + import fixtures +E ImportError: No module named 'fixtures' + ERROR collecting virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/v3/test_simple_cert.py +virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/v3/test_simple_cert.py:14: in + import testresources +E ImportError: No module named 'testresources' + ERROR collecting virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/v3/test_tokens.py +virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/v3/test_tokens.py:15: in + import testresources +E ImportError: No module named 'testresources' + ERROR collecting virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/v3/test_trusts.py +virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/v3/test_trusts.py:19: in + from keystoneclient.tests.unit.v3 import utils +virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/v3/utils.py:18: in + from keystoneclient.tests.unit import utils +virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/utils.py:18: in + import fixtures +E ImportError: No module named 'fixtures' + ERROR collecting virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/v3/test_users.py +virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/v3/test_users.py:18: in + from keystoneclient.tests.unit.v3 import utils +virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/v3/utils.py:18: in + from keystoneclient.tests.unit import utils +virtualenv/lib/python3.4/site-packages/keystoneclient/tests/unit/utils.py:18: in + import fixtures +E ImportError: No module named 'fixtures' + ERROR collecting virtualenv/lib/python3.4/site-packages/oslo_config/tests/test_cfg.py +virtualenv/lib/python3.4/site-packages/oslo_config/tests/test_cfg.py:23: in + import fixtures +E ImportError: No module named 'fixtures' + ERROR collecting virtualenv/lib/python3.4/site-packages/oslo_config/tests/test_cfgfilter.py +virtualenv/lib/python3.4/site-packages/oslo_config/tests/test_cfgfilter.py:15: in + from oslotest import base as test_base +E ImportError: No module named 'oslotest' + ERROR collecting virtualenv/lib/python3.4/site-packages/oslo_config/tests/test_fixture.py +virtualenv/lib/python3.4/site-packages/oslo_config/tests/test_fixture.py:18: in + from oslotest import base +E ImportError: No module named 'oslotest' + ERROR collecting virtualenv/lib/python3.4/site-packages/oslo_config/tests/test_generator.py +virtualenv/lib/python3.4/site-packages/oslo_config/tests/test_generator.py:17: in + import fixtures +E ImportError: No module named 'fixtures' + ERROR collecting virtualenv/lib/python3.4/site-packages/oslo_i18n/tests/test_factory.py +virtualenv/lib/python3.4/site-packages/oslo_i18n/tests/test_factory.py:17: in + import mock +E ImportError: No module named 'mock' + ERROR collecting virtualenv/lib/python3.4/site-packages/oslo_i18n/tests/test_fixture.py +virtualenv/lib/python3.4/site-packages/oslo_i18n/tests/test_fixture.py:15: in + from oslotest import base as test_base +E ImportError: No module named 'oslotest' + ERROR collecting virtualenv/lib/python3.4/site-packages/oslo_i18n/tests/test_gettextutils.py +virtualenv/lib/python3.4/site-packages/oslo_i18n/tests/test_gettextutils.py:21: in + import mock +E ImportError: No module named 'mock' + ERROR collecting virtualenv/lib/python3.4/site-packages/oslo_i18n/tests/test_handler.py +virtualenv/lib/python3.4/site-packages/oslo_i18n/tests/test_handler.py:19: in + import mock +E ImportError: No module named 'mock' + ERROR collecting virtualenv/lib/python3.4/site-packages/oslo_i18n/tests/test_lazy.py +virtualenv/lib/python3.4/site-packages/oslo_i18n/tests/test_lazy.py:17: in + from oslotest import base as test_base +E ImportError: No module named 'oslotest' + ERROR collecting virtualenv/lib/python3.4/site-packages/oslo_i18n/tests/test_locale_dir_variable.py +virtualenv/lib/python3.4/site-packages/oslo_i18n/tests/test_locale_dir_variable.py:15: in + from oslotest import base as test_base +E ImportError: No module named 'oslotest' + ERROR collecting virtualenv/lib/python3.4/site-packages/oslo_i18n/tests/test_logging.py +virtualenv/lib/python3.4/site-packages/oslo_i18n/tests/test_logging.py:17: in + import mock +E ImportError: No module named 'mock' + ERROR collecting virtualenv/lib/python3.4/site-packages/oslo_i18n/tests/test_message.py +virtualenv/lib/python3.4/site-packages/oslo_i18n/tests/test_message.py:21: in + import mock +E ImportError: No module named 'mock' + ERROR collecting virtualenv/lib/python3.4/site-packages/oslo_i18n/tests/test_public_api.py +virtualenv/lib/python3.4/site-packages/oslo_i18n/tests/test_public_api.py:17: in + import mock +E ImportError: No module named 'mock' + ERROR collecting virtualenv/lib/python3.4/site-packages/oslo_i18n/tests/test_translate.py +virtualenv/lib/python3.4/site-packages/oslo_i18n/tests/test_translate.py:19: in + import mock +E ImportError: No module named 'mock' + ERROR collecting virtualenv/lib/python3.4/site-packages/oslo_serialization/tests/test_jsonutils.py +virtualenv/lib/python3.4/site-packages/oslo_serialization/tests/test_jsonutils.py:20: in + import mock +E ImportError: No module named 'mock' + ERROR collecting virtualenv/lib/python3.4/site-packages/oslo_utils/tests/test_eventletutils.py +virtualenv/lib/python3.4/site-packages/oslo_utils/tests/test_eventletutils.py:17: in + import mock +E ImportError: No module named 'mock' + ERROR collecting virtualenv/lib/python3.4/site-packages/oslo_utils/tests/test_excutils.py +virtualenv/lib/python3.4/site-packages/oslo_utils/tests/test_excutils.py:18: in + import mock +E ImportError: No module named 'mock' + ERROR collecting virtualenv/lib/python3.4/site-packages/oslo_utils/tests/test_fileutils.py +virtualenv/lib/python3.4/site-packages/oslo_utils/tests/test_fileutils.py:22: in + from oslotest import base as test_base +E ImportError: No module named 'oslotest' + ERROR collecting virtualenv/lib/python3.4/site-packages/oslo_utils/tests/test_fixture.py +virtualenv/lib/python3.4/site-packages/oslo_utils/tests/test_fixture.py:19: in + from oslotest import base as test_base +E ImportError: No module named 'oslotest' + ERROR collecting virtualenv/lib/python3.4/site-packages/oslo_utils/tests/test_importutils.py +virtualenv/lib/python3.4/site-packages/oslo_utils/tests/test_importutils.py:19: in + from oslotest import base as test_base +E ImportError: No module named 'oslotest' + ERROR collecting virtualenv/lib/python3.4/site-packages/oslo_utils/tests/test_netutils.py +virtualenv/lib/python3.4/site-packages/oslo_utils/tests/test_netutils.py:19: in + import mock +E ImportError: No module named 'mock' + ERROR collecting virtualenv/lib/python3.4/site-packages/oslo_utils/tests/test_reflection.py +virtualenv/lib/python3.4/site-packages/oslo_utils/tests/test_reflection.py:17: in + from oslotest import base as test_base +E ImportError: No module named 'oslotest' + ERROR collecting virtualenv/lib/python3.4/site-packages/oslo_utils/tests/test_strutils.py +virtualenv/lib/python3.4/site-packages/oslo_utils/tests/test_strutils.py:20: in + import mock +E ImportError: No module named 'mock' + ERROR collecting virtualenv/lib/python3.4/site-packages/oslo_utils/tests/test_timeutils.py +virtualenv/lib/python3.4/site-packages/oslo_utils/tests/test_timeutils.py:21: in + import mock +E ImportError: No module named 'mock' + ERROR collecting virtualenv/lib/python3.4/site-packages/oslo_utils/tests/test_uuidutils.py +virtualenv/lib/python3.4/site-packages/oslo_utils/tests/test_uuidutils.py:18: in + from oslotest import base as test_base +E ImportError: No module named 'oslotest' + ERROR collecting virtualenv/lib/python3.4/site-packages/oslo_utils/tests/test_versionutils.py +virtualenv/lib/python3.4/site-packages/oslo_utils/tests/test_versionutils.py:16: in + from oslotest import base as test_base +E ImportError: No module named 'oslotest' + ERROR collecting virtualenv/lib/python3.4/site-packages/pbr/tests/test_commands.py +virtualenv/lib/python3.4/site-packages/pbr/tests/test_commands.py:41: in + from testtools import content +E ImportError: No module named 'testtools' + ERROR collecting virtualenv/lib/python3.4/site-packages/pbr/tests/test_core.py +virtualenv/lib/python3.4/site-packages/pbr/tests/test_core.py:45: in + import fixtures +E ImportError: No module named 'fixtures' + ERROR collecting virtualenv/lib/python3.4/site-packages/pbr/tests/test_files.py +virtualenv/lib/python3.4/site-packages/pbr/tests/test_files.py:20: in + import fixtures +E ImportError: No module named 'fixtures' + ERROR collecting virtualenv/lib/python3.4/site-packages/pbr/tests/test_hooks.py +virtualenv/lib/python3.4/site-packages/pbr/tests/test_hooks.py:44: in + from testtools.content import text_content +E ImportError: No module named 'testtools' + ERROR collecting virtualenv/lib/python3.4/site-packages/pbr/tests/test_integration.py +virtualenv/lib/python3.4/site-packages/pbr/tests/test_integration.py:17: in + import fixtures +E ImportError: No module named 'fixtures' + ERROR collecting virtualenv/lib/python3.4/site-packages/pbr/tests/test_packaging.py +virtualenv/lib/python3.4/site-packages/pbr/tests/test_packaging.py:47: in + import fixtures +E ImportError: No module named 'fixtures' + ERROR collecting virtualenv/lib/python3.4/site-packages/pbr/tests/test_setup.py +virtualenv/lib/python3.4/site-packages/pbr/tests/test_setup.py:30: in + import fixtures +E ImportError: No module named 'fixtures' + ERROR collecting virtualenv/lib/python3.4/site-packages/pbr/tests/test_util.py +virtualenv/lib/python3.4/site-packages/pbr/tests/test_util.py:20: in + import testscenarios +E ImportError: No module named 'testscenarios' + ERROR collecting virtualenv/lib/python3.4/site-packages/pbr/tests/test_version.py +virtualenv/lib/python3.4/site-packages/pbr/tests/test_version.py:18: in + from testtools import matchers +E ImportError: No module named 'testtools' + ERROR collecting virtualenv/lib/python3.4/site-packages/pbr/tests/test_wsgi.py +virtualenv/lib/python3.4/site-packages/pbr/tests/test_wsgi.py:28: in + import fixtures +E ImportError: No module named 'fixtures' + ERROR collecting virtualenv/lib/python3.4/site-packages/stevedore/tests/test_callback.py +virtualenv/lib/python3.4/site-packages/stevedore/tests/test_callback.py:3: in + from testtools.matchers import GreaterThan +E ImportError: No module named 'testtools' + ERROR collecting virtualenv/lib/python3.4/site-packages/stevedore/tests/test_dispatch.py +virtualenv/lib/python3.4/site-packages/stevedore/tests/test_dispatch.py:1: in + from stevedore.tests import utils +virtualenv/lib/python3.4/site-packages/stevedore/tests/utils.py:1: in + from oslotest import base as test_base +E ImportError: No module named 'oslotest' + ERROR collecting virtualenv/lib/python3.4/site-packages/stevedore/tests/test_driver.py +virtualenv/lib/python3.4/site-packages/stevedore/tests/test_driver.py:8: in + from stevedore.tests import test_extension +.tox/py34/lib/python3.4/site-packages/_pytest/assertion/rewrite.py:165: in load_module + py.builtin.exec_(co, mod.__dict__) +virtualenv/lib/python3.4/site-packages/stevedore/tests/test_extension.py:4: in + import mock +E ImportError: No module named 'mock' + ERROR collecting virtualenv/lib/python3.4/site-packages/stevedore/tests/test_enabled.py +virtualenv/lib/python3.4/site-packages/stevedore/tests/test_enabled.py:2: in + from stevedore.tests import utils +virtualenv/lib/python3.4/site-packages/stevedore/tests/utils.py:1: in + from oslotest import base as test_base +E ImportError: No module named 'oslotest' + ERROR collecting virtualenv/lib/python3.4/site-packages/stevedore/tests/test_example_fields.py +virtualenv/lib/python3.4/site-packages/stevedore/tests/test_example_fields.py:5: in + from stevedore.tests import utils +virtualenv/lib/python3.4/site-packages/stevedore/tests/utils.py:1: in + from oslotest import base as test_base +E ImportError: No module named 'oslotest' + ERROR collecting virtualenv/lib/python3.4/site-packages/stevedore/tests/test_example_simple.py +virtualenv/lib/python3.4/site-packages/stevedore/tests/test_example_simple.py:5: in + from stevedore.tests import utils +virtualenv/lib/python3.4/site-packages/stevedore/tests/utils.py:1: in + from oslotest import base as test_base +E ImportError: No module named 'oslotest' + ERROR collecting virtualenv/lib/python3.4/site-packages/stevedore/tests/test_extension.py +virtualenv/lib/python3.4/site-packages/stevedore/tests/test_extension.py:4: in + import mock +E ImportError: No module named 'mock' + ERROR collecting virtualenv/lib/python3.4/site-packages/stevedore/tests/test_hook.py +virtualenv/lib/python3.4/site-packages/stevedore/tests/test_hook.py:2: in + from stevedore.tests import utils +virtualenv/lib/python3.4/site-packages/stevedore/tests/utils.py:1: in + from oslotest import base as test_base +E ImportError: No module named 'oslotest' + ERROR collecting virtualenv/lib/python3.4/site-packages/stevedore/tests/test_named.py +virtualenv/lib/python3.4/site-packages/stevedore/tests/test_named.py:2: in + from stevedore.tests import utils +virtualenv/lib/python3.4/site-packages/stevedore/tests/utils.py:1: in + from oslotest import base as test_base +E ImportError: No module named 'oslotest' + ERROR collecting virtualenv/lib/python3.4/site-packages/stevedore/tests/test_sphinxext.py +virtualenv/lib/python3.4/site-packages/stevedore/tests/test_sphinxext.py:18: in + from stevedore import sphinxext +virtualenv/lib/python3.4/site-packages/stevedore/sphinxext.py:17: in + from docutils import nodes +E ImportError: No module named 'docutils' + ERROR collecting virtualenv/lib/python3.4/site-packages/stevedore/tests/test_test_manager.py +virtualenv/lib/python3.4/site-packages/stevedore/tests/test_test_manager.py:1: in + from mock import Mock, sentinel +E ImportError: No module named 'mock' +============== 161 passed, 1 warnings, 121 error in 3.47 seconds =============== +ERROR: InvocationError: '/home/student/projects/lingvodoc/.tox/py34/bin/py.test' +___________________________________ summary ____________________________________ +ERROR: py34: commands failed diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 000000000..6cec9eebb --- /dev/null +++ b/requirements.txt @@ -0,0 +1,54 @@ +Babel==2.0 +Chameleon==2.22 +Mako==1.0.1 +MarkupSafe==0.23 +PasteDeploy==1.5.2 +Pygments==2.0.2 +SQLAlchemy==1.0.8 +WebOb==1.5.0a1 +alembic==0.8.0 +argparse==1.3.0 +debtcollector==0.7.0 +futures==3.0.3 +iso8601==0.1.10 +-e git+https://github.com/al-indigo/lingvodoc/@768933e553f9f556903b6a4e988a11ee5e89d9d2#egg=lingvodoc-tmprefactor +monotonic==0.3 +msgpack-python==0.4.6 +netaddr==0.7.15 +netifaces==0.10.4 +nose==1.3.7 +oslo.config==2.2.0 +oslo.i18n==2.3.0 +oslo.serialization==1.8.0 +oslo.utils==2.2.0 +passlib==1.6.5 +pbr==1.5.0 +pluggy==0.3.0 +prettytable==0.7.2 +py==1.4.30 +py-bcrypt==0.4 +pyramid==1.6a2 +pyramid-chameleon==0.3 +pyramid-debugtoolbar==2.4.1 +pyramid-mako==1.0.2 +pyramid-tm==0.12 +python-editor==0.3 +python-keystoneclient==1.6.0 +python-swiftclient==2.5.0 +pytz==2015.4 +repoze.lru==0.6 +requests==2.7.0 +simplejson==3.8.0 +six==1.9.0 +stevedore==1.7.0 +tox==2.1.1 +transaction==1.4.4 +translationstring==1.3 +venusian==1.0 +virtualenv==13.1.2 +waitress==0.8.9 +wrapt==1.10.5 +zope.deprecation==4.1.2 +zope.interface==4.1.2 +zope.sqlalchemy==0.7.6 +webtest==2.0.18 \ No newline at end of file diff --git a/tests/__pycache__/test.cpython-34.pyc b/tests/__pycache__/test.cpython-34.pyc new file mode 100644 index 0000000000000000000000000000000000000000..6a056ebd0dcdefae07b6b0bca861a4228a81b907 GIT binary patch literal 5455 zcmcgwUvt~W5nqrX2=I?YCzd7IPOK(r8>Wp^+pXGU+|;!tJDGaiG_u`YHM)?xhcX(n~%-pZeQ{2vW4aG4_V)I6f4j@C8_k+o z`p4tB1)_h_)Sr$1ZM5`nAR+!+6chPH-y+|V@e;))O3LJy$>Q(I6x)twd+R^njW?-Q_WPGMg1Lgy^T9tDovw7zg;nnPai${{NW(GHyHIp7vy(XY+Mpkxs*dHA5@5$%+Y>@cRKl9 zUB1H=zxv%DU_rn8Bgj^}`B3u-adFMARzapZs=pKU)t;9=i=#|^ytdXZ8T(F8UQi8@nGQ%GhieM|@j;g}XP}^P1mGB~{tup>evn z_Grh{uv-v!pQ>b6*Lc1a!nZVT;sE)LRW{o`XUywxalPjvgWOp)vzwvEj(-16|0H1_rZCr zZ&kEZ*q{w=tUa;8PteJ&9f*;@&MZnwY;6{g0v~cy1YTqn>N&6j^s3Zzr6-qfA76fH za`?6-T4{TF5&S3PnvWt=x%wTgk^x*(F4N6apf?6D`fXdkeR3IJrYJEd-{aSJL9U>s zE(nQYYS!L|=TgXcrxQA1-xQtfqBEltD=SeCj!3K;I3+t9lvQT8?b!sUgRYj3RRrZt zhHYAo;JbpE>-?zFIuF1H9U2epfE}xxeaS0)=>l8N7*;wlaK$)j7G$H;Z%j|=c?hgq zOc-1An;`9~nJ)}$^?9UTr20Lc6je7iMoF?eM$USWrb=g<&qhJ4EBMIRU3km*8hDwh z>SLI7wMvJBJ{GJnJ0W}@<^o%9X9!;Kxeo8h3sb&264Py1i`L%yIqzqN)kAoj+vzYG zbULQi>A;;wG4~st4$Ga-h|h>+=pSR-DG^urRqVz?kA+J4z8hAf)$lZrbPv>ReTxt@`R(3D5dxH_LhFELqWav7vu$sJqV`5KQ-;CO{!g~%;2_^qO)jMdZN zx3_j~wa(z4#f;EIxhz-_dnewVyP)+DwlDI(gU|94zl$DVO@L{IM}>&2JoOP;YJ(8K zdGE&gWjqy%c<;N+@lPPHgCd{~pa=+r6y;W)1n`SPw`M^K2?9W>3XpQBSDnC(JHC6f z$UfT{PK>p)E!KMU0faCM(-TF&Hdb(QrU>2o`&iX>^$+mS*O{*n@8uf;)d8~_8{C&5Gb7n%y?!~?!*2d{q;S}F6 zAw}JQgwo19PD4+orFE_q^2ljrP0l#KN|CTiXe`pwLn<9O#LMStANj^{LhA9$iS!lR zk(@RtY*IK!A*zWMg%=Q_s|VHbdf55t>)+slBz#lWgU+mXiF4(Pw2vS?v+;r~yd+B& zW%*LEv3uZ+H%5BIxp#gF?<^^nh1tw0E>n1Aie+ugvUV1itHR|i5$0_X>{_wDdQcy) zugm(WqFEiQ;F4c75n7}*Ef;jBjHh|s`|l`ScQ_?V2~?8znL>et-*Yc z7&J{~sDmKG+8dk3Ndo=lXn4f%Vk$d&Fd7<LYbt`gz9Wz8$IlynP2Tf^ zxMOLjAV<)K0qIk;l#zEFIj>govS9&mcvIR(0*y>>TCa(zv%vBHjH!R-Q=B8Fz9Qo* zF_rT>E)xXhz5vS2#?({lZ26&t>uglw@*|1Bngq`YtT7*lV)>y2uw`XZdLN=pK!IJQ zeN;+7C>OE0c<~UM9iHI=!X*G9V205m%zp$x9gdm;;0N%jAzZhp2UI(*De~buY6=8% z!M^nzyw-E{TaN%-0JkPe3q0oW5L8^}?*Vi?esOwy2M1U{MS^9gu?vB8iO`c8@1Byd=ykAQXo&!0_z~dcMzp=1 zr!EX4dFtZ5-nH}7o|V&RP99(YlyX9p*Gsw2j#HSL<)MCRmX@p~WSCWJ&bs!xwB{6_ z_+O_rzkr~u`EgpagtUgo+AZUb`ccM6EBNPE@oPqqL}3o6QYWy!{Y%H=t536Rs9tu} zkjvdP&j&@b4nEUWChWe(Wp^+pXGU+|;!t+nIRWw6fC{}e}aC>`uyT9G#-y6-^ z@|S;o@{fx|f1{~C8~xj8>7PMD{I@73@{7Jjz9r)&ic6G~$uE<|-<2u0DXEZO$=_{? z9ZIU?S1EDHcPa76_b926U!$Z>ex0oQVTD46{)pucDWYD34#BZW_rofMu1vU76LXmG zD6GjuZE9kk<=kr5k03NXYFnn7sWglFJLq~FceYfTMuUF4Vj2$~KmOv;AiFmh^+V(E z+poVebNsv$guhkKM_8ACb$8I;j-zg77J2rwex`Ikh_{q}q4cKK1Ks7##(yPrZlk3? z0l`snE%_xDEG)6WP!yCD+S0eFI64%D({8n0^ZsLOzJVOs8~+Ao2PW$l-#SEF8C-oYVjP_Ic}KLIbu@37doB&KpHhg3eO5Hp#h{R;1N z^1Hfxhbw;lyWhcre)D^ft#$*!*Pd@F`Iy%>ap?rJg!Rh;TNhINBUnLqIIl_RZ;o2V=ZgDfz$ z<1++tZ0eZ~`e`87YpO}m4|bF`-)?$U9wwv)~qX56K(Iq z^O)bNsHreQ8{AlZVuYWflbbsrBY~k=l$6-qEFJ|whZr?t> z{nF(0ZA;YB_Vgn7PsTMLMW%B7J6a_J_@>;Zo2fu=3|{uzwtna2GQLgGVotuxukV3e zK}%f_62;W4y^qeNknv6@bi&RlI@v{MMkiKQq8>bvST*oU_BJT1%zoRm30?>AZk+HjQm+>|5 zGE>#ZIO}Sa4hMZKSYdWT_&&@9Hs8(=yx?>l-jNrke03zI+prd`z4de6&kU1#DH==FJNHGqi0;5&!I0fSz@vb(yru=E$)1cM<;l^!mmQ)mKgk2(NYHM zY4F=yJGWYAaL-~!Xrf#etO&jn@6KJ&dIZ}S`QOE7`H9~{53nY{w8Eo8L{^^q7%jCy z2;jVT#i3iXAcYJ8AXNoOIn=98;Km)_ zy;)?R?F=Wz+SwLsJ^Bzrn1$(yB4QgWI5|_qZv8#1YP(G#6EtEF@~cYaY~JP!`3|3MJxWkUBo#vBW3quUl42K{Ht(^ z|1cv(;ed?N$~?|PPv)g{E*A30X=P1LIloSku}Wwx^3p>p9XQ0x=V>4L#&JgK@ym() z72J`XHYjXTI7cDMi57(y5TdIG)$w}R`RVJw!xc&RmaGSzS?>}j%NJ=ML3(E61zC7W zmMqHh%f-g-fj8b5=@BR2`6;}!q*xMWGpAUl@X8d++L&eSEG}1t%iAK%J0jS%Vtw_X zK3-p!^;22<%GmQ?L;bSgvRU33=O4SXAVraQKqW;!P8iUlG|XAOF_SxGe)t& ze2*A3O=YNqAj8@lo5o23{ncoA#PDJ&J9;o08jrC45lzRY_n~kZb6x#Aj2^ZQZ#pPELfi(%96If$D4#o0I31G|0r1m~UnSctr zO8cmkfKV=CbMfLKHak4S1q1*lul<`+NuUVFNDV=Ho_Z|_(p*X8!*x^=2;qWw>p5ht z=a{!10j>aPO%xP(%;O{%{ z=2=3GIc9Xly!D!Ge}GZqiUQnPf~x{P$PYRy^K-ju_f;sF2a9OmZ`mK8qEVV01? z@L0QL+)+Qu7*+-B{3?FB2$Cqwu~UiyRs!!3E*qdJTN;iFgUiF)W2vW4d!*|E?W8*kO2P$MMPfF7vu>uUZSW(ahbd_3I483kwtNZyh{FVQDjqG zC9g`cL!LviOP)({jl3Ggb@J*Y9t0H%Z2A+H+a!s44LSnHCOrtM6gXzWnVOixgiArq zOw^_(=2_02cKsMa({@|vY9`Yx?C+uLZrt0EX&NT|c11Tnd-Ujw?IhbuhW$X>{Pydw z^c+9$`N5a+*%0gUukI)P-6-s4dXZ;8?`Kl={b)z3=TdDdm8dRnHvTK2a~CcB5eSZw zYso9IU_prmhN7UPz%qS{ilakeIPFf`(eFRP<{Q`&vid5N>BBJ1c81+9#D_FN$P-NV->$KVC|Z5A7s#ME5M5tR=s#7ySspu#(y{;qDm z!xg{!-S1#Qzxh4LPP@6S_=LE)W>-l+lO5UL3;S~4O`kq&?kb-Ph0`&lOpj+u*glP5jd<#%oM{a9*?4da+^%d2qrR(oFYo35lXdpyu~7uO!{ z=^A$PqwZ4~k5rB4TM^9Zc@iYu)i?=cl&U(0Rf9>HKXCJvLnXBn%ghh_%-6M(Gx$-Y z>zVTVsc)`VS7X2L?@6W0eh{>6ZKX2W&3Cf%15fySPG7$01Tc(0lUl)E|NPn7(g7_>}2dA>$gKEzN1CnR_ZUg9FQ+UI8I7FIu7@u2?NRYvP({ zqV0cp5mQ_>Dk}`q0ykErG00ER$xR>d5yR*N#U(a9!J`0++%5qgS%rEwi~_wX^&HbP zmSCM<RFjwlFGcyJ`{qC*z8bVy5!Du$7Dx_^G*BCzHO~NM7{YmU{d2GQL@((VV=) zukV3eLrWbHGK#5*{f{oBknv8Zbi$5mbTUF`MkgXGQ4d~8tQvSIdmfZkW*_cZ1P_F+ zmQPd! zo>KD=Shbii(5N>-+EqPYSlR0HP`*gj`#fn>-Pjn$@n{UAbw5p|$~K=3{YX{tk+!;U zo$)pBGF??CnCmE+4w60=tS~!6_&)R{Hs#I$yx@Qx-jNrke05|@w;>kA{`v*)XNJ`_ zT+iur7#cbqUF&q<+rxSMIj0wI9&{;iA4cqSC_-uIc~A3$CQML-=u5fBLZ%AGtT;1`?j%z_lM1%Ol)AZ1gp zI)NK!eD`{heYP{07;9(OSnKhJ5JE3ZPZZHx3;*;?5y#bcu&V8-@8Y3uGGU)m-viNZ z>}TDl3}Na69%Q|#Hpm!q%=f&l`aYADg0Q~z^^B3`9BF@!FHVex<7E^78e)Iz-?@oni%`|A;uVva>OY$>J3ZrSQoAM`*soM-0YOyi+#aZ z8|Pw$Q~Zb7DT)YWmm+gHCq12`*12%VBd5rkoPK_tB6~HVvB*)6sB~x(FQ2CaWiC@oqPTtbMh9#+TeVdrPBe}k)&;7zk0bY{InoH$>m0|e=r zjTg+qD`v@}S-w>Rq|jgcO4BA%bZJx_{d!))dhS1GtQ#j-YLSv!x*b;IQ?Bh1@I zup7nt>S2AnzHZh}W$-Iw&wmB=%LbSA)s1ofF`5lwdg07D#W5mJLW-P3+XG)A`_*-j zFdKEU(Lib!xp0>3CMwo0XW;oLvi_Huu0-;=jJ)#0o0~}Yk?=@em3{w7BmbFB=vBhqq1p*gzxG+u}7bbrv}OpE321 ze2NRi)K_GDC8lzI$7O;+xi5iovoZCIqTBpx!bLaAa`TIcfi)96C$PqRY>LdUCV(xG znL7LkWdf@0DjlFw0zx^6&Bcq0*lhC*7Z45s2mv#U7D4`t0E%+d6aYVfPYvO^MLnR} zNllRt*HKd-m>cX{&%tXwN5AzDzy)w?qO`zc9uI?x>-;@{j>j)gkMH3C3#dr2>@0Qx zkZuvvSPh)x)xfL?*F9^JNL>8}I8lX_8Vf47yzZ55asn!?z7_*rY2m}PtDSjSVD$b z6?5Xo>(ZJteBytd*8CKLvgXHW%@WcY9&5L>Gwg>MBdx(duZmwY{5TA9I5l+w>)X3> zGQRpW%LejgR}Q$`P4j%vXx7GOs>+1jS38`>-N#Q#reZTml-Y6$16TNC214!J$&18K X;qR1kWsGXC)GD>a2j%5=m#_W{>V$XI literal 0 HcmV?d00001 diff --git a/tests/__pycache__/tests_dictionary.cpython-34.pyc b/tests/__pycache__/tests_dictionary.cpython-34.pyc new file mode 100644 index 0000000000000000000000000000000000000000..d1e85a2866637a5adc598dfe6060acca8e534161 GIT binary patch literal 4453 zcmcgvTW=dh6h3S3uGjV^c1zokwiGCrb}5ay6oIO$s?xLt38g?9E|!qB^==ZI-E}g% zZb_6ph4=mfegNWuU%{W4CnTQA1Ml#}cV_Iha;UC!@Zv+Stt@eS_;LZP}~usC)&K(@K-?L7QXZv1dgJu z)GV-KL4g&9pzOc&bmB1c13&X+WuTBBMR2s4hS7>%&ekf97Wsw543_!#dSk5@hmADr z2Vs&m)f zs^xy1&jr}XDewv0NyR*^vBf;mDW*ZQM)sTav zu=X0yPSKOA;7WkjW>Q87VyQyTE){nyVv?MuZHwV+e1kjr<+l)sJVUH1 z%Gtw)Bi<1Rwj^GGc*@sZT!4@!J4%|27_X+#seM-C5p@>q8*zfgUK$i9x$PwuryyiC z6MmBVDs;$F>?i(eC}hzO0?*d)RV$s@vyya@!PS}ovC`sgj7@o)afYjdK+YY=bCceD zah?;itSy62f%p)9yM{4`^4mV;4(GQGtaohuHln=}%>rdP=aq9DDYAN(56*y5SP`#s z=_-pk2+t9(aXF_o@j6#8vUr09=Lq6Wh;jN7Z*eO-cGBTY5TD>n`QDKVXqu#E4y36A z?0FzfiOX0`cr2Kxes1a*>cWHyHwb*iKo|S+g6P9Oy(*L$05ERmAQ%| zzLC!7ezMwULdiKyC~z`|jX|=0WCr8=s#2K=8WRofc#p;V5CFM~ya!O1;3b-hzanTS zKHxbMv5g(JfG=g%8Ym^T zoinIAWKdZPak0m;MsEzz3OgFXIlapIx-U4P9Oae6mQi}C;Km_agPs}LJE?j2Ba|oO zv_iQGU(e!Zoz7c$c#2I~Ug<=5XSN=0N^7Mf@D!ca2`QeeIwxiJAKnSI;V36id*$pd zE29U?#H|?QrxWJ+4lAepQef&oZ|Mw`0|4i#GsY#f>TLD7Xhay8SR2{uv%|nmY&oW( zy20w%@*z6r@eRYk34{S|^Xk&+C!LIQCPf#rgcq3~cLL2mDpx9Epgc2ZpIgha_3+1b zxXzF0RAu%$JaV2XN-X%&NQcw$+jzaI3|IvnwdFzjN#}-6x^Hqer=q57xP^M5Zd@+T Io}In$AC>Qj`v3p{ literal 0 HcmV?d00001 diff --git a/tests/__pycache__/tests_language.cpython-34.pyc b/tests/__pycache__/tests_language.cpython-34.pyc new file mode 100644 index 0000000000000000000000000000000000000000..01be2047bcbc95b58e62737bd1e6ae8cd1d07dd6 GIT binary patch literal 9631 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