Re: Ideas to solve Terminal Blocks creation

It can't generate terminal block, yes?

Re: Ideas to solve Terminal Blocks creation

It can't generate. Only is a preview version to check the usability. I don't know if right-clicking to autofill it's a good idea. Maybe  we need to create another column with extra info,...
I don't know if it's worth to put all terminal blocks together or create a TAB for every terminal block...

Re: Ideas to solve Terminal Blocks creation

 I don't know if right-clicking to autofill it's a good idea.

It 's better than enter manual number, I think and no risk to mistake.

Re: Ideas to solve Terminal Blocks creation

New Debian Sid, Stretch qet_tb_generator:
https://download.tuxfamily.org/qet/scor … generator/


Add python3-pyqt5 buildep and recommend, deleted pyqt5 in source file requires.txt 


qet-tb-generator-0.7.74/qet_tb_generator.egg-info$ cat requires.txt 


qet-tb-generator-0.7.74/qet_tb_generator.egg-info$


but it appear sh***t always in /usr/lib/python3/dist-packages/qet_tb_generator-0.7.74.egg-info/requires.txt
If not work remove pyqt5 in requires.txt like this

sudo sed -i '/pyqt5/d' /usr/lib/python3/dist-packages/qet_tb_generator-0.7.74.egg-info/requires.txt

Re: Ideas to solve Terminal Blocks creation

Ok , I found how to produce qet_tb_generator deb and fix requires.txt

laurent@debian:~/result/qet-tb-generator-0.7.74/debian$ cat py3dist-overrides  
pyqt5 python3-pyqt5

Re: Ideas to solve Terminal Blocks creation

It would be nice if the script would put its data form the XML-file first in a database (e.g. sqlite). From here the data could be edited in a kind of terminal-editor. Some of the actions might be inserting empty terminals. Changing positions of terminals in the terminal block and switching internal/external wiring.
Afterwards this data might be used for various outputs like terminal blocks, but also terminal or cable diagrams. It would be nice in the future for these scripts, as mentioned before, if the QET-terminals can have their own tag-information.

To visualize it a bit I'll add some pictures of what it might look like.

Post's attachments

Attachment icon pic1.png 398.26 kb, 82 downloads since 2018-04-15 

Re: Ideas to solve Terminal Blocks creation

scorpio810 wrote:

Ok , I found how to produce qet_tb_generator deb and fix requires.txt

laurent@debian:~/result/qet-tb-generator-0.7.74/debian$ cat py3dist-overrides  
pyqt5 python3-pyqt5

I upload qet_tb_generator 0.7.74 deb packages in all Ubuntu PPA and also QET debian repository, please try it :


sudo apt-get update

sudo apt-get install qet_tb_generator

No need to install pip3 env (~150 Mio installed) like previous recommend install [s]sudo pip3 install qet_tb_generator[/s]


you can just delete related packages installed by old pip3 command on /usr/local/lib/pythonVERSION/dist-packages directory


or 

sudo pip3 uninstall qet_tb_generator
sudo pip3 uninstall PyQt5


https://launchpad.net/~scorpio/+archive/ubuntu/ppa

https://launchpad.net/~scorpio/+archive … rotech-dev

In future I remove pyqt5-dev-tools recommends in QET deb packages, no need if qet-tb-generator is installed by apt on repositories.

On my Debian unstable  :

$ apt-rdepends qet-tb-generator                                                       
Reading package lists... Done
Building dependency tree       
Reading state information... Done
qet-tb-generator
  Depends: python3-pyqt5
  Depends: python3:any (>= 3.3.2-2~)
python3-pyqt5
  Depends: libc6 (>= 2.14)
  Depends: libgcc1 (>= 1:3.0)
  Depends: libpython3.6 (>= 3.6.4~rc1)
  Depends: libqt5core5a (>= 5.10.0)
  Depends: libqt5dbus5 (>= 5.6.0~beta)
  Depends: libqt5designer5 (>= 5.9.1)
  Depends: libqt5gui5 (>= 5.10.0)
  Depends: libqt5help5 (>= 5.9.1)
  Depends: libqt5network5 (>= 5.10.0)
  Depends: libqt5printsupport5 (>= 5.10.0)
  Depends: libqt5test5 (>= 5.6.0~beta)
  Depends: libqt5widgets5 (>= 5.10.0)
  Depends: libqt5xml5 (>= 5.1.0)
  Depends: libstdc++6 (>= 5)
  Depends: python3 (>= 3.6~)
  Depends: python3:any (>= 3.3.2-2~)
  Depends: qtbase-abi-5-10-0
  Depends: sip-py3api-12.4
libc6
  Depends: libgcc1
libgcc1                                                                                                                                                                                                                                                                                                                                                                                             
  Depends: gcc-8-base (= 8-20180414-1)                                                                                                                                                                                                                                                                                                                                                              
  Depends: libc6 (>= 2.14)                                                                                                                                                                                                                                                                                                                                                                          
gcc-8-base                                                                                                                                                                                                                                                                                                                                                                                          
libpython3.6                                                                                                                                                                                                                                                                                                                                                                                        
  Depends: libc6 (>= 2.25)                                                                                                                                                                                                                                                                                                                                                                          
  Depends: libexpat1 (>= 2.1~beta3)                                                                                                                                                                                                                                                                                                                                                                 
  Depends: libpython3.6-stdlib (= 3.6.5-3)
  Depends: zlib1g (>= 1:1.2.0)
libexpat1
  Depends: libc6 (>= 2.25)
libpython3.6-stdlib
  Depends: libbz2-1.0
  Depends: libc6 (>= 2.15)
  Depends: libdb5.3
  Depends: libffi6 (>= 3.0.4)
  Depends: liblzma5 (>= 5.1.1alpha+20120614)
  Depends: libmpdec2
  Depends: libncursesw5 (>= 6)
  Depends: libpython3.6-minimal (= 3.6.5-3)
  Depends: libreadline7 (>= 7.0~beta)
  Depends: libsqlite3-0 (>= 3.5.9)
  Depends: libtinfo5 (>= 6)
  Depends: mime-support
