Subject: Re: [Ffc] [Branch ~dolfin-core/dolfin/main] Rev 4352: Fixing the PyDOLFIN interface for errors and warnings picked up by pylint.

From: Anders Logg <[email-masked]>
Date: Mon, 14 Dec 2009 09:02:32 +0100

On Fri, Dec 11, 2009 at 11:46:14PM -0000, [email-masked] wrote:
> ------------------------------------------------------------
> revno: 4352
> committer: Johan Hake <[email-masked]>
> branch nick: dolfin
> timestamp: Fri 2009-12-11 15:42:50 -0800
> message:
>   Fixing the PyDOLFIN interface for errors and warnings picked up by pylint.
>
>      pylint dolfin returns 7.2, not that bad :)

That's pretty good, or at least the best among some of our modules:

  FFC:      3.81/10
  FIAT_NEW: 2.69/10
  FIAT:     0.22/10
  UFL:      ??? (pylint hangs)

--
Anders

>      Still some work to satify pychecker
> removed:
>   site-packages/dolfin/compile_functions.py
> added:
>   site-packages/dolfin/common/
>   site-packages/dolfin/common/__init__.py
>   site-packages/dolfin/compilemodules/
>   site-packages/dolfin/fem/
>   site-packages/dolfin/fem/__init__.py
>   site-packages/dolfin/function/
>   site-packages/dolfin/function/__init__.py
>   site-packages/dolfin/mesh/
>   site-packages/dolfin/mesh/__init__.py
> renamed:
>   site-packages/dolfin/ale.py => site-packages/dolfin/mesh/ale.py
>   site-packages/dolfin/assemble.py => site-packages/dolfin/fem/assemble.py
>   site-packages/dolfin/bcs.py => site-packages/dolfin/mesh/bcs.py
>   site-packages/dolfin/boundary_subdomain_finder.py => site-packages/dolfin/mesh/boundarysubdomainfinder.py
>   site-packages/dolfin/compile_expressions.py => site-packages/dolfin/compilemodules/expressions.py
>   site-packages/dolfin/compile_extension_module.py => site-packages/dolfin/compilemodules/__init__.py
>   site-packages/dolfin/compile_subdomains.py => site-packages/dolfin/compilemodules/subdomains.py
>   site-packages/dolfin/constant.py => site-packages/dolfin/function/constant.py
>   site-packages/dolfin/constants.py => site-packages/dolfin/common/constants.py
>   site-packages/dolfin/dolfin_time.py => site-packages/dolfin/common/time.py
>   site-packages/dolfin/dynamic_load_mpi.py => site-packages/dolfin/common/dynamicloadmpi.py
>   site-packages/dolfin/errornorm.py => site-packages/dolfin/fem/errornorm.py
>   site-packages/dolfin/expression.py => site-packages/dolfin/function/expression.py
>   site-packages/dolfin/form.py => site-packages/dolfin/fem/form.py
>   site-packages/dolfin/function.py => site-packages/dolfin/function/function.py
>   site-packages/dolfin/functionspace.py => site-packages/dolfin/function/functionspace.py
>   site-packages/dolfin/globalparameters.py => site-packages/dolfin/common/globalparameters.py
>   site-packages/dolfin/interpolate.py => site-packages/dolfin/fem/interpolate.py
>   site-packages/dolfin/jit.py => site-packages/dolfin/compilemodules/jit.py
>   site-packages/dolfin/logger.py => site-packages/dolfin/common/logger.py
>   site-packages/dolfin/meshconvert.py => site-packages/dolfin/mesh/meshconvert.py
>   site-packages/dolfin/norm.py => site-packages/dolfin/fem/norm.py
>   site-packages/dolfin/plot.py => site-packages/dolfin/common/plot.py
>   site-packages/dolfin/project.py => site-packages/dolfin/fem/project.py
>   site-packages/dolfin/specialfunctions.py => site-packages/dolfin/function/specialfunctions.py
>   site-packages/dolfin/ufc_functionspace.py => site-packages/dolfin/function/ufc_functionspace.py
>   site-packages/dolfin/variationalproblem.py => site-packages/dolfin/fem/variationalproblem.py
> modified:
>   dolfin/swig/la_get_set_items.i
>   dolfin/swig/la_post.i
>   dolfin/swig/mesh_post.i
>   site-packages/dolfin/__init__.py
>   site-packages/dolfin/fem/assemble.py
>   site-packages/dolfin/mesh/bcs.py
>   site-packages/dolfin/compilemodules/expressions.py
>   site-packages/dolfin/compilemodules/__init__.py
>   site-packages/dolfin/compilemodules/subdomains.py
>   site-packages/dolfin/function/constant.py
>   site-packages/dolfin/common/constants.py
>   site-packages/dolfin/fem/errornorm.py
>   site-packages/dolfin/function/expression.py
>   site-packages/dolfin/fem/form.py
>   site-packages/dolfin/function/function.py
>   site-packages/dolfin/function/functionspace.py
>   site-packages/dolfin/common/globalparameters.py
>   site-packages/dolfin/fem/interpolate.py
>   site-packages/dolfin/compilemodules/jit.py
>   site-packages/dolfin/common/logger.py
>   site-packages/dolfin/fem/norm.py
>   site-packages/dolfin/common/plot.py
>   site-packages/dolfin/fem/project.py
>   site-packages/dolfin/function/specialfunctions.py
>   site-packages/dolfin/fem/variationalproblem.py
> The size of the diff (1030 lines) is larger than your specified limit of 1000 lines
>

