Giter VIP home page Giter VIP logo

qmxgraph's Introduction

QmxGraph

image

image

Documentation Status

This a Qt widget that embeds a rich and powerful graph drawing tool using JavaScript's mxGraph library, Qt WebEngine features from Qt 5.4.

Due to changes in mxgraph we are currently only supporting an old version of mxgraph (3.7.5).

qmxgraph's People

Contributors

arthursoprana avatar cauebs avatar codacy-badger avatar dettmerramon avatar fogo avatar nicoddemus avatar pre-commit-ci[bot] avatar prusse-martin avatar tarcisiofischer avatar tigarmo avatar williamjamir avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

qmxgraph's Issues

Publish documentation on readthedocs

  • Extract documentation from docstrings and publish on readthedocs;
  • Add proper install and usage instructions;
  • Craft a minimal complete example of the usage;
  • Fix documentation build;
  • Check and update examples;
  • Investigate a better layout for the "reference" section;
  • Improve in auto generated documentation;
  • Extent example list with ... (we should list more advanced features and create a item for each one);

Suggestion for new items are welcome.

Inquiry on QmxGraph documentation

Hello all. I am currently developing a Chemical Simulator diagramming application like draw.io using PyQt5. And found that there is a QmxGraph widget. I want to know that is there any documentation for this widget.

Update the selenuim web driver used to run javascript tests

After updating "prettier" pre-commit hook to "v3.0.0-alpha.0" PhantomJS started to fail parsing the javascript source due new trailing commas, the command line option --trailing-comma=none will avoid that.

We need:

  • Update the selenium web driver user to run tests (chromiun?);
    - or find out how to pass the trailing-comma flag via pre-commit hook;
    - or keep living using "prettier 2.7.1";

The trailing-comma option is being passed using the .prettierrc file.
Updating is relevant because newer qt support more recent javascript syntax support that can't be properly used because PhantomJS does not support it.

test_js_graph is flaky

Sometimes selenium is unable to connect to graph page before it timeouts, still not sure why.

JS tests are too slow

The problem seems to be that each tests connect to a new page through Selenium, which takes about 1 second or more. It seems it is necessary to find a way to load page just once and then instruct page to reset itself for subsequent tests.

Update the jobs to use the correct python version, and drop python 3.6

A part of the log for the "build (39)" (from #165)...

============================= test session starts ==============================
platform linux -- Python 3.6.15, pytest-6.2.5, py-1.11.0, pluggy-1.0.0 -- /usr/share/miniconda/envs/qmxgraph/bin/python
cachedir: .pytest_cache
PyQt5 5.12.3 -- Qt runtime 5.12.9 -- Qt compiled 5.12.9
metadata: {'Python': '3.6.15', 'Platform': 'Linux-5.15.0-1042-azure-x86_64-with-debian-bookworm-sid', 'Packages': {'pytest': '6.2.5', 'py': '1.11.0', 'pluggy': '1.0.0'}, 'Plugins': {'qt': '4.0.2', 'variables': '1.7.1', 'mock': '3.6.1', 'timeout': '2.1.0', 'xvfb': '2.0.0', 'rerunfailures': '10.3', 'hypothesis': '3.11.0', 'base-url': '1.4.1', 'metadata': '1.11.0', 'selenium': '1.17.0', 'html': '3.2.0', 'cov': '2.5.1'}, 'CI': 'true', 'JAVA_HOME': '/usr/lib/jvm/temurin-11-jdk-amd64', 'Base URL': '', 'Driver': 'PhantomJS', 'Capabilities': {}}

Note that it is running using python 3.6 and looks like most libraries are dropping support for it.

Failure because graph page wasn't ready

Full log of run that failed

Worker information
hostname: travis-worker-gce-org-prod5-9:4b5575e8-ffb8-44f3-8078-429df9872530
version: v2.5.0 https://github.com/travis-ci/worker/tree/da3a43228dffc0fcca5a46569ca786b22991979f
instance: testing-gce-87578cdc-2d65-4023-8d0f-5003da283883:travis-ci-sugilite-trusty-1480960799
startup: 22.049602014s
Build system information
Build language: python
Build group: stable
Build dist: trusty
Build id: 189533340
Job id: 189533341
travis-build version: 8720fc090
Build image provisioning date and time
Mon Dec  5 18:47:20 UTC 2016
Operating System Details
Distributor ID:	Ubuntu
Description:	Ubuntu 14.04.5 LTS
Release:	14.04
Codename:	trusty
Linux Version
4.4.0-51-generic
Cookbooks Version
998099c https://github.com/travis-ci/travis-cookbooks/tree/998099c
git version
git version 2.11.0
bash version
GNU bash, version 4.3.11(1)-release (x86_64-pc-linux-gnu)
Copyright (C) 2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>

This is free software; you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
gcc version
gcc (Ubuntu 4.8.4-2ubuntu1~14.04.3) 4.8.4
Copyright (C) 2013 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

docker version
Client:
 Version:      1.12.3
 API version:  1.24
 Go version:   go1.6.3
 Git commit:   6b644ec
 Built:        Wed Oct 26 21:44:32 2016
 OS/Arch:      linux/amd64

Server:
 Version:      1.12.3
 API version:  1.24
 Go version:   go1.6.3
 Git commit:   6b644ec
 Built:        Wed Oct 26 21:44:32 2016
 OS/Arch:      linux/amd64
clang version
clang version 3.5.0 (tags/RELEASE_350/final)
Target: x86_64-unknown-linux-gnu
Thread model: posix
jq version
jq-1.5
bats version
Bats 0.4.0
gimme version
v1.0.0
nvm version
0.32.0
perlbrew version
/home/travis/perl5/perlbrew/bin/perlbrew  - App::perlbrew/0.73
postgresql client version
psql (PostgreSQL) 9.6.1
phpenv version
rbenv 1.1.0
rvm version
rvm 1.27.0 (latest) by Wayne E. Seguin <[email protected]>, Michal Papis <[email protected]> [https://rvm.io/]
default ruby version
ruby 2.3.1p112 (2016-04-26 revision 54768) [x86_64-linux]
Pre-installed Ruby versions
jruby-9.1.2.0
ruby-1.9.3-p551
ruby-2.0.0-p648
ruby-2.1.10
ruby-2.2.5
ruby-2.3.1
Pre-installed Node.js versions
iojs-v1.6
iojs-v1.6.4
v0.10
v0.10.40
v0.11.16
v0.12.2
v0.12.7
v0.6.21
v0.8.28
v4.1.2
v4.6.2
v6.9.1
Pre-installed Go versions
1.2.2
1.3.3
1.4.3
1.5.4
1.6.3
1.7
mysql version
mysql  Ver 14.14 Distrib 5.6.33, for debian-linux-gnu (x86_64) using  EditLine wrapper
Pre-installed PostgreSQL versions
9.2.19
9.3.15
9.4.10
9.5.5
9.6.1
Redis version
redis-server 3.0.6
MongoDB version
MongoDB 3.2.11
RabbitMQ Version
3.6.6
Installed Firefox version
firefox 38.4.0esr
ant version
Apache Ant(TM) version 1.9.3 compiled on April 8 2014
mvn version
Apache Maven 3.1.1 (0728685237757ffbf44136acec0402957f723d9a; 2013-09-17 15:22:22+0000)
Maven home: /usr/local/maven
Java version: 1.8.0_111, vendor: Oracle Corporation
Java home: /usr/lib/jvm/java-8-oracle/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "4.4.0-51-generic", arch: "amd64", family: "unix"
gradle version

------------------------------------------------------------
Gradle 2.13
------------------------------------------------------------

Build time:   2016-04-25 04:10:10 UTC
Build number: none
Revision:     3b427b1481e46232107303c90be7b05079b05b1c

Groovy:       2.4.4
Ant:          Apache Ant(TM) version 1.9.6 compiled on June 29 2015
JVM:          1.8.0_111 (Oracle Corporation 25.111-b14)
OS:           Linux 4.4.0-51-generic amd64

kerl list installations
17.0
17.1
17.3
17.4
17.5
18.0
18.1
18.2
18.2.1
R14B02
R14B03
R14B04
R15B
R15B01
R15B02
R15B03
R16B
R16B01
R16B02
R16B03
R16B03-1
kiex list

kiex elixirs

   elixir-1.0.3
=* elixir-1.0.4

# => - current
# =* - current && default
#  * - default

rebar --version
rebar 2.6.4 17 20160831_145136 git 2.6.4-dirty
lein version
WARNING: You're currently running as root; probably by accident.
Press control-C to abort or Enter to continue as root.
Set LEIN_ROOT to disable this warning.
Leiningen 2.7.1 on Java 1.8.0_111 Java HotSpot(TM) 64-Bit Server VM
perlbrew list
  5.8 (5.8.8)
  5.10 (5.10.1)
  5.12 (5.12.5)
  5.14 (5.14.4)
  5.16 (5.16.3)
  5.18 (5.18.4)
  5.20 (5.20.3)
  5.20-extras (5.20.3)
  5.20-shrplib (5.20.3)
  5.20.3
  5.22 (5.22.0)
  5.22-extras (5.22.0)
  5.22-shrplib (5.22.0)
  5.22.0
phpenv versions
  system
  5.4
  5.4.45
  5.5.37
  5.6
* 5.6.24 (set by /home/travis/.phpenv/version)
  7.0
  7.0.7
  hhvm
  hhvm-stable
composer --version
Composer version 1.2.0 2016-07-19 01:28:52

$ export DEBIAN_FRONTEND=noninteractive
Reading package lists...
Building dependency tree...
Reading state information...
libc6 is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 62 not upgraded.
$ git clone --depth=50 --branch=master https://github.com/ESSS/qmxgraph.git ESSS/qmxgraph
Cloning into 'ESSS/qmxgraph'...
remote: Counting objects: 123, done.
remote: Compressing objects: 100% (36/36), done.
remote: Total 123 (delta 16), reused 2 (delta 2), pack-reused 85
Receiving objects: 100% (123/123), 117.19 KiB | 0 bytes/s, done.
Resolving deltas: 100% (35/35), done.

$ cd ESSS/qmxgraph
$ git checkout -qf d96446268142e2e6d3133946f02c9799ee80d06b
$ source ~/virtualenv/python3.5/bin/activate

$ python --version
Python 3.5.2
$ pip --version
pip 8.1.2 from /home/travis/virtualenv/python3.5.2/lib/python3.5/site-packages (python 3.5)
$ sudo apt-get update
Ign http://us-central1.gce.archive.ubuntu.com trusty InRelease
Hit http://us-central1.gce.archive.ubuntu.com trusty-updates InRelease
Hit http://us-central1.gce.archive.ubuntu.com trusty-backports InRelease
Hit http://us-central1.gce.archive.ubuntu.com trusty Release.gpg
Hit http://us-central1.gce.archive.ubuntu.com trusty Release
Ign http://repo.mongodb.org trusty/mongodb-org/3.2 InRelease
Ign http://dl.google.com stable InRelease
Hit http://repo.mongodb.org trusty/mongodb-org/3.2 Release.gpg
Hit http://us-central1.gce.archive.ubuntu.com trusty-updates/main Sources
Get:1 http://security.ubuntu.com trusty-security InRelease [65.9 kB]
Hit http://dl.hhvm.com trusty InRelease
Hit http://repo.mongodb.org trusty/mongodb-org/3.2 Release
Hit http://us-central1.gce.archive.ubuntu.com trusty-updates/restricted Sources
Hit http://us-central1.gce.archive.ubuntu.com trusty-updates/universe Sources
Hit http://us-central1.gce.archive.ubuntu.com trusty-updates/multiverse Sources
Hit http://us-central1.gce.archive.ubuntu.com trusty-updates/main amd64 Packages
Hit http://us-central1.gce.archive.ubuntu.com trusty-updates/restricted amd64 Packages
Hit http://us-central1.gce.archive.ubuntu.com trusty-updates/universe amd64 Packages
Hit http://us-central1.gce.archive.ubuntu.com trusty-updates/multiverse amd64 Packages
Hit http://us-central1.gce.archive.ubuntu.com trusty-updates/main Translation-en
Hit http://us-central1.gce.archive.ubuntu.com trusty-updates/multiverse Translation-en
Hit http://us-central1.gce.archive.ubuntu.com trusty-updates/restricted Translation-en
Hit http://dl.google.com stable Release.gpg
Hit http://apt.postgresql.org trusty-pgdg InRelease
Hit http://us-central1.gce.archive.ubuntu.com trusty-updates/universe Translation-en
Hit http://dl.google.com stable Release
Hit http://us-central1.gce.archive.ubuntu.com trusty-backports/main Sources
Hit http://us-central1.gce.archive.ubuntu.com trusty-backports/restricted Sources
Hit http://us-central1.gce.archive.ubuntu.com trusty-backports/universe Sources
Hit http://us-central1.gce.archive.ubuntu.com trusty-backports/multiverse Sources
Hit http://us-central1.gce.archive.ubuntu.com trusty-backports/main amd64 Packages
Hit http://us-central1.gce.archive.ubuntu.com trusty-backports/restricted amd64 Packages
Hit http://us-central1.gce.archive.ubuntu.com trusty-backports/universe amd64 Packages
Hit http://us-central1.gce.archive.ubuntu.com trusty-backports/multiverse amd64 Packages
Hit http://us-central1.gce.archive.ubuntu.com trusty-backports/main Translation-en
Hit http://us-central1.gce.archive.ubuntu.com trusty-backports/multiverse Translation-en
Hit http://us-central1.gce.archive.ubuntu.com trusty-backports/restricted Translation-en
Hit http://us-central1.gce.archive.ubuntu.com trusty-backports/universe Translation-en
Hit http://us-central1.gce.archive.ubuntu.com trusty/main Sources
Hit http://us-central1.gce.archive.ubuntu.com trusty/restricted Sources
Hit http://us-central1.gce.archive.ubuntu.com trusty/universe Sources
Hit http://us-central1.gce.archive.ubuntu.com trusty/multiverse Sources
Hit http://us-central1.gce.archive.ubuntu.com trusty/main amd64 Packages
Hit http://ppa.launchpad.net trusty InRelease
Hit http://dl.hhvm.com trusty/main amd64 Packages
Hit http://repo.mongodb.org trusty/mongodb-org/3.2/multiverse amd64 Packages
Hit http://us-central1.gce.archive.ubuntu.com trusty/restricted amd64 Packages
Hit http://us-central1.gce.archive.ubuntu.com trusty/universe amd64 Packages
Hit http://us-central1.gce.archive.ubuntu.com trusty/multiverse amd64 Packages
Hit http://us-central1.gce.archive.ubuntu.com trusty/main Translation-en
Hit http://us-central1.gce.archive.ubuntu.com trusty/multiverse Translation-en
Hit http://us-central1.gce.archive.ubuntu.com trusty/restricted Translation-en
Hit http://us-central1.gce.archive.ubuntu.com trusty/universe Translation-en
Ign http://toolbelt.heroku.com ./ InRelease
Get:2 http://security.ubuntu.com trusty-security/main Sources [157 kB]
Hit http://apt.postgresql.org trusty-pgdg/main amd64 Packages
Hit http://dl.google.com stable/main amd64 Packages
Ign http://us-central1.gce.archive.ubuntu.com trusty/main Translation-en_US
Ign http://us-central1.gce.archive.ubuntu.com trusty/multiverse Translation-en_US
Ign http://us-central1.gce.archive.ubuntu.com trusty/restricted Translation-en_US
Ign http://us-central1.gce.archive.ubuntu.com trusty/universe Translation-en_US
Hit http://toolbelt.heroku.com ./ Release.gpg
Hit http://ppa.launchpad.net trusty InRelease
Get:3 http://security.ubuntu.com trusty-security/restricted Sources [4,621 B]
Ign http://repo.mongodb.org trusty/mongodb-org/3.2/multiverse Translation-en_US
Ign http://repo.mongodb.org trusty/mongodb-org/3.2/multiverse Translation-en
Get:4 http://security.ubuntu.com trusty-security/universe Sources [55.9 kB]
Hit http://toolbelt.heroku.com ./ Release
Hit http://ppa.launchpad.net trusty InRelease
Get:5 http://security.ubuntu.com trusty-security/multiverse Sources [3,019 B]
Get:6 http://security.ubuntu.com trusty-security/main amd64 Packages [705 kB]
Ign http://dl.hhvm.com trusty/main Translation-en_US
Hit http://toolbelt.heroku.com ./ Packages
Ign http://dl.hhvm.com trusty/main Translation-en
Hit http://ppa.launchpad.net trusty InRelease
Ign http://apt.postgresql.org trusty-pgdg/main Translation-en_US
Hit https://apt.dockerproject.org ubuntu-trusty InRelease
Ign http://apt.postgresql.org trusty-pgdg/main Translation-en
Get:7 http://security.ubuntu.com trusty-security/restricted amd64 Packages [17.0 kB]
Hit http://ppa.launchpad.net trusty InRelease
Hit https://apt.dockerproject.org ubuntu-trusty/main amd64 Packages
Get:8 http://security.ubuntu.com trusty-security/universe amd64 Packages [193 kB]
Get:9 https://apt.dockerproject.org ubuntu-trusty/main Translation-en_US
Get:10 http://security.ubuntu.com trusty-security/multiverse amd64 Packages [4,016 B]
Hit http://security.ubuntu.com trusty-security/main Translation-en
Ign http://ppa.launchpad.net trusty InRelease
Hit http://security.ubuntu.com trusty-security/multiverse Translation-en
Ign https://apt.dockerproject.org ubuntu-trusty/main Translation-en_US
Hit http://security.ubuntu.com trusty-security/restricted Translation-en
Ign https://apt.dockerproject.org ubuntu-trusty/main Translation-en
Hit http://security.ubuntu.com trusty-security/universe Translation-en
Ign http://ppa.launchpad.net trusty InRelease
Ign http://toolbelt.heroku.com ./ Translation-en_US
Ign http://toolbelt.heroku.com ./ Translation-en
Hit http://ppa.launchpad.net trusty InRelease
Ign http://dl.google.com stable/main Translation-en_US
Ign http://dl.google.com stable/main Translation-en
Hit http://ppa.launchpad.net trusty InRelease
Hit http://ppa.launchpad.net trusty/main amd64 Packages
Hit https://packagecloud.io trusty InRelease
Hit http://ppa.launchpad.net trusty/main Translation-en
Hit https://packagecloud.io trusty InRelease
Hit http://ppa.launchpad.net trusty/main amd64 Packages
Hit https://packagecloud.io trusty/main Sources
Hit http://ppa.launchpad.net trusty/main Translation-en
Hit https://packagecloud.io trusty/main amd64 Packages
Hit http://ppa.launchpad.net trusty/main amd64 Packages
Get:11 https://packagecloud.io trusty/main Translation-en_US
Hit http://ppa.launchpad.net trusty/main Translation-en
Hit https://packagecloud.io trusty/main Sources
Hit http://ppa.launchpad.net trusty/main amd64 Packages
Hit http://ppa.launchpad.net trusty/main Translation-en
Hit https://packagecloud.io trusty/main amd64 Packages
Get:12 https://packagecloud.io trusty/main Translation-en_US
Hit http://ppa.launchpad.net trusty/main amd64 Packages
Hit http://ppa.launchpad.net trusty/main Translation-en
Ign https://packagecloud.io trusty/main Translation-en_US
Ign https://packagecloud.io trusty/main Translation-en
Hit http://ppa.launchpad.net trusty Release.gpg
Ign https://packagecloud.io trusty/main Translation-en_US
Ign https://packagecloud.io trusty/main Translation-en
Hit http://ppa.launchpad.net trusty Release.gpg
Hit http://ppa.launchpad.net trusty/main amd64 Packages
Hit http://ppa.launchpad.net trusty/main Translation-en
Hit http://ppa.launchpad.net trusty/main amd64 Packages
Hit http://ppa.launchpad.net trusty/main Translation-en
Hit http://ppa.launchpad.net trusty Release
Hit http://ppa.launchpad.net trusty Release
Hit http://ppa.launchpad.net trusty/main amd64 Packages
Hit http://ppa.launchpad.net trusty/main amd64 Packages
Ign http://ppa.launchpad.net trusty/main Translation-en_US
Ign http://ppa.launchpad.net trusty/main Translation-en
Ign http://ppa.launchpad.net trusty/main Translation-en_US
Ign http://ppa.launchpad.net trusty/main Translation-en
Fetched 1,206 kB in 5s (214 kB/s)
Reading package lists... Done

$ if [[ "$TRAVIS_PYTHON_VERSION" == "2.7" ]]; then wget https://repo.continuum.io/miniconda/Miniconda2-latest-Linux-x86_64.sh -O miniconda.sh; else wget https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh -O miniconda.sh; fi
--2017-01-06 15:27:41--  https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh
Resolving repo.continuum.io (repo.continuum.io)... 104.16.18.10, 104.16.19.10, 2400:cb00:2048:1::6810:130a, ...
Connecting to repo.continuum.io (repo.continuum.io)|104.16.18.10|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 33905474 (32M) [application/octet-stream]
Saving to: ‘miniconda.sh’

100%[======================================>] 33,905,474  47.6MB/s   in 0.7s   

2017-01-06 15:27:42 (47.6 MB/s) - ‘miniconda.sh’ saved [33905474/33905474]


$ bash miniconda.sh -b -p $HOME/miniconda
PREFIX=/home/travis/miniconda
installing: python-3.5.2-0 ...
installing: conda-env-2.6.0-0 ...
installing: openssl-1.0.2j-0 ...
installing: pycosat-0.6.1-py35_1 ...
installing: readline-6.2-2 ...
installing: requests-2.11.1-py35_0 ...
installing: ruamel_yaml-0.11.14-py35_0 ...
installing: sqlite-3.13.0-0 ...
installing: tk-8.5.18-0 ...
installing: xz-5.2.2-0 ...
installing: yaml-0.1.6-0 ...
installing: zlib-1.2.8-3 ...
installing: conda-4.2.12-py35_0 ...
installing: pycrypto-2.6.1-py35_4 ...
installing: pip-8.1.2-py35_0 ...
installing: wheel-0.29.0-py35_0 ...
installing: setuptools-27.2.0-py35_0 ...
Python 3.5.2 :: Continuum Analytics, Inc.
creating default environment...
installation finished.

$ export PATH="$HOME/miniconda/bin:$PATH"

$ hash -r

$ conda config --set always_yes yes --set changeps1 no

$ conda update -q conda
Fetching package metadata .......
Solving package specifications: ..........

Package plan for installation in environment /home/travis/miniconda:

The following packages will be downloaded:

    package                    |            build
    ---------------------------|-----------------
    conda-4.2.13               |           py35_0         402 KB

The following packages will be UPDATED:

    conda: 4.2.12-py35_0 --> 4.2.13-py35_0


$ conda info -a
Current conda install:

               platform : linux-64
          conda version : 4.2.13
       conda is private : False
      conda-env version : 4.2.13
    conda-build version : not installed
         python version : 3.5.2.final.0
       requests version : 2.11.1
       root environment : /home/travis/miniconda  (writable)
    default environment : /home/travis/miniconda
       envs directories : /home/travis/miniconda/envs
          package cache : /home/travis/miniconda/pkgs
           channel URLs : https://repo.continuum.io/pkgs/free/linux-64
                          https://repo.continuum.io/pkgs/free/noarch
                          https://repo.continuum.io/pkgs/pro/linux-64
                          https://repo.continuum.io/pkgs/pro/noarch
            config file : /home/travis/.condarc
           offline mode : False

# conda environments:
#
root                  *  /home/travis/miniconda

sys.version: 3.5.2 |Continuum Analytics, Inc.| (defau...
sys.prefix: /home/travis/miniconda
sys.executable: /home/travis/miniconda/bin/python
conda location: /home/travis/miniconda/lib/python3.5/site-packages/conda
conda-build: None
conda-env: /home/travis/miniconda/bin/conda-env
user site dirs: 

CIO_TEST: <not set>
CONDA_DEFAULT_ENV: <not set>
CONDA_ENVS_PATH: <not set>
LD_LIBRARY_PATH: <not set>
PATH: /home/travis/miniconda/bin:/home/travis/virtualenv/python3.5.2/bin:/home/travis/bin:/home/travis/.local/bin:/home/travis/.rvm/gems/ruby-2.3.1/bin:/home/travis/.rvm/gems/ruby-2.3.1@global/bin:/home/travis/.rvm/rubies/ruby-2.3.1/bin:/home/travis/.pyenv/shims:/home/travis/.phpenv/shims:/home/travis/gopath/bin:/home/travis/.gimme/versions/go1.7.linux.amd64/bin:/home/travis/.local/bin:/opt/pyenv/bin:/opt/python/2.7.12/bin:/opt/python/3.5.2/bin:/opt/python/2.6.9/bin:/opt/python/3.2.6/bin:/opt/python/3.3.6/bin:/opt/python/3.4.4/bin:/opt/python/pypy-5.4.1/bin:/opt/python/pypy3-2.4.0/bin:/usr/local/phantomjs/bin:/usr/local/phantomjs:/home/travis/perl5/perlbrew/bin:/home/travis/.nvm/versions/node/v4.1.2/bin:/usr/local/maven-3.1.1/bin:/home/travis/.kiex/elixirs/elixir-1.0.4/bin:/home/travis/.kiex/bin:/usr/local/gradle/bin:/usr/local/clang-3.5.0/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/lib/jvm/java-9-oracle/bin:/usr/lib/jvm/java-9-oracle/db/bin:/home/travis/.phpenv/bin:/home/travis/.rvm/bin
PYTHONHOME: <not set>
PYTHONPATH: <not set>

WARNING: could not import _license.show_info
# try:
# $ conda install -n root _license

$ conda create -n qmxgraph python=$TRAVIS_PYTHON_VERSION
Fetching package metadata .......
Solving package specifications: ..........

Package plan for installation in environment /home/travis/miniconda/envs/qmxgraph:

The following packages will be downloaded:

    package                    |            build
    ---------------------------|-----------------
    xz-5.2.2                   |                1         669 KB
    pip-9.0.1                  |           py35_1         1.7 MB
    ------------------------------------------------------------
                                           Total:         2.4 MB

The following NEW packages will be INSTALLED:

    openssl:    1.0.2j-0     
    pip:        9.0.1-py35_1 
    python:     3.5.2-0      
    readline:   6.2-2        
    setuptools: 27.2.0-py35_0
    sqlite:     3.13.0-0     
    tk:         8.5.18-0     
    wheel:      0.29.0-py35_0
    xz:         5.2.2-1      
    zlib:       1.2.8-3      

Fetching packages ...
xz-5.2.2-1.tar 100% |################################| Time: 0:00:00   7.56 MB/s
pip-9.0.1-py35 100% |################################| Time: 0:00:00  10.66 MB/s
Extracting packages ...
[      COMPLETE      ]|###################################################| 100%
Linking packages ...
[      COMPLETE      ]|###################################################| 100%
#
# To activate this environment, use:
# > source activate qmxgraph
#
# To deactivate this environment, use:
# > source deactivate qmxgraph
#


$ conda env update -n qmxgraph
Fetching package metadata .......
Solving package specifications: ..........
Fetching packages ...
expat-2.1.0-0. 100% |################################| Time: 0:00:00   6.53 MB/s
icu-54.1-0.tar 100% |################################| Time: 0:00:00  23.67 MB/s
jpeg-8d-2.tar. 100% |################################| Time: 0:00:00   7.80 MB/s
libffi-3.2.1-1 100% |################################| Time: 0:00:00   2.73 MB/s
libgcc-5.2.0-0 100% |################################| Time: 0:00:00   9.10 MB/s
libiconv-1.14- 100% |################################| Time: 0:00:00  11.18 MB/s
libxcb-1.12-1. 100% |################################| Time: 0:00:00   9.33 MB/s
dbus-1.10.10-0 100% |################################| Time: 0:00:00  12.15 MB/s
libpng-1.6.27- 100% |################################| Time: 0:00:00   4.84 MB/s
libxml2-2.9.4- 100% |################################| Time: 0:00:00  13.43 MB/s
pcre-8.39-1.ta 100% |################################| Time: 0:00:00   7.32 MB/s
cherrypy-3.8.0 100% |################################| Time: 0:00:00   7.47 MB/s
colorama-0.3.7 100% |################################| Time: 0:00:00   1.83 MB/s
freetype-2.5.5 100% |################################| Time: 0:00:00  11.89 MB/s
glib-2.50.2-0. 100% |################################| Time: 0:00:00  19.14 MB/s
markupsafe-0.2 100% |################################| Time: 0:00:00   2.39 MB/s
py-1.4.31-py35 100% |################################| Time: 0:00:00   3.96 MB/s
sip-4.18-py35_ 100% |################################| Time: 0:00:00   4.92 MB/s
six-1.10.0-py3 100% |################################| Time: 0:00:00   1.58 MB/s
fontconfig-2.1 100% |################################| Time: 0:00:00   6.61 MB/s
gstreamer-1.8. 100% |################################| Time: 0:00:00  12.30 MB/s
jinja2-2.8.1-p 100% |################################| Time: 0:00:00   5.76 MB/s
pytest-3.0.5-p 100% |################################| Time: 0:00:00   5.26 MB/s
gst-plugins-ba 100% |################################| Time: 0:00:00  12.54 MB/s
pytest-timeout 100% |################################| Time: 0:00:00  13.58 MB/s
qt-5.6.2-2.tar 100% |################################| Time: 0:00:01  35.40 MB/s
pyqt-5.6.0-py3 100% |################################| Time: 0:00:00  12.12 MB/s
Extracting packages ...
[      COMPLETE      ]|###################################################| 100%
Linking packages ...
[      COMPLETE      ]|###################################################| 100%
dbus post-link :: /etc/machine-id not found ..
dbus post-link :: .. using /proc/sys/kernel/random/boot_id
Collecting invoke==0.12.2
  Downloading invoke-0.12.2-py2.py3-none-any.whl (166kB)
    100% |████████████████████████████████| 174kB 3.2MB/s 
Collecting pytest-qt
  Downloading pytest_qt-2.1.0-py2.py3-none-any.whl
Collecting pytest-selenium
  Downloading pytest_selenium-1.7.0-py2.py3-none-any.whl
Collecting pytest-mock
  Downloading pytest_mock-1.5.0-py2.py3-none-any.whl
Collecting pytest-xdist
  Downloading pytest-xdist-1.15.0.tar.gz (87kB)
    100% |████████████████████████████████| 92kB 5.7MB/s 
Collecting pytest-xvfb
  Downloading pytest-xvfb-1.0.0.tar.gz
Requirement already satisfied: pytest>=2.7.0 in /home/travis/miniconda/envs/qmxgraph/lib/python3.5/site-packages (from pytest-qt)
Collecting pytest-variables (from pytest-selenium)
  Downloading pytest-variables-1.4.tar.gz
Collecting requests (from pytest-selenium)
  Downloading requests-2.12.4-py2.py3-none-any.whl (576kB)
    100% |████████████████████████████████| 583kB 1.8MB/s 
Collecting pytest-base-url (from pytest-selenium)
  Downloading pytest_base_url-1.2.0-py2.py3-none-any.whl
Collecting pytest-html>=1.7 (from pytest-selenium)
  Downloading pytest_html-1.13.0-py2.py3-none-any.whl
Collecting selenium>=3.0.0 (from pytest-selenium)
  Downloading selenium-3.0.2-py2.py3-none-any.whl (915kB)
    100% |████████████████████████████████| 921kB 1.2MB/s 
Collecting execnet>=1.1 (from pytest-xdist)
  Downloading execnet-1.4.1-py2.py3-none-any.whl (40kB)
    100% |████████████████████████████████| 40kB 7.0MB/s 
Requirement already satisfied: py>=1.4.22 in /home/travis/miniconda/envs/qmxgraph/lib/python3.5/site-packages (from pytest-xdist)
Collecting pyvirtualdisplay>=0.2.1 (from pytest-xvfb)
  Downloading PyVirtualDisplay-0.2.1.tar.gz
Collecting apipkg>=1.4 (from execnet>=1.1->pytest-xdist)
  Downloading apipkg-1.4-py2.py3-none-any.whl
Collecting EasyProcess (from pyvirtualdisplay>=0.2.1->pytest-xvfb)
  Downloading EasyProcess-0.2.3.tar.gz
Building wheels for collected packages: pytest-xdist, pytest-xvfb, pytest-variables, pyvirtualdisplay, EasyProcess
  Running setup.py bdist_wheel for pytest-xdist ... -� �done
  Stored in directory: /home/travis/.cache/pip/wheels/1d/b2/b8/484ce35e005d6b5112b2bb7945eea5bd5d0134662b6cd83c5c
  Running setup.py bdist_wheel for pytest-xvfb ... -� �\� �done
  Stored in directory: /home/travis/.cache/pip/wheels/f2/a5/f4/4803fe9d98f33a2a6cb16e3d69e8cdeb88cca8cd5312bcab3a
  Running setup.py bdist_wheel for pytest-variables ... -� �\� �done
  Stored in directory: /home/travis/.cache/pip/wheels/0a/4f/f8/d0133143578a6d6965c12d6c2e1a6008950bf3036252479c61
  Running setup.py bdist_wheel for pyvirtualdisplay ... -� �\� �|� �/� �-� �done
  Stored in directory: /home/travis/.cache/pip/wheels/a3/5c/40/13a5fe9ff00091648706fdbd882ae60be97183d94b3e8e80c1
  Running setup.py bdist_wheel for EasyProcess ... -� �\� �|� �/� �-� �done
  Stored in directory: /home/travis/.cache/pip/wheels/81/f2/d3/78eeb2274410b1469562677f4704f86de4d44b90d436b99f1a
Successfully built pytest-xdist pytest-xvfb pytest-variables pyvirtualdisplay EasyProcess
Installing collected packages: invoke, pytest-qt, pytest-variables, requests, pytest-base-url, pytest-html, selenium, pytest-selenium, pytest-mock, apipkg, execnet, pytest-xdist, EasyProcess, pyvirtualdisplay, pytest-xvfb
Successfully installed EasyProcess-0.2.3 apipkg-1.4 execnet-1.4.1 invoke-0.12.2 pytest-base-url-1.2.0 pytest-html-1.13.0 pytest-mock-1.5.0 pytest-qt-2.1.0 pytest-selenium-1.7.0 pytest-variables-1.4 pytest-xdist-1.15.0 pytest-xvfb-1.0.0 pyvirtualdisplay-0.2.1 requests-2.12.4 selenium-3.0.2
#
# To activate this environment, use:
# > source activate qmxgraph
#
# To deactivate this environment, use:
# > source deactivate qmxgraph
#


$ source activate qmxgraph

$ conda list
# packages in environment at /home/travis/miniconda/envs/qmxgraph:
#
apipkg                    1.4                       <pip>
cherrypy                  3.8.0                    py35_0  
colorama                  0.3.7                    py35_0  
dbus                      1.10.10                       0  
EasyProcess               0.2.3                     <pip>
execnet                   1.4.1                     <pip>
expat                     2.1.0                         0  
fontconfig                2.12.1                        0  
freetype                  2.5.5                         1  
glib                      2.50.2                        0  
gst-plugins-base          1.8.0                         0  
gstreamer                 1.8.0                         0  
icu                       54.1                          0  
invoke                    0.12.2                    <pip>
jinja2                    2.8.1                    py35_0  
jpeg                      8d                            2  
libffi                    3.2.1                         1  
libgcc                    5.2.0                         0  
libiconv                  1.14                          0  
libpng                    1.6.27                        0  
libxcb                    1.12                          1  
libxml2                   2.9.4                         0  
markupsafe                0.23                     py35_2  
openssl                   1.0.2j                        0  
pcre                      8.39                          1  
pip                       9.0.1                    py35_1  
py                        1.4.31                   py35_0  
pyqt                      5.6.0                    py35_1  
pytest                    3.0.5                    py35_0  
pytest-base-url           1.2.0                     <pip>
pytest-html               1.13.0                    <pip>
pytest-mock               1.5.0                     <pip>
pytest-qt                 2.1.0                     <pip>
pytest-selenium           1.7.0                     <pip>
pytest-timeout            1.0.0                    py35_0  
pytest-variables          1.4                       <pip>
pytest-xdist              1.15.0                    <pip>
pytest-xvfb               1.0.0                     <pip>
python                    3.5.2                         0  
PyVirtualDisplay          0.2.1                     <pip>
qt                        5.6.2                         2  
readline                  6.2                           2  
requests                  2.12.4                    <pip>
selenium                  3.0.2                     <pip>
setuptools                27.2.0                   py35_0  
sip                       4.18                     py35_0  
six                       1.10.0                   py35_0  
sqlite                    3.13.0                        0  
tk                        8.5.18                        0  
wheel                     0.29.0                   py35_0  
xz                        5.2.2                         1  
zlib                      1.2.8                         3  

$ scripts/run_travis_tests.sh
Cloning into 'mxgraph'...
remote: Counting objects: 2285, done.
remote: Compressing objects: 100% (1791/1791), done.
remote: Total 2285 (delta 1079), reused 1077 (delta 464), pack-reused 0
Receiving objects: 100% (2285/2285), 8.98 MiB | 6.03 MiB/s, done.
Resolving deltas: 100% (1079/1079), done.
qrc
  - resource: mxgraph
    * generated /home/travis/build/ESSS/qmxgraph/qmxgraph/resource_mxgraph.qrc
    * generated /home/travis/build/ESSS/qmxgraph/qmxgraph/resource_mxgraph.py
  - resource: qmxgraph
    * generated /home/travis/build/ESSS/qmxgraph/qmxgraph/resource_qmxgraph.qrc
    * generated /home/travis/build/ESSS/qmxgraph/qmxgraph/resource_qmxgraph.py
test
============================= test session starts ==============================
platform linux -- Python 3.5.2, pytest-3.0.5, py-1.4.31, pluggy-0.4.0
sensitiveurl: .*
driver: PhantomJS
PyQt5 5.6 -- Qt runtime 5.6.2 -- Qt compiled 5.6.2
rootdir: /home/travis/build/ESSS/qmxgraph, inifile: pytest.ini
plugins: mock-1.5.0, timeout-1.0.0, selenium-1.7.0, qt-2.1.0, variables-1.4, html-1.13.0, xvfb-1.0.0, base-url-1.2.0, xdist-1.15.0
gw0 [87] / gw1 [87]
scheduling tests via LoadScheduling
..............................................................F........................
=================================== FAILURES ===================================
_________ test_set_get_tag_doesnt_overwrite_protected_tags[decoration] _________
[gw1] linux -- Python 3.5.2 /home/travis/miniconda/envs/qmxgraph/bin/python
host = <qmxgraph.server.Host object at 0x7f4eb0c7d940>
selenium = <selenium.webdriver.phantomjs.webdriver.WebDriver (session="4f541dd0-d425-11e6-a113-7d7570775281")>

    def _wait_graph_page_ready(host, selenium):
        """
        Wait until graph page is ready to use, raise if timeout expires.
    
        :type host: qmxgraph.host_graph.Host
        :type selenium: selenium.webdriver.remote.webdriver.WebDriver
        """
        from selenium.common.exceptions import TimeoutException
    
        attempts = 3
        selenium.set_page_load_timeout(1)
        try:
            selenium.get(host.address)
        except TimeoutException:
            attempts -= 1
            if attempts == 0:
                raise
    
        from selenium.webdriver.support.wait import WebDriverWait
        from selenium.webdriver.common.by import By
        from selenium.webdriver.support import expected_conditions as EC
        timeout = 5
        try:
            WebDriverWait(selenium, timeout=timeout).until(
>               EC.presence_of_element_located((By.ID, "graphContainer"))
            )

tests/conftest.py:882: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <selenium.webdriver.support.wait.WebDriverWait (session="4f541dd0-d425-11e6-a113-7d7570775281")>
method = <selenium.webdriver.support.expected_conditions.presence_of_element_located object at 0x7f4eb0d4fa20>
message = ''

    def until(self, method, message=''):
        """Calls the method provided with the driver as an argument until the \
            return value is not False."""
        screen = None
        stacktrace = None
    
        end_time = time.time() + self._timeout
        while True:
            try:
                value = method(self._driver)
                if value:
                    return value
            except self._ignored_exceptions as exc:
                screen = getattr(exc, 'screen', None)
                stacktrace = getattr(exc, 'stacktrace', None)
            time.sleep(self._poll)
            if time.time() > end_time:
                break
>       raise TimeoutException(message, screen, stacktrace)
E       selenium.common.exceptions.TimeoutException: Message: 
E       Screenshot: available via screen

../../../miniconda/envs/qmxgraph/lib/python3.5/site-packages/selenium/webdriver/support/wait.py:80: TimeoutException

During handling of the above exception, another exception occurred:

graph_cases = <tests.conftest.GraphCaseFactory object at 0x7f4eb0c7da20>
cell_type = 'decoration'

    @pytest.mark.parametrize(
        'cell_type',
        [
            qmxgraph.constants.CELL_TYPE_VERTEX,
            qmxgraph.constants.CELL_TYPE_EDGE,
            qmxgraph.constants.CELL_TYPE_TABLE,
            qmxgraph.constants.CELL_TYPE_DECORATION,
        ]
    )
    def test_set_get_tag_doesnt_overwrite_protected_tags(graph_cases, cell_type):
        """
        :type graph_cases: qmxgraph.tests.conftest.GraphCaseFactory
        :type cell_type: qmxgraph.constants.CELL_TYPE_*
        """
>       graph = graph_cases('empty')

tests/test_js_graph.py:846: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/conftest.py:273: in __call__
    return case_type(selenium=self._selenium, host=self._host)
tests/conftest.py:283: in __init__
    _wait_graph_page_ready(host=host, selenium=selenium)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

host = <qmxgraph.server.Host object at 0x7f4eb0c7d940>
selenium = <selenium.webdriver.phantomjs.webdriver.WebDriver (session="4f541dd0-d425-11e6-a113-7d7570775281")>

    def _wait_graph_page_ready(host, selenium):
        """
        Wait until graph page is ready to use, raise if timeout expires.
    
        :type host: qmxgraph.host_graph.Host
        :type selenium: selenium.webdriver.remote.webdriver.WebDriver
        """
        from selenium.common.exceptions import TimeoutException
    
        attempts = 3
        selenium.set_page_load_timeout(1)
        try:
            selenium.get(host.address)
        except TimeoutException:
            attempts -= 1
            if attempts == 0:
                raise
    
        from selenium.webdriver.support.wait import WebDriverWait
        from selenium.webdriver.common.by import By
        from selenium.webdriver.support import expected_conditions as EC
        timeout = 5
        try:
            WebDriverWait(selenium, timeout=timeout).until(
                EC.presence_of_element_located((By.ID, "graphContainer"))
            )
        except TimeoutException:
            raise RuntimeError(
                "Graph page wasn't ready in address {} after a "
                "timeout of {} seconds".format(
>                   host.address, timeout))
E           RuntimeError: Graph page wasn't ready in address http://localhost:36683 after a timeout of 5 seconds

tests/conftest.py:888: RuntimeError
------------------------------- pytest-selenium --------------------------------
URL: http://localhost:36683/
==================== 1 failed, 86 passed in 274.53 seconds =====================


The command "scripts/run_travis_tests.sh" exited with 1.
$ scripts/run_travis_lint.sh
Fetching package metadata .......
Solving package specifications: ..........

Package plan for installation in environment /home/travis/miniconda/envs/qmxgraph:

The following packages will be downloaded:

    package                    |            build
    ---------------------------|-----------------
    mccabe-0.3.1               |           py35_0           9 KB
    pep8-1.7.0                 |           py35_0          27 KB
    pyflakes-1.4.0             |           py35_0          82 KB
    flake8-2.5.1               |           py35_0          39 KB
    ------------------------------------------------------------
                                           Total:         157 KB

The following NEW packages will be INSTALLED:

    flake8:   2.5.1-py35_0
    mccabe:   0.3.1-py35_0
    pep8:     1.7.0-py35_0
    pyflakes: 1.4.0-py35_0



The command "scripts/run_travis_lint.sh" exited with 0.

Done. Your build exited with 1.
0

Better handle `fix_table_size`

From time to time PRs need to adjust the values passed to fix_table_size (or or the function it self).
We should adress that so it does not need constant changes.

Enable py27 build

I had some crashes when I first tried them. We have to see if they are still happening and, if so, why we can do to fix them.

Error collecting tests: AttributeError: 'str' object has no attribute '__spec__'

https://github.com/ESSS/qmxgraph/actions/runs/3656977152/jobs/6180039932

============================= test session starts ==============================
platform linux -- Python 3.6.15, pytest-6.2.5, py-1.11.0, pluggy-1.0.0 -- /usr/share/miniconda/envs/qmxgraph/bin/python
cachedir: .pytest_cache
metadata: {'Python': '3.6.15', 'Platform': 'Linux-5.15.0-1024-azure-x86_64-with-debian-bookworm-sid', 'Packages': {'pytest': '6.2.5', 'py': '1.11.0', 'pluggy': '1.0.0'}, 'Plugins': {'hypothesis': '3.11.0', 'metadata': '1.11.0', 'qt': '4.0.2', 'timeout': '2.1.0', 'mock': '3.6.1', 'cov': '2.5.1', 'base-url': '1.4.1', 'xvfb': '2.0.0', 'html': '3.2.0', 'selenium': '1.17.0', 'rerunfailures': '10.3', 'variables': '1.7.1'}, 'CI': 'true', 'JAVA_HOME': '/usr/lib/jvm/temurin-11-jdk-amd64', 'Base URL': '', 'Driver': 'PhantomJS', 'Capabilities': {}}
PyQt5 5.12.3 -- Qt runtime 5.12.9 -- Qt compiled 5.12.9
driver: PhantomJS
sensitiveurl: .*
rootdir: /home/runner/work/qmxgraph/qmxgraph, configfile: pytest.ini
plugins: hypothesis-3.11.0, metadata-1.11.0, qt-4.0.2, timeout-2.1.0, mock-3.6.1, cov-2.5.1, base-url-1.4.1, xvfb-2.0.0, html-3.2.0, selenium-1.17.0, rerunfailures-10.3, variables-1.7.1
timeout: 30.0s
timeout method: signal
timeout func_only: False
collecting ... collected 31 items / 1 error / 30 selected

==================================== ERRORS ====================================
___________________ ERROR collecting tests/test_js_graph.py ____________________
tests/test_js_graph.py:14: in <module>
    from qmxgraph import server
src/qmxgraph/server.py:9: in <module>
    import cherrypy
/usr/share/miniconda/envs/qmxgraph/lib/python3.6/site-packages/cherrypy/__init__.py:66: in <module>
    from ._cperror import (
/usr/share/miniconda/envs/qmxgraph/lib/python3.6/site-packages/cherrypy/_cperror.py:135: in <module>
    from cherrypy.lib import httputil as _httputil
/usr/share/miniconda/envs/qmxgraph/lib/python3.6/site-packages/cherrypy/lib/httputil.py:20: in <module>
    import jaraco.collections
/usr/share/miniconda/envs/qmxgraph/lib/python3.6/site-packages/jaraco/collections.py:10: in <module>
    import jaraco.text
/usr/share/miniconda/envs/qmxgraph/lib/python3.6/site-packages/jaraco/text/__init__.py:228: in <module>
    lorem_ipsum = resources.read_text(__name__, 'Lorem ipsum.txt')  # type: ignore
/usr/share/miniconda/envs/qmxgraph/lib/python3.6/site-packages/importlib_resources/_legacy.py:25: in wrapper
    return func(*args, **kwargs)
/usr/share/miniconda/envs/qmxgraph/lib/python3.6/site-packages/importlib_resources/_legacy.py:79: in read_text
    with open_text(package, resource, encoding, errors) as fp:
/usr/share/miniconda/envs/qmxgraph/lib/python3.6/site-packages/importlib_resources/_legacy.py:25: in wrapper
    return func(*args, **kwargs)
/usr/share/miniconda/envs/qmxgraph/lib/python3.6/site-packages/importlib_resources/_legacy.py:62: in open_text
    return (_common.files(package) / normalize_path(resource)).open(
/usr/share/miniconda/envs/qmxgraph/lib/python3.6/site-packages/importlib_resources/_common.py:46: in wrapper
    return func(anchor)
/usr/share/miniconda/envs/qmxgraph/lib/python3.6/site-packages/importlib_resources/_common.py:56: in files
    return from_package(resolve(anchor))
/usr/share/miniconda/envs/qmxgraph/lib/python3.6/site-packages/importlib_resources/_common.py:112: in from_package
    spec = wrap_spec(package)
/usr/share/miniconda/envs/qmxgraph/lib/python3.6/site-packages/importlib_resources/_compat.py:101: in wrap_spec
    return _adapters.SpecLoaderAdapter(package.__spec__, TraversableResourcesLoader)
E   AttributeError: 'str' object has no attribute '__spec__'
=============================== warnings summary ===============================
../../../../../usr/share/miniconda/envs/qmxgraph/lib/python3.6/site-packages/jaraco/text/__init__.py:228
  /usr/share/miniconda/envs/qmxgraph/lib/python3.6/site-packages/jaraco/text/__init__.py:228: DeprecationWarning: read_text is deprecated. Use files() instead. Refer to https://importlib-resources.readthedocs.io/en/latest/using.html#migrating-from-legacy for migration advice.
    lorem_ipsum = resources.read_text(__name__, 'Lorem ipsum.txt')  # type: ignore

../../../../../usr/share/miniconda/envs/qmxgraph/lib/python3.6/site-packages/importlib_resources/_legacy.py:79
  /usr/share/miniconda/envs/qmxgraph/lib/python3.6/site-packages/importlib_resources/_legacy.py:79: DeprecationWarning: open_text is deprecated. Use files() instead. Refer to https://importlib-resources.readthedocs.io/en/latest/using.html#migrating-from-legacy for migration advice.
    with open_text(package, resource, encoding, errors) as fp:

-- Docs: https://docs.pytest.org/en/stable/warnings.html

---------- coverage: platform linux, python 3.6.15-final-0 -----------
Name                                    Stmts   Miss  Cover
-----------------------------------------------------------
src/qmxgraph/__init__.py                    1      0   100%
src/qmxgraph/_web_view.py                  89     48    46%
src/qmxgraph/api.py                       226    118    48%
src/qmxgraph/cell_bounds.py                21      5    76%
src/qmxgraph/configuration.py              44     16    64%
src/qmxgraph/constants.py                   7      0   100%
src/qmxgraph/debug.py                       5      2    60%
src/qmxgraph/exceptions.py                  3      0   100%
src/qmxgraph/extra_attr_validators.py      12      8    33%
src/qmxgraph/js.py                         13      5    62%
src/qmxgraph/mime.py                       12      9    25%
src/qmxgraph/resource_mxgraph.py           16      3    81%
src/qmxgraph/resource_qmxgraph.py          16      3    81%
src/qmxgraph/server.py                     82     79     4%
src/qmxgraph/waiting.py                    50     29    [42](https://github.com/ESSS/qmxgraph/actions/runs/3656977152/jobs/6180039932#step:6:43)%
src/qmxgraph/widget.py                    316    192    39%
-----------------------------------------------------------
TOTAL                                     913    517    [43](https://github.com/ESSS/qmxgraph/actions/runs/3656977152/jobs/6180039932#step:6:44)%

=========================== short test summary info ============================
ERROR tests/test_js_graph.py - AttributeError: 'str' object has no attribute ...
!!!!!!!!!!!!!!!!!!!! Interrupted: 1 error during collection !!!!!!!!!!!!!!!!!!!!
========================= 2 warnings, 1 error in 1.[97](https://github.com/ESSS/qmxgraph/actions/runs/3656977152/jobs/6180039932#step:6:98)s =========================

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.