libbz2-1.0
  Depends: libc6 (>= 2.4)
libdb5.3
  Depends: libc6 (>= 2.17)
libffi6
  Depends: libc6 (>= 2.14)
liblzma5
  Depends: libc6 (>= 2.17)
libmpdec2
  Depends: libc6 (>= 2.14)
libncursesw5
  Depends: libc6 (>= 2.14)
  Depends: libtinfo5 (= 6.1-1)
libtinfo5
  Depends: libc6 (>= 2.16)
libpython3.6-minimal
  Depends: libc6 (>= 2.14)
  Depends: libssl1.1 (>= 1.1.0)
libssl1.1
  Depends: debconf (>= 0.5)
  Depends: debconf-2.0
  Depends: libc6 (>= 2.14)
debconf
  PreDepends: perl-base (>= 5.20.1-3~)
perl-base
  PreDepends: dpkg (>= 1.17.17)
  PreDepends: libc6 (>= 2.23)
dpkg
  Depends: tar (>= 1.28-1)
  PreDepends: libbz2-1.0
  PreDepends: libc6 (>= 2.14)
  PreDepends: liblzma5 (>= 5.2.2)
  PreDepends: libselinux1 (>= 2.3)
  PreDepends: zlib1g (>= 1:1.1.4)
tar
  PreDepends: libacl1 (>= 2.2.51-8)
  PreDepends: libc6 (>= 2.17)
  PreDepends: libselinux1 (>= 1.32)
libacl1
  Depends: libattr1 (>= 1:2.4.46-8)
  Depends: libc6 (>= 2.14)
libattr1
  Depends: libc6 (>= 2.4)
libselinux1
  Depends: libc6 (>= 2.14)
  Depends: libpcre3
libpcre3
  Depends: libc6 (>= 2.14)
zlib1g
  Depends: libc6 (>= 2.14)
debconf-2.0
libreadline7
  Depends: libc6 (>= 2.15)
  Depends: libtinfo5 (>= 6)
  Depends: readline-common
readline-common
  Depends: dpkg (>= 1.15.4)
  Depends: install-info
install-info
  Depends: libc6 (>= 2.14)
  PreDepends: dpkg (>= 1.16.1)
libsqlite3-0
  Depends: libc6 (>= 2.14)
mime-support
libqt5core5a
  Depends: libc6 (>= 2.25)
  Depends: libdouble-conversion1 (>= 2.0.0)
  Depends: libgcc1 (>= 1:3.4)
  Depends: libglib2.0-0 (>= 2.22.0)
  Depends: libicu57 (>= 57.1-1~)
  Depends: libpcre2-16-0 (>= 10.31)
  Depends: libstdc++6 (>= 5)
  Depends: zlib1g (>= 1:1.1.4)
libdouble-conversion1
  Depends: libc6 (>= 2.4)
  Depends: libstdc++6 (>= 4.1.1)
libstdc++6
  Depends: gcc-8-base (= 8-20180414-1)
  Depends: libc6 (>= 2.18)
  Depends: libgcc1 (>= 1:4.2)
libglib2.0-0
  Depends: libc6 (>= 2.17)
  Depends: libffi6 (>= 3.0.4)
  Depends: libmount1 (>= 2.19.1)
  Depends: libpcre3
  Depends: libselinux1 (>= 1.32)
  Depends: zlib1g (>= 1:1.2.2)
libmount1
  Depends: libblkid1 (>= 2.17.2)
  Depends: libc6 (>= 2.25)
  Depends: libselinux1 (>= 2.6-3~)
libblkid1
  Depends: libc6 (>= 2.25)
  Depends: libuuid1 (>= 2.16)
libuuid1
  Depends: libc6 (>= 2.25)
libicu57
  Depends: libc6 (>= 2.14)
  Depends: libgcc1 (>= 1:3.0)
  Depends: libstdc++6 (>= 5.2)
libpcre2-16-0
  Depends: libc6 (>= 2.14)
libqt5dbus5
  Depends: libc6 (>= 2.14)
  Depends: libdbus-1-3 (>= 1.9.14)
  Depends: libqt5core5a (>= 5.10.0)
  Depends: libstdc++6 (>= 5)
  Depends: qtbase-abi-5-10-0
libdbus-1-3
  Depends: libc6 (>= 2.17)
  Depends: libsystemd0
libsystemd0
  PreDepends: libc6 (>= 2.27)
  PreDepends: libgcrypt20 (>= 1.8.0)
  PreDepends: liblz4-1 (>= 0.0~r113)
  PreDepends: liblzma5 (>= 5.1.1alpha+20120614)
libgcrypt20
  Depends: libc6 (>= 2.15)
  Depends: libgpg-error0 (>= 1.25)
libgpg-error0
  Depends: libc6 (>= 2.15)
liblz4-1
  Depends: libc6 (>= 2.14)
qtbase-abi-5-10-0
libqt5designer5
  Depends: libc6 (>= 2.14)
  Depends: libqt5core5a (>= 5.10.0)
  Depends: libqt5gui5 (>= 5.7.0)
  Depends: libqt5widgets5 (>= 5.10.0)
  Depends: libqt5xml5 (>= 5.0.2)
  Depends: libstdc++6 (>= 5)
  Depends: qtbase-abi-5-10-0