---

From: Johan Hake <[email-masked]>
Date: Mon, 14 Dec 2009 08:09:54 -0800

> That's pretty good, or at least the best among some of our modules:

Ok, not good with ufl...

But the story is not that shiny. We have to run pylint on each python module. 
So 7.4 is just for the __init__.py file in the dolfin directory. When I run 
pylint on some others I get a bunch of errors. Most of them are related to 
local variables like: i, k, l, overshadowing the global one from UFL. 
pychecker also picks up a lot of errors from UFL and Viper as we import these 
modules into the dolfin namespace.

Should probably try to check these modules once you are ready with the 
cleanup.

Johan

> >   site-packages/dolfin/assemble.py =>
> > site-packages/dolfin/fem/assemble.py site-packages/dolfin/bcs.py =>
> > site-packages/dolfin/boundary_subdomain_finder.py =>
> > site-packages/dolfin/mesh/boundarysubdomainfinder.py
> > site-packages/dolfin/compile_expressions.py =>
> > site-packages/dolfin/compile_extension_module.py =>
> > site-packages/dolfin/compile_subdomains.py =>
> > site-packages/dolfin/constant.py =>
> > site-packages/dolfin/dynamic_load_mpi.py =>
> > site-packages/dolfin/common/dynamicloadmpi.py
> > site-packages/dolfin/errornorm.py =>
> > site-packages/dolfin/fem/errornorm.py site-packages/dolfin/expression.py
> > => site-packages/dolfin/function/expression.py
> > site-packages/dolfin/function.py =>
> > site-packages/dolfin/functionspace.py =>
> > site-packages/dolfin/globalparameters.py =>
> > site-packages/dolfin/interpolate.py =>
> > site-packages/dolfin/fem/interpolate.py site-packages/dolfin/jit.py =>
> > site-packages/dolfin/compilemodules/jit.py site-packages/dolfin/logger.py
> > => site-packages/dolfin/common/logger.py
> > site-packages/dolfin/meshconvert.py =>
> > site-packages/dolfin/mesh/meshconvert.py site-packages/dolfin/norm.py =>
> > site-packages/dolfin/fem/norm.py site-packages/dolfin/plot.py =>
> > site-packages/dolfin/common/plot.py site-packages/dolfin/project.py =>
> > site-packages/dolfin/specialfunctions.py =>
> > site-packages/dolfin/ufc_functionspace.py =>
> > site-packages/dolfin/function/ufc_functionspace.py
> > site-packages/dolfin/variationalproblem.py =>
> > site-packages/dolfin/fem/variationalproblem.py modified: