← Back to team overview

dolfin team mailing list archive

Re: [Bug 793512] [NEW] Classes are indexed twice in Python Programmer's Reference

 

On 6 June 2011 17:35, Marie Rognes <793512@xxxxxxxxxxxxxxxxxx> wrote:
> On 06/06/2011 05:01 PM, Kristian B. Ølgaard wrote:
>> On 6 June 2011 15:03, Marie Rognes<793512@xxxxxxxxxxxxxxxxxx>  wrote:
>>> Public bug reported:
>>>
>>>
>>> Python classes are indexed (at least) twice in the Python Programmer's Reference, for instance the index points to the class FunctionSpace in both dolfin.functions and dolfin.functions.functionspace:
>>>
>>>   FunctionSpace (class in dolfin.cpp)
>>>
>>>       (class in dolfin.functions)
>>>       (class in dolfin.functions.functionspace)
>>>
>>> Is this intended? If so, it is confusing.
>>
>> Not all classes are indexed twice, e.g., the FiniteElement is only
>> defined in dolfin.cpp.
>> What part is it that you find confusing?
>
> Sorry, didn't mean to be unclear. The confusing part is probably (class
> in dolfin.functions)
>
>> The dolfin.cpp.FunctionSpace and
>> dolfin.functions.functionspace.FunctionSpace are two
>> different classes so there should be two entries.
>
> Agree.
>
>> The FunctionSpace class from dolfin.functions is picked up because
>> FunctionSpace is included in the __all__ variable
>> in dolfin.functions.__init__.py.
>> So perhaps we could skip extracting functions and classes from
>> __init__.py files, and just hope that no one actually defines a class
>> or a function in these files?
>
>
> I think this (skipping extracting functions and classes from
> __init__.py) sounds like a sane assumption.

Otherwise, we will have to remove the __all__ variable in
dolfin/functions/__init__.py,
but then we can't import FunctionSpace by:

from dolfin.functions import *

and in dolfin/__init__.py we have to import:

from dolfin.functions.functionspace import *

to get FunctionSpace included.

But I think ignoring __all__ in __init__.py's is better.

Kristian

> --
> Marie
>
>
>
>>
>> Kristian
>>
>>
>>> ** Affects: dolfin
>>>      Importance: Undecided
>>>          Status: New
>>>
>>> --
>>> You received this bug notification because you are a member of DOLFIN
>>> Core Team, which is subscribed to DOLFIN.
>>> https://bugs.launchpad.net/bugs/793512
>>>
>>> Title:
>>>   Classes are indexed twice in Python Programmer's Reference
>>>
>>> Status in DOLFIN:
>>>   New
>>>
>>> Bug description:
>>>
>>>   Python classes are indexed (at least) twice in the Python Programmer's Reference, for instance the index points to the class FunctionSpace in both dolfin.functions and dolfin.functions.functionspace:
>>>
>>>     FunctionSpace (class in dolfin.cpp)
>>>
>>>         (class in dolfin.functions)
>>>         (class in dolfin.functions.functionspace)
>>>
>>>   Is this intended? If so, it is confusing.
>>>
>>
>
> --
> You received this bug notification because you are a member of DOLFIN
> Core Team, which is subscribed to DOLFIN.
> https://bugs.launchpad.net/bugs/793512
>
> Title:
>  Classes are indexed twice in Python Programmer's Reference
>
> Status in DOLFIN:
>  New
>
> Bug description:
>
>  Python classes are indexed (at least) twice in the Python Programmer's Reference, for instance the index points to the class FunctionSpace in both dolfin.functions and dolfin.functions.functionspace:
>
>    FunctionSpace (class in dolfin.cpp)
>
>        (class in dolfin.functions)
>        (class in dolfin.functions.functionspace)
>
>  Is this intended? If so, it is confusing.
>

-- 
You received this bug notification because you are a member of DOLFIN
Team, which is subscribed to DOLFIN.
https://bugs.launchpad.net/bugs/793512

Title:
  Classes are indexed twice in Python Programmer's Reference

Status in DOLFIN:
  New

Bug description:
  
  Python classes are indexed (at least) twice in the Python Programmer's Reference, for instance the index points to the class FunctionSpace in both dolfin.functions and dolfin.functions.functionspace:

    FunctionSpace (class in dolfin.cpp)

        (class in dolfin.functions)
        (class in dolfin.functions.functionspace) 

  Is this intended? If so, it is confusing.


Follow ups

References