libqt5gui5
  Depends: fontconfig
  Depends: libc6 (>= 2.14)
  Depends: libdrm2 (>= 2.4.30)
  Depends: libegl1
  Depends: libfontconfig1 (>= 2.12)
  Depends: libfreetype6 (>= 2.6)
  Depends: libgbm1 (>= 8.1~0)
  Depends: libgcc1 (>= 1:3.4)
  Depends: libgl1
  Depends: libharfbuzz0b (>= 1.2.6)
  Depends: libice6 (>= 1:1.0.0)
  Depends: libinput10 (>= 0.15.0)
  Depends: libjpeg62-turbo (>= 1.3.1)
  Depends: libmtdev1 (>= 1.0.8)
  Depends: libpng16-16 (>= 1.6.2-1)
  Depends: libqt5core5a (>= 5.10.0)
  Depends: libqt5dbus5 (>= 5.0.2)
  Depends: libqt5network5 (>= 5.0.2)
  Depends: libsm6
  Depends: libstdc++6 (>= 5)
  Depends: libudev1 (>= 183)
  Depends: libx11-6
  Depends: libx11-xcb1
  Depends: libxcb-glx0
  Depends: libxcb-icccm4 (>= 0.4.1)
  Depends: libxcb-image0 (>= 0.2.1)
  Depends: libxcb-keysyms1 (>= 0.4.0)
  Depends: libxcb-randr0 (>= 1.3)
  Depends: libxcb-render-util0
  Depends: libxcb-render0
  Depends: libxcb-shape0
  Depends: libxcb-shm0
  Depends: libxcb-sync1
  Depends: libxcb-xfixes0
  Depends: libxcb-xinerama0
  Depends: libxcb-xkb1
  Depends: libxcb1 (>= 1.8)
  Depends: libxi6 (>= 2:1.5.99.2)
  Depends: libxkbcommon-x11-0 (>= 0.5.0)
  Depends: libxkbcommon0 (>= 0.5.0)
  Depends: libxrender1
  Depends: qtbase-abi-5-10-0
  Depends: zlib1g (>= 1:1.1.4)
fontconfig
  Depends: fontconfig-config
  Depends: libc6 (>= 2.4)
  Depends: libfontconfig1 (>= 2.13.0)
  Depends: libfreetype6 (>= 2.2.1)
fontconfig-config
  Depends: debconf (>= 0.5)
  Depends: debconf-2.0
  Depends: fonts-dejavu-core
  Depends: fonts-freefont
  Depends: fonts-liberation
  Depends: ttf-bitstream-vera
  Depends: ucf (>= 0.29)
fonts-dejavu-core
fonts-freefont
fonts-liberation
ttf-bitstream-vera
ucf
  Depends: coreutils (>= 5.91)
  Depends: debconf (>= 1.5.19)
  Depends: sensible-utils
coreutils
  PreDepends: libacl1 (>= 2.2.51-8)
  PreDepends: libattr1 (>= 1:2.4.46-8)
  PreDepends: libc6 (>= 2.17)
  PreDepends: libselinux1 (>= 2.1.13)
sensible-utils
libfontconfig1
  Depends: fontconfig-config (>= 2.13.0-4)
  Depends: libc6 (>= 2.14)
  Depends: libexpat1 (>= 2.0.1)
  Depends: libfreetype6 (>= 2.3.9)
  Depends: libuuid1 (>= 2.16)
libfreetype6
  Depends: libc6 (>= 2.14)
  Depends: libpng16-16 (>= 1.6.2-1)
  Depends: zlib1g (>= 1:1.1.4)
libpng16-16
  Depends: libc6 (>= 2.14)
  Depends: zlib1g (>= 1:1.2.3.4)
libdrm2
  Depends: libc6 (>= 2.17)
  Depends: libdrm-common (>= 2.4.91-2)
libdrm-common
libegl1
  Depends: libc6 (>= 2.14)
  Depends: libegl-mesa0
  Depends: libegl-vendor
  Depends: libglvnd0 (= 1.0.0+git20180308-1)
libegl-mesa0
  Depends: libc6 (>= 2.17)
  Depends: libdrm2 (>= 2.4.75)
  Depends: libexpat1 (>= 2.0.1)
  Depends: libgbm1 (= 18.0.0-1)
  Depends: libglapi-mesa
  Depends: libwayland-client0 (>= 1.11.0)
  Depends: libwayland-server0 (>= 1.11.0)
  Depends: libx11-6
  Depends: libx11-xcb1
  Depends: libxcb-dri2-0 (>= 1.8)
  Depends: libxcb-dri3-0
  Depends: libxcb-present0
  Depends: libxcb-sync1
  Depends: libxcb-xfixes0
  Depends: libxcb1 (>= 1.9.2)
  Depends: libxshmfence1
  Depends: zlib1g (>= 1:1.1.4)
libgbm1
  Depends: libc6 (>= 2.14)
  Depends: libdrm2 (>= 2.4.75)
  Depends: libexpat1 (>= 2.0.1)
  Depends: libwayland-server0 (>= 1.11.0)
  Depends: zlib1g (>= 1:1.1.4)
libwayland-server0
  Depends: libc6 (>= 2.14)
  Depends: libffi6 (>= 3.0.4)
libglapi-mesa
  Depends: libc6 (>= 2.14)
libwayland-client0
  Depends: libc6 (>= 2.14)
  Depends: libffi6 (>= 3.0.4)
libx11-6
  Depends: libc6 (>= 2.15)
  Depends: libx11-data
  Depends: libxcb1 (>= 1.11.1)
libx11-data
libxcb1
  Depends: libc6 (>= 2.14)
  Depends: libxau6
  Depends: libxdmcp6
libxau6
  Depends: libc6 (>= 2.4)
libxdmcp6
  Depends: libbsd0 (>= 0.2.0)
  Depends: libc6 (>= 2.4)
libbsd0
  Depends: libc6 (>= 2.25)
libx11-xcb1
  Depends: libc6 (>= 2.2.5)
libxcb-dri2-0
  Depends: libc6 (>= 2.4)
  Depends: libxcb1
libxcb-dri3-0
  Depends: libc6 (>= 2.4)
  Depends: libxcb1 (>= 1.12)
libxcb-present0
  Depends: libc6 (>= 2.4)
  Depends: libxcb1
libxcb-sync1
  Depends: libc6 (>= 2.14)
  Depends: libxcb1
libxcb-xfixes0
  Depends: libc6 (>= 2.4)
  Depends: libxcb1
