Python export/import

"Dr. Arno Baumfalk" <[email protected]> Thu, 5 Jan 2017 11:09:41 +0100
Newsgroups gmane.linux.umbrello.user
Message-ID <[email protected]>
--------------1F9BD9CD883FE9C2B7F79414
Content-Type: text/plain; charset="utf-8"; format=flowed
Content-Transfer-Encoding: 7bit

Hi all,

I would like to report the follwing bug:


Bug description:
---------------------
Python export and re-import breaks function names and private attribute 
of private functions.

Steps to reproduce:
---------------------------
1. create a class with a public function named "publicFunction" and a 
private function named "privateFunction" (see attached Umbrello1.xmi).
2. Export to python, result will be:
---
class MyClass(object):

   """


   :version:
   :author:
   """

   def publicFunction(self):
     """


     @return  :
     @author
     """
     pass

   def __privateFunction(self):
     """


     @return  :
     @author
     """
     pass
---

3. re-import from exported Code (see attached Umbrello2.xmi).
As a result I get a public Function with the name "__privateFunction" 
instead of a private function with the name "privateFunction".


BR
Arno

--------------1F9BD9CD883FE9C2B7F79414
Content-Type: text/x-xmi; name="Umbrello1.xmi"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename="Umbrello1.xmi"

