diff --git a/.travis.yml b/.travis.yml index a07481e..ec22031 100644 --- a/.travis.yml +++ b/.travis.yml @@ -4,7 +4,7 @@ python: install: - mkdir -p buildout-cache/{eggs,downloads} - python bootstrap.py -c travis.cfg -d - - bin/buildout -Nc travis.cfg + - bin/buildout -c travis.cfg -N -q -t 3 script: - bin/test notifications: diff --git a/base.cfg b/base.cfg index 6f567bc..61434c0 100644 --- a/base.cfg +++ b/base.cfg @@ -1,29 +1,11 @@ [buildout] -plone-version = 4.2.5 package-name = collective.contact.core package-extras = [test] - extends = - https://raw.github.com/collective/buildout.plonetest/master/plone-4.2.x.cfg - checkouts.cfg + https://raw.github.com/collective/buildout.plonetest/master/test-4.3.x.cfg sources.cfg + checkouts.cfg versions.cfg - extensions = mr.developer - -develop = . - -parts += - test - -eggs += - Pillow - ipdb - -[test] -recipe = zc.recipe.testrunner -eggs = - ${buildout:eggs} - ${buildout:package-name} ${buildout:package-extras} -defaults = ['-s', '${buildout:package-name}', '--auto-color', '--auto-progress'] +show-picked-versions = true diff --git a/bootstrap.py b/bootstrap.py index 5f2cb08..7647cbb 100644 --- a/bootstrap.py +++ b/bootstrap.py @@ -18,13 +18,13 @@ The script accepts buildout command-line options, so you can use the -c option to specify an alternate configuration file. """ -import os, shutil, sys, tempfile, textwrap, urllib, urllib2, subprocess +import os, shutil, sys, tempfile, urllib, urllib2, subprocess from optparse import OptionParser if sys.platform == 'win32': def quote(c): if ' ' in c: - return '"%s"' % c # work around spawn lamosity on windows + return '"%s"' % c # work around spawn lamosity on windows else: return c else: @@ -57,13 +57,13 @@ if not has_broken_dash_S and 'site' in sys.modules: # out any namespace packages from site-packages that might have been # loaded by .pth files. clean_path = sys.path[:] -import site +import site # imported because of its side effects sys.path[:] = clean_path for k, v in sys.modules.items(): if k in ('setuptools', 'pkg_resources') or ( hasattr(v, '__path__') and - len(v.__path__)==1 and - not os.path.exists(os.path.join(v.__path__[0],'__init__.py'))): + len(v.__path__) == 1 and + not os.path.exists(os.path.join(v.__path__[0], '__init__.py'))): # This is a namespace package. Remove it. sys.modules.pop(k) @@ -72,10 +72,11 @@ is_jython = sys.platform.startswith('java') setuptools_source = 'http://peak.telecommunity.com/dist/ez_setup.py' distribute_source = 'http://python-distribute.org/distribute_setup.py' + # parsing arguments def normalize_to_url(option, opt_str, value, parser): if value: - if '://' not in value: # It doesn't smell like a URL. + if '://' not in value: # It doesn't smell like a URL. value = 'file://%s' % ( urllib.pathname2url( os.path.abspath(os.path.expanduser(value))),) @@ -110,7 +111,7 @@ parser.add_option("--setup-source", action="callback", dest="setup_source", help=("Specify a URL or file location for the setup file. " "If you use Setuptools, this will default to " + setuptools_source + "; if you use Distribute, this " - "will default to " + distribute_source +".")) + "will default to " + distribute_source + ".")) parser.add_option("--download-base", action="callback", dest="download_base", callback=normalize_to_url, nargs=1, type="string", help=("Specify a URL or directory for downloading " @@ -156,7 +157,7 @@ args.append('bootstrap') try: import pkg_resources - import setuptools # A flag. Sometimes pkg_resources is installed alone. + import setuptools # A flag. Sometimes pkg_resources is installed alone. if not hasattr(pkg_resources, '_distribute'): raise ImportError except ImportError: @@ -211,6 +212,7 @@ if version is None and not options.accept_buildout_test_releases: # Figure out the most recent final version of zc.buildout. import setuptools.package_index _final_parts = '*final-', '*final' + def _final_version(parsed_version): for part in parsed_version: if (part[:1] == '*') and (part not in _final_parts): @@ -242,7 +244,7 @@ cmd.append(requirement) if is_jython: import subprocess exitcode = subprocess.Popen(cmd, env=env).wait() -else: # Windows prefers this, apparently; otherwise we would prefer subprocess +else: # Windows prefers this, apparently; otherwise we would prefer subprocess exitcode = os.spawnle(*([os.P_WAIT, sys.executable] + cmd + [env])) if exitcode != 0: sys.stdout.flush() @@ -256,5 +258,5 @@ ws.add_entry(eggs_dir) ws.require(requirement) import zc.buildout.buildout zc.buildout.buildout.main(args) -if not options.eggs: # clean up temporary egg directory +if not options.eggs: # clean up temporary egg directory shutil.rmtree(eggs_dir) diff --git a/buildout.cfg b/buildout.cfg index daf3f16..dc3a0ac 100644 --- a/buildout.cfg +++ b/buildout.cfg @@ -1,11 +1,10 @@ [buildout] extends = base.cfg - parts += omelette - -show-picked-versions = true +eggs += + ipdb [omelette] recipe = collective.recipe.omelette diff --git a/checkouts.cfg b/checkouts.cfg index a406679..f44e979 100644 --- a/checkouts.cfg +++ b/checkouts.cfg @@ -1,12 +1,7 @@ [buildout] extends = - https://raw.github.com/plone/buildout.coredev/4.2/sources.cfg - https://raw.github.com/plone/buildout.dexterity/master/sources.cfg + https://raw.github.com/plone/buildout.coredev/4.3/sources.cfg always-checkout = force auto-checkout += - plone.app.dexterity - plone.dexterity plone.formwidget.masterselect collective.contact.widget - z3c.form - plone.app.z3cform diff --git a/sources.cfg b/sources.cfg index d6b0618..d1e87d4 100644 --- a/sources.cfg +++ b/sources.cfg @@ -1,10 +1,7 @@ +[buildout] +extends = https://raw.github.com/plone/buildout.coredev/4.3/sources.cfg + [remotes] -collective = git://github.com/collective -collective_push = git@github.com:collective -zopefoundation = git://github.com/zopefoundation -zopefoundation_push = git@github.com:zopefoundation -plone = git://github.com/plone -plone_push = git@github.com:plone tdesvenain = git://github.com/tdesvenain tdesvenain_push = git@github.com:tdesvenain vincentfretin = git://github.com/vincentfretin @@ -15,9 +12,6 @@ entrouvert = git://repos.entrouvert.org entrouvert_push = git+ssh://git@repos.entrouvert.org [sources] -plone.act = git ${remotes:plone}/plone.act.git pushurl=${remotes:plone_push}/plone.act.git -plone.app.z3cform = git ${remotes:plone}/plone.app.z3cform.git pushurl=${remotes:plone_push}/plone.app.z3cform.git collective.contact.core = git ${remotes:collective}/collective.contact.core.git pushurl=${remotes:collective_push}/collective.contact.core.git collective.contact.widget = git ${remotes:collective}/collective.contact.widget.git pushurl=${remotes:collective_push}/collective.contact.widget.git plone.formwidget.masterselect = git ${remotes:collective}/plone.formwidget.masterselect.git pushurl=${remotes:collective_push}/plone.formwidget.masterselect.git -z3c.form = git ${remotes:zopefoundation}/z3c.form pushurl=${remotes:zopefoundation_push}/z3c.form diff --git a/src/collective/contact/core/content/organization.py b/src/collective/contact/core/content/organization.py index ec6cd10..4301de4 100644 --- a/src/collective/contact/core/content/organization.py +++ b/src/collective/contact/core/content/organization.py @@ -100,9 +100,9 @@ class Organization(Container): e.g. for HR service in Division Bar in Organization Foo : [u"Organization Foo", u"Division Bar", u"HR service"] """ - return [item.Title() for item in self.get_organizations_chain(first_index=first_index)] + return [item.title for item in self.get_organizations_chain(first_index=first_index)] - def get_full_title(self, separator=' / ', first_index=0): + def get_full_title(self, separator=u' / ', first_index=0): """Returns the full title of the organization It is constituted by the list of the names of the organizations and sub-organizations in this organization separated by slashes diff --git a/src/collective/contact/core/indexers.py b/src/collective/contact/core/indexers.py index 0c1e2c7..fd1f754 100644 --- a/src/collective/contact/core/indexers.py +++ b/src/collective/contact/core/indexers.py @@ -6,7 +6,7 @@ from collective.contact.core.content.organization import IOrganization @indexer(IOrganization) def organization_searchable_text(obj): - return ' '.join(obj.get_organizations_titles()) + return u' '.join(obj.get_organizations_titles()) @indexer(IHeldPosition) @@ -18,4 +18,4 @@ def held_position_searchable_text(obj): indexed_fields.append(position.title) organization = obj.get_organization() indexed_fields.extend(organization.get_organizations_titles()) - return ' '.join(indexed_fields) + return u' '.join(indexed_fields) diff --git a/src/collective/contact/core/tests/test_content_types.py b/src/collective/contact/core/tests/test_content_types.py index 22b584b..878975c 100644 --- a/src/collective/contact/core/tests/test_content_types.py +++ b/src/collective/contact/core/tests/test_content_types.py @@ -108,39 +108,39 @@ class TestOrganization(TestContentTypes): def test_get_organizations_titles(self): corpsa_titles = self.corpsa.get_organizations_titles() - self.assertIn('Armée de terre', corpsa_titles) - self.assertIn('Corps A', corpsa_titles) + self.assertIn(u'Armée de terre', corpsa_titles) + self.assertIn(u'Corps A', corpsa_titles) self.assertEquals(len(corpsa_titles), 2) division_alpha_titles = self.divisionalpha.get_organizations_titles() - self.assertIn('Armée de terre', division_alpha_titles) - self.assertIn('Corps A', division_alpha_titles) - self.assertIn('Division Alpha', division_alpha_titles) + self.assertIn(u'Armée de terre', division_alpha_titles) + self.assertIn(u'Corps A', division_alpha_titles) + self.assertIn(u'Division Alpha', division_alpha_titles) self.assertEquals(len(division_alpha_titles), 3) brigadelh_titles = self.brigadelh.get_organizations_titles() - self.assertIn('Armée de terre', brigadelh_titles) - self.assertIn('Corps A', brigadelh_titles) - self.assertIn('Division Alpha', brigadelh_titles) - self.assertIn('Régiment H', brigadelh_titles) - self.assertIn('Brigade LH', brigadelh_titles) + self.assertIn(u'Armée de terre', brigadelh_titles) + self.assertIn(u'Corps A', brigadelh_titles) + self.assertIn(u'Division Alpha', brigadelh_titles) + self.assertIn(u'Régiment H', brigadelh_titles) + self.assertIn(u'Brigade LH', brigadelh_titles) self.assertEquals(len(brigadelh_titles), 5) brigadelh_titles = self.brigadelh.get_organizations_titles(first_index=2) - self.assertIn('Division Alpha', brigadelh_titles) - self.assertIn('Régiment H', brigadelh_titles) - self.assertIn('Brigade LH', brigadelh_titles) + self.assertIn(u'Division Alpha', brigadelh_titles) + self.assertIn(u'Régiment H', brigadelh_titles) + self.assertIn(u'Brigade LH', brigadelh_titles) self.assertEquals(len(brigadelh_titles), 3) def test_get_full_title(self): self.assertEqual(self.armeedeterre.get_full_title(), - "Armée de terre") + u"Armée de terre") self.assertEqual(self.brigadelh.get_full_title(), - "Armée de terre / Corps A / Division Alpha / Régiment H / Brigade LH") - self.assertEqual(self.brigadelh.get_full_title(separator=' - '), - "Armée de terre - Corps A - Division Alpha - Régiment H - Brigade LH") - self.assertEqual(self.brigadelh.get_full_title(separator=' - ', first_index=2), - "Division Alpha - Régiment H - Brigade LH") + u"Armée de terre / Corps A / Division Alpha / Régiment H / Brigade LH") + self.assertEqual(self.brigadelh.get_full_title(separator=u' - '), + u"Armée de terre - Corps A - Division Alpha - Régiment H - Brigade LH") + self.assertEqual(self.brigadelh.get_full_title(separator=u' - ', first_index=2), + u"Division Alpha - Régiment H - Brigade LH") class TestPosition(TestContentTypes): diff --git a/travis.cfg b/travis.cfg index 8cb72dc..0f72aba 100644 --- a/travis.cfg +++ b/travis.cfg @@ -1,27 +1,5 @@ [buildout] extends = + https://raw.github.com/collective/buildout.plonetest/master/travis-4.3.x.cfg base.cfg - -parts = - download - install - test - -# network speedup -eggs-directory = buildout-cache/eggs -download-cache = buildout-cache/downloads - -socket-timeout = 3 - -allow-hosts = - *.python.org - launchpad.net - -[download] -recipe = hexagonit.recipe.download -url = https://launchpad.net/plone/4.2/${buildout:plone-version}/+download/Plone-${buildout:plone-version}-UnifiedInstaller.tgz - -[install] -recipe = collective.recipe.cmd -on_install = true -cmds = tar jxvf ${download:location}/Plone-${buildout:plone-version}-UnifiedInstaller/packages/buildout-cache.tar.bz2 1>/dev/null +parts = download install test diff --git a/versions.cfg b/versions.cfg index b6ba357..128e215 100644 --- a/versions.cfg +++ b/versions.cfg @@ -1,14 +1,2 @@ [versions] -Pillow = 1.7.8 -collective.recipe.cmd = 0.6 -decorator = 3.4.0 -ecreall.helpers.testing = 1.3 -ecreall.helpers.upgrade = 1.1.1 -hexagonit.recipe.download = 1.6 -ipdb = 0.7 -ipython = 0.13.1 -plone.api = 1.0.0-rc.1 -six = 1.3.0 -vobject = 0.8.1c zc.buildout = 2.1.0 -zope.schema = 4.2.2