libxshmfence1
  Depends: libc6 (>= 2.27)
libegl-vendor
libglvnd0
  Depends: libc6 (>= 2.14)
libgl1
  Depends: libc6 (>= 2.14)
  Depends: libglvnd0 (= 1.0.0+git20180308-1)
  Depends: libglx0 (= 1.0.0+git20180308-1)
libglx0
  Depends: libc6 (>= 2.14)
  Depends: libglvnd0 (= 1.0.0+git20180308-1)
  Depends: libglx-mesa0
  Depends: libglx-vendor
  Depends: libx11-6 (>= 2:1.4.99.1)
  Depends: libxext6
libglx-mesa0
  Depends: libc6 (>= 2.14)
  Depends: libdrm2 (>= 2.4.75)
  Depends: libexpat1 (>= 2.0.1)
  Depends: libgl1-mesa-dri
  Depends: libglapi-mesa (= 18.0.0-1)
  Depends: libx11-6 (>= 2:1.4.99.1)
  Depends: libx11-xcb1
  Depends: libxcb-dri2-0 (>= 1.8)
  Depends: libxcb-dri3-0
  Depends: libxcb-glx0 (>= 1.8)
  Depends: libxcb-present0
  Depends: libxcb-sync1
  Depends: libxcb-xfixes0
  Depends: libxcb1 (>= 1.9.2)
  Depends: libxdamage1 (>= 1:1.1)
  Depends: libxext6
  Depends: libxfixes3
  Depends: libxshmfence1
  Depends: libxxf86vm1
  Depends: zlib1g (>= 1:1.1.4)
libgl1-mesa-dri
  Depends: libc6 (>= 2.27)
  Depends: libdrm-amdgpu1 (>= 2.4.89)
  Depends: libdrm-intel1 (>= 2.4.38)
  Depends: libdrm-nouveau2 (>= 2.4.66)
  Depends: libdrm-radeon1 (>= 2.4.31)
  Depends: libdrm2 (>= 2.4.75)
  Depends: libelf1 (>= 0.142)
  Depends: libexpat1 (>= 2.0.1)
  Depends: libgcc1 (>= 1:3.4)
  Depends: libglapi-mesa
  Depends: libllvm6.0 (>= 1:6.0~svn298832-1~)
  Depends: libsensors4 (>= 1:3.0.0)
  Depends: libstdc++6 (>= 5.2)
  Depends: zlib1g (>= 1:1.1.4)
libdrm-amdgpu1
  Depends: libc6 (>= 2.17)
  Depends: libdrm2 (>= 2.4.89)
libdrm-intel1
  Depends: libc6 (>= 2.17)
  Depends: libdrm2 (>= 2.4.38)
  Depends: libpciaccess0
libpciaccess0
  Depends: libc6 (>= 2.7)
  Depends: zlib1g (>= 1:1.1.4)
libdrm-nouveau2
  Depends: libc6 (>= 2.14)
  Depends: libdrm2 (>= 2.4.38)
libdrm-radeon1
  Depends: libc6 (>= 2.4)
  Depends: libdrm2 (>= 2.4.38)
libelf1
  Depends: libc6 (>= 2.14)
  Depends: zlib1g (>= 1:1.1.4)
libllvm6.0
  Depends: libc6 (>= 2.15)
  Depends: libedit2 (>= 2.11-20080614)
  Depends: libffi6 (>= 3.0.4)
  Depends: libgcc1 (>= 1:3.4)
  Depends: libstdc++6 (>= 6)
  Depends: libtinfo5 (>= 6)
  Depends: zlib1g (>= 1:1.2.0)
libedit2
  Depends: libbsd0 (>= 0.0)
  Depends: libc6 (>= 2.17)
  Depends: libncurses5 (>= 6)
  Depends: libtinfo5 (>= 6)
libncurses5
  Depends: libc6 (>= 2.14)
  Depends: libtinfo5 (= 6.1-1)
libsensors4
  Depends: libc6 (>= 2.14)
libxcb-glx0
  Depends: libc6 (>= 2.4)
  Depends: libxcb1
libxdamage1
  Depends: libc6 (>= 2.4)
  Depends: libx11-6 (>= 2:1.4.99.1)
  Depends: libxfixes3
libxfixes3
  Depends: libc6 (>= 2.14)
  Depends: libx11-6 (>= 2:1.6.0)
libxext6
  Depends: libc6 (>= 2.14)
  Depends: libx11-6 (>= 2:1.6.0)
libxxf86vm1
  Depends: libc6 (>= 2.4)
  Depends: libx11-6 (>= 2:1.6.0)
  Depends: libxext6
libglx-vendor
libharfbuzz0b
  Depends: libc6 (>= 2.14)
  Depends: libfreetype6 (>= 2.7.1)
  Depends: libglib2.0-0 (>= 2.31.8)
  Depends: libgraphite2-3 (>= 1.2.2)
libgraphite2-3
  Depends: libc6 (>= 2.14)
libice6
  Depends: libbsd0 (>= 0.2.0)
  Depends: libc6 (>= 2.14)
  Depends: x11-common
x11-common
  Depends: lsb-base (>= 1.3-9ubuntu2)
lsb-base
libinput10
  Depends: libc6 (>= 2.9)
  Depends: libevdev2 (>= 1.3)
  Depends: libinput-bin (>= 1.10.4-1)
  Depends: libmtdev1 (>= 1.1.0)
  Depends: libudev1 (>= 183)
  Depends: libwacom2 (>= 0.20)
libevdev2
  Depends: libc6 (>= 2.14)
libinput-bin
  Depends: libc6 (>= 2.4)
  Depends: libudev1 (>= 183)
  Depends: libwacom2 (>= 0.22)
libudev1
  Depends: libc6 (>= 2.26)
libwacom2
  Depends: libc6 (>= 2.8)
  Depends: libglib2.0-0 (>= 2.24.0)
  Depends: libgudev-1.0-0 (>= 146)
  Depends: libwacom-common (= 0.29-1)