<?xml version="1.0" encoding="UTF-8"?>
<XMI verified="false" xmi.version="1.2" timestamp="2017-01-05T10:59:53" xmlns:UML="http://schema.omg.org/spec/UML/1.3">
 <XMI.header>
  <XMI.documentation>
   <XMI.exporter>umbrello uml modeller http://umbrello.kde.org</XMI.exporter>
   <XMI.exporterVersion>1.6.4</XMI.exporterVersion>
   <XMI.exporterEncoding>UnicodeUTF8</XMI.exporterEncoding>
  </XMI.documentation>
  <XMI.metamodel xmi.version="1.3" href="UML.xml" xmi.name="UML"/>
 </XMI.header>
 <XMI.content>
  <UML:Model isSpecification="false" isAbstract="false" isLeaf="false" xmi.id="m1" isRoot="false" name="UML-Modell">
   <UML:Namespace.ownedElement>
    <UML:Stereotype visibility="public" isSpecification="false" namespace="m1" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="folder" name="folder"/>
    <UML:Stereotype visibility="public" isSpecification="false" namespace="m1" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="datatype" name="datatype"/>
    <UML:Model stereotype="folder" visibility="public" isSpecification="false" namespace="m1" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="Logical View" name="Logical View">
     <UML:Namespace.ownedElement>
      <UML:Package stereotype="folder" visibility="public" isSpecification="false" namespace="Logical View" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="Datatypes" name="Datatypes">
       <UML:Namespace.ownedElement>
        <UML:DataType stereotype="datatype" visibility="public" isSpecification="false" namespace="Datatypes" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="2kBskmx7pep1" name="int"/>
        <UML:DataType stereotype="datatype" visibility="public" isSpecification="false" namespace="Datatypes" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="6dxAhBuPGEEb" name="char"/>
        <UML:DataType stereotype="datatype" visibility="public" isSpecification="false" namespace="Datatypes" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="G0fnqhetQnjA" name="bool"/>
        <UML:DataType stereotype="datatype" visibility="public" isSpecification="false" namespace="Datatypes" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="ZeFNG4MMhJVN" name="float"/>
        <UML:DataType stereotype="datatype" visibility="public" isSpecification="false" namespace="Datatypes" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="UPkibzJpzycn" name="double"/>
        <UML:DataType stereotype="datatype" visibility="public" isSpecification="false" namespace="Datatypes" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="dEg30NEZ0RwG" name="short"/>
        <UML:DataType stereotype="datatype" visibility="public" isSpecification="false" namespace="Datatypes" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="WGbBZ6Y1THh4" name="long"/>
        <UML:DataType stereotype="datatype" visibility="public" isSpecification="false" namespace="Datatypes" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="G0sDyS0ahfdh" name="unsigned int"/>
        <UML:DataType stereotype="datatype" visibility="public" isSpecification="false" namespace="Datatypes" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="0pE0F9FlPqux" name="unsigned short"/>
        <UML:DataType stereotype="datatype" visibility="public" isSpecification="false" namespace="Datatypes" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="uTwNkePyeH9b" name="unsigned long"/>
        <UML:DataType stereotype="datatype" visibility="public" isSpecification="false" namespace="Datatypes" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="k7BPkm6jaIjp" name="string"/>
        <UML:DataType stereotype="datatype" visibility="public" isSpecification="false" namespace="Datatypes" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="QqoAXbc1To4d" name="array"/>
        <UML:DataType stereotype="datatype" visibility="public" isSpecification="false" namespace="Datatypes" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="htEWFd80pPhk" name="tuple"/>
        <UML:DataType stereotype="datatype" visibility="public" isSpecification="false" namespace="Datatypes" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="hv0QiEp63dGa" name="dict"/>
        <UML:DataType stereotype="datatype" visibility="public" isSpecification="false" namespace="Datatypes" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="FtbgfeJMXVsk" name="object"/>
        <UML:DataType stereotype="datatype" visibility="public" isSpecification="false" namespace="Datatypes" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="8zlyMQg3LeT1" name="set"/>
       </UML:Namespace.ownedElement>
      </UML:Package>
      <UML:Class visibility="public" isSpecification="false" namespace="Logical View" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="RwYrmSmgti3b" name="MyClass">
       <UML:Classifier.feature>
        <UML:Operation visibility="public" isSpecification="false" isQuery="false" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="VrB3AtqbpMQc" name="publicFunction"/>
        <UML:Operation visibility="private" isSpecification="false" isQuery="false" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="nCIgvKGHjnGP" name="privateFunction"/>
       </UML:Classifier.feature>
      </UML:Class>
     </UML:Namespace.ownedElement>
     <XMI.extension xmi.extender="umbrello">
      <diagrams>
       <diagram showopsig="1" linecolor="#ff0000" snapx="25" showattribassocs="1" snapy="25" linewidth="0" showattsig="1" textcolor="#000000" isopen="1" showpackage="1" showpubliconly="1" showstereotype="1" name="Klassendiagramm" font="Sans Serif,9,-1,0,50,0,0,0,0,0" canvasheight="49" canvaswidth="127" localid="-1" snapcsgrid="0" showgrid="0" showops="1" griddotcolor="#d3d3d3" backgroundcolor="#ffffff" usefillcolor="1" fillcolor="#ffff00" zoom="100" xmi.id="k5KrN1n4Xs2t" documentation="" showscope="1" snapgrid="0" showatts="1" type="1">
        <widgets>
         <classwidget linecolor="none" usesdiagramfillcolor="0" linewidth="0" showoperations="1" textcolor="#000000" usesdiagramusefillcolor="0" showpubliconly="1" showpackage="1" x="-545" showattsigs="601" showstereotype="1" y="-287" showattributes="1" font="Sans Serif,9,-1,5,75,0,0,0,0,0" localid="MRX1geaQkjnU" width="127" isinstance="0" usefillcolor="1" fillcolor="#ffff00" xmi.id="RwYrmSmgti3b" showscope="1" height="49" showopsigs="601"/>
        </widgets>
        <messages/>
        <associations/>
       </diagram>
      </diagrams>
     </XMI.extension>
    </UML:Model>
    <UML:Model stereotype="folder" visibility="public" isSpecification="false" namespace="m1" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="Use Case View" name="Use Case View">
     <UML:Namespace.ownedElement/>
    </UML:Model>
    <UML:Model stereotype="folder" visibility="public" isSpecification="false" namespace="m1" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="Component View" name="Component View">
     <UML:Namespace.ownedElement/>
    </UML:Model>
    <UML:Model stereotype="folder" visibility="public" isSpecification="false" namespace="m1" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="Deployment View" name="Deployment View">
     <UML:Namespace.ownedElement/>
    </UML:Model>
    <UML:Model stereotype="folder" visibility="public" isSpecification="false" namespace="m1" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="Entity Relationship Model" name="Entity Relationship Model">
     <UML:Namespace.ownedElement/>
    </UML:Model>
   </UML:Namespace.ownedElement>
  </UML:Model>
 </XMI.content>
 <XMI.extensions xmi.extender="umbrello">
  <docsettings viewid="k5KrN1n4Xs2t" uniqueid="8zlyMQg3LeT1" documentation=""/>
  <listview>
   <listitem open="1" type="800" id="Views">
    <listitem open="1" type="802" id="Use Case View"/>
    <listitem open="1" type="836" id="Entity Relationship Model"/>
    <listitem open="1" type="821" id="Component View"/>
    <listitem open="1" type="801" id="Logical View">
     <listitem open="0" type="830" id="Datatypes">
      <listitem open="1" type="829" id="QqoAXbc1To4d"/>
      <listitem open="1" type="829" id="G0fnqhetQnjA"/>
      <listitem open="1" type="829" id="6dxAhBuPGEEb"/>
      <listitem open="1" type="829" id="hv0QiEp63dGa"/>
      <listitem open="1" type="829" id="UPkibzJpzycn"/>
      <listitem open="1" type="829" id="ZeFNG4MMhJVN"/>
      <listitem open="1" type="829" id="2kBskmx7pep1"/>
      <listitem open="1" type="829" id="WGbBZ6Y1THh4"/>
      <listitem open="1" type="829" id="FtbgfeJMXVsk"/>
      <listitem open="1" type="829" id="8zlyMQg3LeT1"/>
      <listitem open="1" type="829" id="dEg30NEZ0RwG"/>
      <listitem open="1" type="829" id="k7BPkm6jaIjp"/>
      <listitem open="1" type="829" id="htEWFd80pPhk"/>
      <listitem open="1" type="829" id="G0sDyS0ahfdh"/>
      <listitem open="1" type="829" id="uTwNkePyeH9b"/>
      <listitem open="1" type="829" id="0pE0F9FlPqux"/>
     </listitem>
     <listitem open="0" type="807" id="k5KrN1n4Xs2t" label="Klassendiagramm"/>
     <listitem open="1" type="813" id="RwYrmSmgti3b">
      <listitem open="0" type="815" id="nCIgvKGHjnGP"/>
      <listitem open="0" type="815" id="VrB3AtqbpMQc"/>
     </listitem>
    </listitem>
    <listitem open="1" type="827" id="Deployment View"/>
   </listitem>
  </listview>
  <codegeneration>
   <codegenerator language="Python"/>
  </codegeneration>
 </XMI.extensions>
