========================== Thursday, January 21, 2016 ========================== Yesterday (while assisting an information event for :ticket:`734`) I fixed :ticket:`700`. I merged Hamza's work on :mod:`atelier` (Add coverage, Py3 support). There was a line "from builtings import str" in the :xfile:`setup_info.py` file which caused it to `break on TravisCI `_. I removed that line and the usage of `str` (which was not necessary there). I also added the :xfile:`.coverage` file (which contains local coverage results) to :xfile:`.gitignore`. There are some problems with :cmd:`fab bd` caused by the changes. These are not covered by the test suite. Needs more investigation. For example when trying to build the docs for atelier:: Traceback (most recent call last):ier.sphinxconf.insert_input File "/work/atelier/atelier/sphinxconf/insert_input.py", line 134, in run output = self.get_rst() File "/work/atelier/atelier/sphinxconf/insert_input.py", line 207, in get_rst return self.output_from_exec(code) File "/work/atelier/atelier/sphinxconf/insert_input.py", line 223, in output_from_exec raise Exception("%s in code:\n%s" % (err, code)) Exception: unicode argument expected, got 'str' in code: self.shell_block(["echo", "Hello", "world!"]) Or when trying to build my blog:: Traceback (most recent call last): File "/virtualenvs/py27/local/lib/python2.7/site-packages/sphinx/cmdline.py", line 244, in main opts.warningiserror, opts.tags, opts.verbosity, opts.jobs) File "/virtualenvs/py27/local/lib/python2.7/site-packages/sphinx/application.py", line 143, in __init__ self.setup_extension(extension) File "/virtualenvs/py27/local/lib/python2.7/site-packages/sphinx/application.py", line 440, in setup_extension ext_meta = mod.setup(self) File "/work/atelier/atelier/sphinxconf/base.py", line 330, in setup indextemplate='pair: %s; :term:`django-admin command`') File "/work/atelier/atelier/sphinxconf/base.py", line 326, in add app.add_object_type(**skw) File "/virtualenvs/py27/local/lib/python2.7/site-packages/sphinx/application.py", line 649, in add_object_type 'doc_field_types': doc_field_types}) TypeError: type() argument 1 must be string, not newstr Or another when trying to build my blog:: Traceback (most recent call last): File "/virtualenvs/py27/local/lib/python2.7/site-packages/sphinx/cmdline.py", line 244, in main opts.warningiserror, opts.tags, opts.verbosity, opts.jobs) File "/virtualenvs/py27/local/lib/python2.7/site-packages/sphinx/application.py", line 188, in __init__ self._init_builder(buildername) File "/virtualenvs/py27/local/lib/python2.7/site-packages/sphinx/application.py", line 249, in _init_builder self.builder = builderclass(self) File "/virtualenvs/py27/local/lib/python2.7/site-packages/sphinx/builders/__init__.py", line 88, in __init__ self.init() File "/virtualenvs/py27/local/lib/python2.7/site-packages/sphinx/builders/html.py", line 106, in init self.init_templates() File "/virtualenvs/py27/local/lib/python2.7/site-packages/sphinx/builders/html.py", line 143, in init_templates self.create_template_bridge() File "/virtualenvs/py27/local/lib/python2.7/site-packages/sphinx/builders/__init__.py", line 101, in create_template_bridge self.config.template_bridge, 'template_bridge setting')() File "/virtualenvs/py27/local/lib/python2.7/site-packages/sphinx/application.py", line 461, in import_object return import_object(objname, source=None) File "/virtualenvs/py27/local/lib/python2.7/site-packages/sphinx/util/__init__.py", line 517, in import_object return getattr(__import__(module, None, None, [name]), name) TypeError: Item in ``from list'' not a string I "fixed" them by removing the "from builtings import str" line in some more files. Not yet sure how to solve this. Atelier `invoke` commands don't read the user config file ========================================================= I noticed that there is still a problem with the migration from `fabric` to `invoke`. Our current system does not install the miscellaneous `configuration files `_, especially the user's :file:`~/.invoke.py` which corresponds to the :xfile:`.fabricrc` file of Fabric. So e.g. when I run :cmd:`invoke blog` then I get:: atelier.tasks.MissingConfig: Must set `env.editor_command` in `tasks.py`! And I don't want to set `editor_command` in the :xfile:`tasks.py` file of every project, I want to define the default editor only once in my :file:`~/.invoke.py`. The problem is probably because in :mod:`atelier.tasks` I am cheating: I create a variable `env` which is an :class:`AttrDict`. I think that we need to convert this to a `namespace `_.