libgudev-1.0-0
  Depends: libc6 (>= 2.4)
  Depends: libglib2.0-0 (>= 2.37.3)
  Depends: libudev1 (>= 199)
libwacom-common
libmtdev1
  Depends: libc6 (>= 2.4)
libjpeg62-turbo
  Depends: libc6 (>= 2.14)
libqt5network5
  Depends: libc6 (>= 2.14)
  Depends: libqt5core5a (>= 5.10.0)
  Depends: libqt5dbus5 (>= 5.0.2)
  Depends: libssl1.1
  Depends: libstdc++6 (>= 5)
  Depends: qtbase-abi-5-10-0
  Depends: zlib1g (>= 1:1.1.4)
libsm6
  Depends: libc6 (>= 2.14)
  Depends: libice6 (>= 1:1.0.0)
  Depends: libuuid1 (>= 2.16)
libxcb-icccm4
  Depends: libc6 (>= 2.14)
  Depends: libxcb1
libxcb-image0
  Depends: libc6 (>= 2.14)
  Depends: libxcb-shm0
  Depends: libxcb-util0 (>= 0.3.8)
  Depends: libxcb1
libxcb-shm0
  Depends: libc6 (>= 2.4)
  Depends: libxcb1 (>= 1.12)
libxcb-util0
  Depends: libc6 (>= 2.8)
  Depends: libxcb1
libxcb-keysyms1
  Depends: libc6 (>= 2.2.5)
  Depends: libxcb1
libxcb-randr0
  Depends: libc6 (>= 2.4)
  Depends: libxcb1 (>= 1.9.2)
libxcb-render-util0
  Depends: libc6 (>= 2.4)
  Depends: libxcb-render0
  Depends: libxcb1
libxcb-render0
  Depends: libc6 (>= 2.14)
  Depends: libxcb1 (>= 1.8)
libxcb-shape0
  Depends: libc6 (>= 2.4)
  Depends: libxcb1
libxcb-xinerama0
  Depends: libc6 (>= 2.4)
  Depends: libxcb1
libxcb-xkb1
  Depends: libc6 (>= 2.14)
  Depends: libxcb1
libxi6
  Depends: libc6 (>= 2.14)
  Depends: libx11-6 (>= 2:1.6.0)
  Depends: libxext6
libxkbcommon-x11-0
  Depends: libc6 (>= 2.17)
  Depends: libxcb-xkb1
  Depends: libxcb1 (>= 1.6)
  Depends: libxkbcommon0 (= 0.8.0-1)
libxkbcommon0
  Depends: libc6 (>= 2.17)
  Depends: xkb-data
xkb-data
libxrender1
  Depends: libc6 (>= 2.14)
  Depends: libx11-6 (>= 2:1.6.0)
libqt5widgets5
  Depends: libc6 (>= 2.14)
  Depends: libqt5core5a (>= 5.10.0)
  Depends: libqt5gui5 (>= 5.10.0)
  Depends: libstdc++6 (>= 5)
  Depends: qtbase-abi-5-10-0
libqt5xml5
  Depends: libc6 (>= 2.14)
  Depends: libqt5core5a (>= 5.10.0)
  Depends: libstdc++6 (>= 5)
  Depends: qtbase-abi-5-10-0
libqt5help5
  Depends: libc6 (>= 2.14)
  Depends: libqt5core5a (>= 5.10.0)
  Depends: libqt5gui5 (>= 5.0.2)
  Depends: libqt5sql5 (>= 5.3.0)
  Depends: libqt5widgets5 (>= 5.6.0~beta)
  Depends: libstdc++6 (>= 5)
libqt5sql5
  Depends: libc6 (>= 2.14)
  Depends: libqt5core5a (>= 5.10.0)
  Depends: libstdc++6 (>= 5)
  Depends: qtbase-abi-5-10-0
libqt5printsupport5
  Depends: libc6 (>= 2.14)
  Depends: libcups2 (>= 1.4.0)
  Depends: libqt5core5a (>= 5.10.0)
  Depends: libqt5gui5 (>= 5.10.0)
  Depends: libqt5widgets5 (>= 5.7.0)
  Depends: libstdc++6 (>= 5)
  Depends: qtbase-abi-5-10-0
libcups2
  Depends: libavahi-client3 (>= 0.6.16)
  Depends: libavahi-common3 (>= 0.6.16)
  Depends: libc6 (>= 2.17)
  Depends: libgnutls30 (>= 3.5.6)
  Depends: libgssapi-krb5-2 (>= 1.14+dfsg)
  Depends: zlib1g (>= 1:1.2.0)
libavahi-client3
  Depends: libavahi-common3 (>= 0.6.22)
  Depends: libc6 (>= 2.4)
  Depends: libdbus-1-3 (>= 1.9.14)
libavahi-common3
  Depends: libavahi-common-data
  Depends: libc6 (>= 2.14)
libavahi-common-data
libgnutls30
  Depends: libc6 (>= 2.25)
  Depends: libgmp10 (>= 2:6)
  Depends: libhogweed4
  Depends: libidn2-0 (>= 0.6)
  Depends: libnettle6
  Depends: libp11-kit0 (>= 0.23.1)
  Depends: libtasn1-6 (>= 4.12)
  Depends: libunistring2 (>= 0.9.7)
  Depends: zlib1g (>= 1:1.1.4)
libgmp10
  Depends: libc6 (>= 2.14)
libhogweed4
  Depends: libc6 (>= 2.14)
  Depends: libgmp10 (>= 2:6.0.0)
  Depends: libnettle6 (= 3.4-1)
libnettle6
  Depends: libc6 (>= 2.14)
libidn2-0
  Depends: libc6 (>= 2.14)
  Depends: libunistring2 (>= 0.9.7)
libunistring2
  Depends: libc6 (>= 2.14)
libp11-kit0
  Depends: libc6 (>= 2.26)
  Depends: libffi6 (>= 3.0.4)