</XMI>

--------------1F9BD9CD883FE9C2B7F79414
Content-Type: text/x-xmi; name="Umbrello2.xmi"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename="Umbrello2.xmi"

<?xml version="1.0" encoding="UTF-8"?>
<XMI verified="false" xmi.version="1.2" timestamp="2017-01-05T11:01:23" xmlns:UML="http://schema.omg.org/spec/UML/1.3">
 <XMI.header>
  <XMI.documentation>
   <XMI.exporter>umbrello uml modeller http://umbrello.kde.org</XMI.exporter>
   <XMI.exporterVersion>1.6.4</XMI.exporterVersion>
   <XMI.exporterEncoding>UnicodeUTF8</XMI.exporterEncoding>
  </XMI.documentation>
  <XMI.metamodel xmi.version="1.3" href="UML.xml" xmi.name="UML"/>
 </XMI.header>
 <XMI.content>
  <UML:Model isSpecification="false" isAbstract="false" isLeaf="false" xmi.id="m1" isRoot="false" name="UML-Modell">
   <UML:Namespace.ownedElement>
    <UML:Stereotype visibility="public" isSpecification="false" namespace="m1" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="folder" name="folder"/>
    <UML:Stereotype visibility="public" isSpecification="false" namespace="m1" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="datatype" name="datatype"/>
    <UML:Model stereotype="folder" visibility="public" isSpecification="false" namespace="m1" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="Logical View" name="Logical View">
     <UML:Namespace.ownedElement>
      <UML:Package stereotype="folder" visibility="public" isSpecification="false" namespace="Logical View" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="Datatypes" name="Datatypes">
       <UML:Namespace.ownedElement>
        <UML:DataType stereotype="datatype" visibility="public" isSpecification="false" namespace="Datatypes" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="g4EBX7tg4ccQ" name="int"/>
        <UML:DataType stereotype="datatype" visibility="public" isSpecification="false" namespace="Datatypes" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="2GRLvuLk8Te0" name="char"/>
        <UML:DataType stereotype="datatype" visibility="public" isSpecification="false" namespace="Datatypes" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="p4536ovmsAxO" name="bool"/>
        <UML:DataType stereotype="datatype" visibility="public" isSpecification="false" namespace="Datatypes" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="Fp4JRehSu8nn" name="float"/>
        <UML:DataType stereotype="datatype" visibility="public" isSpecification="false" namespace="Datatypes" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="06X6XB7NGAOK" name="double"/>
        <UML:DataType stereotype="datatype" visibility="public" isSpecification="false" namespace="Datatypes" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="zJ7pR2DgrHxH" name="short"/>
        <UML:DataType stereotype="datatype" visibility="public" isSpecification="false" namespace="Datatypes" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="tcjoiUbgb9n8" name="long"/>
        <UML:DataType stereotype="datatype" visibility="public" isSpecification="false" namespace="Datatypes" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="IuTW4pr17yrY" name="unsigned int"/>
        <UML:DataType stereotype="datatype" visibility="public" isSpecification="false" namespace="Datatypes" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="y4DoK85Dlo1T" name="unsigned short"/>
        <UML:DataType stereotype="datatype" visibility="public" isSpecification="false" namespace="Datatypes" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="GbArkvy0pRXr" name="unsigned long"/>
        <UML:DataType stereotype="datatype" visibility="public" isSpecification="false" namespace="Datatypes" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="HOtOKiuGm744" name="string"/>
        <UML:DataType stereotype="datatype" visibility="public" isSpecification="false" namespace="Datatypes" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="G7GztFQAqYzY" name="array"/>
        <UML:DataType stereotype="datatype" visibility="public" isSpecification="false" namespace="Datatypes" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="TxZGN48cSzyk" name="tuple"/>
        <UML:DataType stereotype="datatype" visibility="public" isSpecification="false" namespace="Datatypes" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="hsyRy3WE8kB2" name="dict"/>
        <UML:DataType stereotype="datatype" visibility="public" isSpecification="false" namespace="Datatypes" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="zbCq8BMb9vsW" name="object"/>
        <UML:DataType stereotype="datatype" visibility="public" isSpecification="false" namespace="Datatypes" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="zy8Px67cw63u" name="set"/>
       </UML:Namespace.ownedElement>
      </UML:Package>
      <UML:Class visibility="public" isSpecification="false" namespace="Logical View" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="7X6FFFHFrR3x" comment="   &#xa;  :version:&#xa;  :author:&#xa;" name="MyClass">
       <UML:GeneralizableElement.generalization>
        <UML:Generalization xmi.idref="dPWkJMGGKMeF"/>
       </UML:GeneralizableElement.generalization>
       <UML:Classifier.feature>
        <UML:Operation visibility="public" isSpecification="false" isQuery="false" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="EOpWiRm6AbQy" comment="     &#xa;    @return  :&#xa;    @author&#xa;" name="publicFunction">
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="SdspxyRWKIu9" type="HOtOKiuGm744"/>
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation visibility="public" isSpecification="false" isQuery="false" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="ADZR2h0E5nln" comment="     &#xa;    @return  :&#xa;    @author&#xa;" name="__privateFunction">
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="EVrO4HKXvBKs" type="HOtOKiuGm744"/>
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
       </UML:Classifier.feature>
      </UML:Class>
      <UML:Generalization discriminator="" visibility="public" isSpecification="false" namespace="Logical View" child="7X6FFFHFrR3x" xmi.id="dPWkJMGGKMeF" parent="zbCq8BMb9vsW" name=""/>
     </UML:Namespace.ownedElement>
     <XMI.extension xmi.extender="umbrello">
      <diagrams>
       <diagram showopsig="1" linecolor="#ff0000" snapx="25" showattribassocs="1" snapy="25" linewidth="0" showattsig="1" textcolor="#000000" isopen="1" showpackage="1" showpubliconly="1" showstereotype="1" name="Klassendiagramm" font="Sans Serif,9,-1,0,50,0,0,0,0,0" canvasheight="0" canvaswidth="0" localid="-1" snapcsgrid="0" showgrid="0" showops="1" griddotcolor="#d3d3d3" backgroundcolor="#ffffff" usefillcolor="1" fillcolor="#ffff00" zoom="100" xmi.id="rG8usMS5F4lu" documentation="" showscope="1" snapgrid="0" showatts="1" type="1">
        <widgets/>
        <messages/>
        <associations/>
       </diagram>
      </diagrams>
     </XMI.extension>
    </UML:Model>
    <UML:Model stereotype="folder" visibility="public" isSpecification="false" namespace="m1" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="Use Case View" name="Use Case View">
     <UML:Namespace.ownedElement/>
    </UML:Model>
    <UML:Model stereotype="folder" visibility="public" isSpecification="false" namespace="m1" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="Component View" name="Component View">
     <UML:Namespace.ownedElement/>
    </UML:Model>
    <UML:Model stereotype="folder" visibility="public" isSpecification="false" namespace="m1" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="Deployment View" name="Deployment View">
     <UML:Namespace.ownedElement/>
    </UML:Model>
    <UML:Model stereotype="folder" visibility="public" isSpecification="false" namespace="m1" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="Entity Relationship Model" name="Entity Relationship Model">
     <UML:Namespace.ownedElement/>
    </UML:Model>
   </UML:Namespace.ownedElement>
  </UML:Model>
 </XMI.content>
 <XMI.extensions xmi.extender="umbrello">
  <docsettings viewid="rG8usMS5F4lu" uniqueid="EVrO4HKXvBKs" documentation=""/>
  <listview>
   <listitem open="1" type="800" id="Views">
    <listitem open="1" type="802" id="Use Case View"/>
    <listitem open="1" type="836" id="Entity Relationship Model"/>
    <listitem open="1" type="821" id="Component View"/>
    <listitem open="1" type="801" id="Logical View">
     <listitem open="0" type="830" id="Datatypes">
      <listitem open="1" type="829" id="G7GztFQAqYzY"/>
      <listitem open="1" type="829" id="p4536ovmsAxO"/>
      <listitem open="1" type="829" id="2GRLvuLk8Te0"/>
      <listitem open="1" type="829" id="hsyRy3WE8kB2"/>
      <listitem open="1" type="829" id="06X6XB7NGAOK"/>
      <listitem open="1" type="829" id="Fp4JRehSu8nn"/>
      <listitem open="1" type="829" id="g4EBX7tg4ccQ"/>
      <listitem open="1" type="829" id="tcjoiUbgb9n8"/>
      <listitem open="1" type="829" id="zbCq8BMb9vsW"/>
      <listitem open="1" type="829" id="zy8Px67cw63u"/>
      <listitem open="1" type="829" id="zJ7pR2DgrHxH"/>
      <listitem open="1" type="829" id="HOtOKiuGm744"/>
      <listitem open="1" type="829" id="TxZGN48cSzyk"/>
      <listitem open="1" type="829" id="IuTW4pr17yrY"/>
      <listitem open="1" type="829" id="GbArkvy0pRXr"/>
      <listitem open="1" type="829" id="y4DoK85Dlo1T"/>
     </listitem>
     <listitem open="0" type="807" id="rG8usMS5F4lu" label="Klassendiagramm"/>
     <listitem open="1" type="813" id="7X6FFFHFrR3x">
      <listitem open="0" type="815" id="ADZR2h0E5nln"/>
      <listitem open="0" type="815" id="EOpWiRm6AbQy"/>
     </listitem>
    </listitem>
    <listitem open="1" type="827" id="Deployment View"/>
   </listitem>
  </listview>
  <codegeneration>
   <codegenerator language="Python">
    <sourcecode value="pass&#xa;" id="EOpWiRm6AbQy"/>
    <sourcecode value="pass" id="ADZR2h0E5nln"/>
   </codegenerator>
  </codegeneration>
 </XMI.extensions>
</XMI>

--------------1F9BD9CD883FE9C2B7F79414--