libtasn1-6
  Depends: libc6 (>= 2.14)
libgssapi-krb5-2
  Depends: libc6 (>= 2.14)
  Depends: libcomerr2 (>= 1.34)
  Depends: libk5crypto3 (>= 1.16)
  Depends: libkeyutils1 (>= 1.4)
  Depends: libkrb5-3 (= 1.16-2)
  Depends: libkrb5support0 (>= 1.15~beta1)
libcomerr2
  Depends: libcom-err2
libcom-err2
  Depends: libc6 (>= 2.17)
libk5crypto3
  Depends: libc6 (>= 2.14)
  Depends: libkeyutils1 (>= 1.4)
  Depends: libkrb5support0 (>= 1.16)
libkeyutils1
  Depends: libc6 (>= 2.14)
libkrb5support0
  Depends: libc6 (>= 2.14)
  Depends: libkeyutils1 (>= 1.4)
libkrb5-3
  Depends: libc6 (>= 2.16)
  Depends: libcomerr2 (>= 1.34)
  Depends: libk5crypto3 (>= 1.15~beta1)
  Depends: libkeyutils1 (>= 1.5.9)
  Depends: libkrb5support0 (= 1.16-2)
libqt5test5
  Depends: libc6 (>= 2.14)
  Depends: libgcc1 (>= 1:3.0)
  Depends: libqt5core5a (>= 5.10.0)
  Depends: libstdc++6 (>= 5)
python3
  Depends: libpython3-stdlib (= 3.6.5-3)
  Depends: python3.6 (>= 3.6.5-2~)
  PreDepends: python3-minimal (= 3.6.5-3)
libpython3-stdlib
  Depends: libpython3.6-stdlib (>= 3.6.5-2~)
python3.6
  Depends: libpython3.6-stdlib (= 3.6.5-3)
  Depends: mime-support
  Depends: python3.6-minimal (= 3.6.5-3)
python3.6-minimal
  Depends: libexpat1 (>= 2.1~beta3)
  Depends: libpython3.6-minimal (= 3.6.5-3)
  Depends: zlib1g (>= 1:1.2.0)
  PreDepends: libc6 (>= 2.25)
python3-minimal
  Depends: dpkg (>= 1.13.20)
  Depends: python3.6-minimal (>= 3.6.5-2~)
python3:any
sip-py3api-12.4

133 (edited by unalcalde 2018-04-16 10:28:35)

Re: Ideas to solve Terminal Blocks creation

Hi. I attach v1.0.1.alpha to check the usability.

For now:
- tested with version 0.7 of QET documents, but will work with version 0.6 too.
- creates a tab for every terminal block
- 4 columns can be edited:
  - Terminal position
  - Terminal type (STANDARD, GROUND or FUSE)
  - CABLE
  - CABLE's CONDUCTOR 
- This 4 fields can be modified as always (left clicking and writing) or by right click (auto-fill)
- The button SAVE save changes creating a diferent QET project file (to avoid losing data in testing versions)
- Al the info is saved in the 'function' field.
- Opening a previosly save QET project, the terminals info are readed.
- Runing 'python3 qet_tb.py' without parameters, a file dialog appears to select a project.
- Is possible to run specifying a projet: 'python3 qet_tb.py examples/basic.qet'

https://preview.ibb.co/eywjRn/qettb_1_0_1_alpha.gif


@Scorpio; The 0.xx version used QT, and a lod of dependencies are required. This new version almost always no require dependencies.

@b.w.v.leeuwen: I saved the pictures as a reference. Thanks.

Post's attachments

Attachment icon QET_TB_1.0.1.alpha.zip 18.78 kb, 162 downloads since 2018-04-16 

Re: Ideas to solve Terminal Blocks creation

I save my project to latest 0.7 devel svn , if it can help you :


laurent@debian:/media/backup6/download/v1.0.0.alpha$ python3 qet_tb.py /home/laurent/Documents/LAURENT/schemas/gestion-defib/gestion-defib-18-02-23-RR6.qet
Traceback (most recent call last):
 File "qet_tb.py", line 1050, in <module>
   main()
 File "qet_tb.py", line 1036, in main
   qet_termials_used = qet_project.get_list_of_used_terminals()
 File "qet_tb.py", line 307, in get_list_of_used_terminals
   if self._isValidTerminal(element):
 File "qet_tb.py", line 194, in _isValidTerminal
   if re.search(':', self._getElementName(element)):
 File "qet_tb.py", line 145, in _getElementName
   for t in element.find('elementInformations').findall('elementInformation'):
AttributeError: 'NoneType' object has no attribute 'findall'
[18:56:21] laurent@debian:/media/backup6/download/v1.0.0.alpha$

I paste two folios in your example, seems to work, I think program crash with a lot of terminal in my project?

https://download.tuxfamily.org/qet/forum_img/v1.0.1alpha.png

Re: Ideas to solve Terminal Blocks creation

I'm going to:
1. Split large terminal blocks. If a term. block has more then 40 terminals it will be split into a several terminal blocks.
2. Order terminals by default by the ID columns if not POS is specified.

@scorpio: Can you send me a email with the sample project that crashed? Thanks.

Re: Ideas to solve Terminal Blocks creation

@unalcade : sending files by email, done, but sending here too.
~ 13 terminals block.

This is not the last version of the project, i forgot to get it back to my job tonight.


Thanks.

Edit :


[16:31:37] laurent@debian:/media/backup6/download/v1.0.0.alpha$ python3 qet_tb.py /home/laurent/Documents/LAURENT/schemas/gestion-defib/gestion-defib-18-01-26.qet  
Traceback (most recent call last):
 File "qet_tb.py", line 1050, in <module>
   main()
 File "qet_tb.py", line 1036, in main
   qet_termials_used = qet_project.get_list_of_used_terminals()
 File "qet_tb.py", line 307, in get_list_of_used_terminals
   if self._isValidTerminal(element):
 File "qet_tb.py", line 194, in _isValidTerminal
   if re.search(':', self._getElementName(element)):
 File "/usr/lib/python3.6/re.py", line 182, in search
   return _compile(pattern, flags).search(string)
TypeError: expected string or bytes-like object

[16:32:46] laurent@debian:/media/backup6/download/v1.0.0.alpha$ python3 qet_tb.py /home/laurent/Documents/LAURENT/schemas/gestion-defib/gestion-defib-18-02-23-RR6_latest_0.7_svn.qet  
Traceback (most recent call last):
 File "qet_tb.py", line 1050, in <module>
   main()
 File "qet_tb.py", line 1036, in main
   qet_termials_used = qet_project.get_list_of_used_terminals()
 File "qet_tb.py", line 307, in get_list_of_used_terminals
   if self._isValidTerminal(element):
 File "qet_tb.py", line 194, in _isValidTerminal
   if re.search(':', self._getElementName(element)):
 File "qet_tb.py", line 145, in _getElementName
   for t in element.find('elementInformations').findall('elementInformation'):
AttributeError: 'NoneType' object has no attribute 'findall'

Post's attachments

Attachment icon gestion-defib-18-01-26.zip 603.62 kb, 160 downloads since 2018-04-17 

Attachment icon gestion-defib-18-02-23-RR6_latest_0.7_svn.zip 662.61 kb, 152 downloads since 2018-04-17 

Re: Ideas to solve Terminal Blocks creation

How to start new plugin after intallation ?

Re: Ideas to solve Terminal Blocks creation

galexis wrote:

How to start new plugin after intallation ?

v1.0.1.alpha is only a preview version to check the usability.


On your v1.0.1.alpha folder run
python3 qet_tb.py path to your project


Like me :


laurent@debian:/media/backup6/download/v1.0.0.alpha$ python3 qet_tb.py /home/laurent/Documents/LAURENT/schemas/gestion-defib/gestion-defib-18-02-23-RR6_latest_0.7_svn.qet  

Re: Ideas to solve Terminal Blocks creation

unalcade wrote:

@Scorpio; The 0.xx version used QT, and a lod of dependencies are required. This new version almost always no require dependencies.

Afaik, isn't a problem for users, by example for Debian/Ubuntu/mint, etc : It's only require python3-pyqt5 (15,7 MB), qet_tb_generator (153 kB) with deb packages, and also QET need Qt 5 libs for run.

After if you think is more easy for you to develop your plugin with Qt 5 python libs you can keep on.

apt-cache show python3-pyqt5
Package: python3-pyqt5
Source: pyqt5
Version: 5.10.1+dfsg-1
Installed-Size: 15371
Maintainer: Debian Python Modules Team <python-modules-team@lists.alioth.debian.org>
Architecture: amd64
Depends: python3 (<< 3.7), python3 (>= 3.6~), python3:any (>= 3.3.2-2~), libc6 (>= 2.14), libgcc1 (>= 1:3.0), libpython3.6 (>= 3.6.4~rc1), libqt5core5a (>= 5.10.0), libqt5dbus5 (>= 5.6.0~beta), libqt5designer5 (>= 5.9.1), libqt5gui5 (>= 5.10.0), libqt5help5 (>= 5.9.1), libqt5network5 (>= 5.10.0), libqt5printsupport5 (>= 5.10.0), libqt5test5 (>= 5.6.0~beta), libqt5widgets5 (>= 5.10.0),
libqt5xml5 (>= 5.1.0), libstdc++6 (>= 5), qtbase-abi-5-10-0, sip-py3api-12.4
Suggests: python3-pyqt5-dbg
Description-en: Python 3 bindings for Qt5
PyQt5 exposes the Qt5 API to Python 3. This package contains the following
modules:
 * QtCore
 * QtDBus
 * QtDesigner
 * QtGui
 * QtHelp
 * QtNetwork
 * QtPrintSupport
 * QtTest
 * QtWidgets
 * QtXml
Description-md5: fbb6f230f704ef45fbf057abc0d8bdba
Homepage: http://www.riverbankcomputing.co.uk/software/pyqt/
Tag: uitoolkit::qt
Section: python
Priority: optional
Filename: pool/main/p/pyqt5/python3-pyqt5_5.10.1+dfsg-1_amd64.deb
Size: 2287068
MD5sum: 23bb98e1a89d6b771f862f5425fdb02b
SHA256: 2c511f097fd997f1ec0efb7594db3169d2a3bc670ab55b1b77a6c31b54bcb8a2

140 (edited by unalcalde 2018-04-27 19:14:59)

Re: Ideas to solve Terminal Blocks creation

Hi. I've attached version 1.0.2.alpha.

What is working for now:
- opening a complex project is possible
- splits a terminal block strip into segments of 30 terminal blocks. Every segment is showed in a different tab.
- is possible to edit the columns: POS, TYPE (standard, ground, fuse), CABLE (-W1,...), CABLE COND (color o number of the conductor in the CABLE)
- is possible to SAVE the modifications and opening again preserving data.
- the terminals in a terminal block strip are sorted by the next columns: POSITION, CABLE, CABLE_COND and  TERMINAL NAME.

What is coming:
- after edit fields (position, cable, cable conductor,...), pressing the button REFRESH, will show ther terminals in a new order (according of the edited data)
- pressing the button DRAW will generate, in the personal library of QET, a new element for every TAB.

Post's attachments

Attachment icon qet_tb_1.0.2.alpha.py 44.51 kb, 332 downloads since 2018-04-27 

Re: Ideas to solve Terminal Blocks creation

Nice, thanks !
Wait to see more. ;-) 

142 (edited by b.w.v.leeuwen 2018-04-30 12:10:00)

Re: Ideas to solve Terminal Blocks creation

Nice indeed, but when loading terminals which have no terminal number (but do have a terminal Id) the script fails to see them. It would be nice to have a possibility when making the drawing just to enter the information to what terminal box the terminals belong (X1, X2, X3 etc). The script will insert them following the order in which they are placed (Page, Column, Row). Than a auto-numbering option might number all the separate terminals (X1:1, X1:2, X1:3 etc, X2:1, X2:2, X2:3 etc, X3:1, X3:2, X3:3 etc).
When there are pre-defined terminals (e.g. X2:5), these ones will be frozen by default (kept while numbering the terminals). An option might be to renumber the whole terminal box, or defreeze separate terminals.

Another nice option might be to use the location field. When the "location"-field is empty it is similar to the "location" of the Folio. When the "location" field of the element defers from the location of the Folio, the terminal is an external terminal. The same is true for elements that are connected with. A terminal might be connected internal with a relay contact. Both the location filed of the terminal and the location field of the relay-contact are empty. This means that it is an internal connection. At the other side of the terminal we have a motor connected. The location field of the motor is "+Roof" and thus defers from the location of the terminal. His means that this connection is an External connection.
The motor might have a Function-description, like "Ventilator 1". This field might be used to fill out a "comment" field for use in the terminal box.
When there are two or more external connections, they might be added to the string, separated by a comma (e.g. Ventilatior 1, Ventilator 2).

Post's attachments

1_diagram.png, 27.05 kb, 1430 x 990
1_diagram.png 27.05 kb, 132 downloads since 2018-04-30 

143 (edited by unalcalde 2018-05-04 12:25:00)

Re: Ideas to solve Terminal Blocks creation

Hi.
This new alpha 1.0.3 allows pressing REFRESH button and sorts terminals according the data edited in the columns  POS, CABLE and CABLE CONDUCTOR. A terminal block is divided into several segments (every segments fits on a page). Every segment is represented in a different tab. REFRESH works between segments. For efample, if the terminal block -X1 has 2 segments (-X1_1 and -X1_2) and you set POS = 1 for a terminal of the segment -X1_1, when you press REFRESH, this terminal goes to the -X1_1 segment.  

Next step, I'm going to start drawing the terminal blocks to import in QET.

Post's attachments

Attachment icon qet_tb_1.0.3.alpha.py 44.61 kb, 384 downloads since 2018-05-04 

Re: Ideas to solve Terminal Blocks creation

Hi, Unalcalde

you could  add a auto loop  when use right click on "TYPE " columns  like this  : GROUND, FUSE, STANDARD, GROUND, FUSE, STANDARD, etc ?

Thanks.

145 (edited by unalcalde 2018-05-13 22:20:20)

Re: Ideas to solve Terminal Blocks creation

Hi, I introduce the versión 1.0.4 alpha.
Now is able to "draw" the terminal blocks.

Remember: In the plugin's title bar appears the version.

The Terminal blocks appear in the "IMPORTED ELEMENTS" section:

https://image.ibb.co/f3nxBJ/qet_tb_1_0_4.jpg

To do:
* if not CABLE is indicated ( e.g. -X1, -X2,...) all terminals are draw as part of unique conductor. The next version will solve this.
* if you draw again the terminal blocks, creates duplicate elements. Next version will not duplicate elements.
* the QET file with the attributes edited in the plugin and the terminal blocks elements are save on a different file name. When works well, it will edit the current QET file.
* auto loop right clicking in TYPE column (good idea scorpio810)
* next version will draw the different terminal type: STANDARD, GROUND and FUSE.

Post's attachments

Attachment icon qet_tb.py 41.37 kb, 231 downloads since 2018-05-13 

Re: Ideas to solve Terminal Blocks creation

Latest qet_tb.py python script need python3-lxml package.
 When you launch command if you have this warning :

Traceback (most recent call last):
  File "qet_tb.py", line 31, in <module>
    import lxml.etree as etree  # python3-lxml
ModuleNotFoundError: No module named 'lxml'

Install python3-lxml 


Les paquets suivants ont été installés :
python3-bs4 (4.6.0-1)
python3-html5lib (0.999999999-1)
python3-lxml (4.2.1-1)
python3-webencodings (0.5-2)

147 (edited by unalcalde 2018-05-17 00:40:03)

Re: Ideas to solve Terminal Blocks creation

Hi, this new version (1.0.5) :
* doesn't require the module lxml.
* solves the problem drawing conductors that not belongs to any cable.
* right-clicking on Terminal type column loops 'STANDARD', 'GROUND' and FUSE.

Any design ideas for GROUND and FUSE terminals?

Post's attachments

Attachment icon qet_tb_1.0.5_alpha.py 43.3 kb, 132 downloads since 2018-05-16 

Re: Ideas to solve Terminal Blocks creation

Hi, 
just a little remark I preferred when the conductor text is placed in the left position.
Possible design.

https://download.tuxfamily.org/qet/forum_img/qt_tb_1.0.5_alpha.png
https://download.tuxfamily.org/qet/forum_img/qt_tb_1.0.5_alpha2.png

149 (edited by unalcalde 2018-05-19 01:19:52)

Re: Ideas to solve Terminal Blocks creation

Hi, this new version 1.0.6.alpha creates terminal blocks like:

https://image.ibb.co/jSPS5o/Pantallazo_2018_05_19_01_02_50.jpg
The conductors labels are on left side. A logo identifies the terminal type.
Please test the plug-in to fix errors.

For easy use, will be good if QET calls the plugin as: "qet_tb %f", where %f is the current project path.

To Do:
- draw bridges between terminals if have the same name or same north cable id
- add a checkbox the overwrite  or not, the terminal block config in the original qet file.
- check compatibility with QET 0.6
- uploads the project to pip repositories allowing a easy installation and auto-updates of the plug-in (as usual: pip3 install qet-tb-generator)

Post's attachments

Attachment icon qet_tb_1.0.6_alpha.py 46.45 kb, 143 downloads since 2018-05-18 

Re: Ideas to solve Terminal Blocks creation

Nice Raul, thanks.

you could add a informations for user, like progressbar, dialog, or "generating terminal blocks, please wait", when user click on button "create terminal blocks", thanks.