From bosheng.an at autodesk.com Fri Jun 1 06:11:32 2012 From: bosheng.an at autodesk.com (Bosheng An) Date: Fri, 1 Jun 2012 04:11:32 +0000 Subject: [PySide] VS2010 for PySide? Message-ID: <54344EBADCEA0247BC085DDDC31E93A91E7F9E@005-TK5MPN1-012.MGDADSK.autodesk.com> Hi, I am Andy from Autodesk. Nice to meet you all:) May I know whether the current PySide is built with VS 2008? If it is, could you please tell me whether you have any plan of moving to VS 2010? Thank you very much. Best Regards, Andy -------------- next part -------------- An HTML attachment was scrubbed... URL: From jmohler at gamry.com Fri Jun 1 14:18:17 2012 From: jmohler at gamry.com (Joel B. Mohler) Date: Fri, 01 Jun 2012 08:18:17 -0400 Subject: [PySide] VS2010 for PySide? In-Reply-To: <54344EBADCEA0247BC085DDDC31E93A91E7F9E@005-TK5MPN1-012.MGDADSK.autodesk.com> References: <54344EBADCEA0247BC085DDDC31E93A91E7F9E@005-TK5MPN1-012.MGDADSK.autodesk.com> Message-ID: <4FC8B309.6040603@gamry.com> On 6/1/2012 12:11 AM, Bosheng An wrote: > > Hi, > > I am Andy from Autodesk. Nice to meet you allJ > > May I know whether the current PySide is built with VS 2008? > > If it is, could you please tell me whether you have any plan of moving > to VS 2010? > Python for windows stock distribution is built with VS 2008. This means that the safe bet is for all extensions to be also built with 2008. In my experience, this is encoded into many build scripts with varying degrees of complexity (speaking generally for cython, matplotlib and a few others). My organization would be happy to see all of this switch to 2010 as well. However, I personally think it's a bit of a useless pursuit since 2008 vs. 2010 for a heavily python oriented project is a rather empty distinction IMO. Joel -------------- next part -------------- An HTML attachment was scrubbed... URL: From sable at users.sourceforge.net Fri Jun 1 14:49:24 2012 From: sable at users.sourceforge.net (=?ISO-8859-1?Q?S=E9bastien_Sabl=E9_Sabl=E9?=) Date: Fri, 1 Jun 2012 14:49:24 +0200 Subject: [PySide] VS2010 for PySide? In-Reply-To: <4FC8B309.6040603@gamry.com> References: <54344EBADCEA0247BC085DDDC31E93A91E7F9E@005-TK5MPN1-012.MGDADSK.autodesk.com> <4FC8B309.6040603@gamry.com> Message-ID: Hi, Python 3.3 has been changed to compile nicely with VS2010. http://bugs.python.org/issue13210 And I think it will become the default supported compiler for this version. However, I believe Qt is still using VS2008 by default. I am also interested in getting PySide built with VS2010. At the moment I am recompiling Python (2.7 heavily patched), Qt and PySide myself with VS2010. It works OK but it is a lot of work. regards Sébastien 2012/6/1 Joel B. Mohler > On 6/1/2012 12:11 AM, Bosheng An wrote: > > Hi,**** > > ** ** > > I am Andy from Autodesk. Nice to meet you allJ**** > > ** ** > > May I know whether the current PySide is built with VS 2008?**** > > ** ** > > If it is, could you please tell me whether you have any plan of moving to > VS 2010?**** > > > Python for windows stock distribution is built with VS 2008. This means > that the safe bet is for all extensions to be also built with 2008. In my > experience, this is encoded into many build scripts with varying degrees of > complexity (speaking generally for cython, matplotlib and a few others). > > My organization would be happy to see all of this switch to 2010 as well. > However, I personally think it's a bit of a useless pursuit since 2008 vs. > 2010 for a heavily python oriented project is a rather empty distinction > IMO. > > Joel > > > _______________________________________________ > PySide mailing list > PySide at qt-project.org > http://lists.qt-project.org/mailman/listinfo/pyside > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From hugo.lima at openbossa.org Fri Jun 1 20:26:18 2012 From: hugo.lima at openbossa.org (Hugo Parente Lima) Date: Fri, 01 Jun 2012 15:26:18 -0300 Subject: [PySide] VS2010 for PySide? In-Reply-To: <54344EBADCEA0247BC085DDDC31E93A91E7F9E@005-TK5MPN1-012.MGDADSK.autodesk.com> References: <54344EBADCEA0247BC085DDDC31E93A91E7F9E@005-TK5MPN1-012.MGDADSK.autodesk.com> Message-ID: <6627574.I8efmTBvk0@hugodesktop> On Friday, June 01, 2012 04:11:32 AM Bosheng An wrote: > Hi, > > I am Andy from Autodesk. Nice to meet you all:) > > May I know whether the current PySide is built with VS 2008? > > If it is, could you please tell me whether you have any plan of moving to VS > 2010? PySide should compile with VS2010, if not, patches are welcome! The problem of compiling PySide using VS2010 is, as described be others in this thread, that dependencies of PySide have their binary packages compiled using VS2008, so compiling PySide with VS2010 would mean recompile all dependencies with VS2010 due to different mscrt libraries :-/. > Thank you very much. > > Best Regards, > > Andy -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 198 bytes Desc: This is a digitally signed message part. URL: From jcummings2 at users.sf.net Fri Jun 1 22:09:09 2012 From: jcummings2 at users.sf.net (John Cummings) Date: Fri, 1 Jun 2012 20:09:09 +0000 (UTC) Subject: [PySide] Shiboken - Documentation support when binding a C++ library References: Message-ID: Yann Lanthony writes: > > > Hi everyone, > > > I am new to this list, so first of all thanks for your work ! PySide and shiboken are such great tools. > Actually, I had already created a post in the PySide googlegroups but if I get it right, here is a better place to ask questions :) > > > So, I am currently using shiboken to do the python binding of my C++ Qt-based project. I am starting to get really nice results, as I'm now able to end up with a .pyd file that allows me to call my C++ functions within a python interpreter.  > However, I have trouble understanding how I can also retrieve my C++ doxygen- style documentation as python docstrings, to be able to print functions doc at runtime with help(myFunction). > I am working on Windows (64bits) and I have compiled shiboken (and pyside) with docstring support (well, I linked libxml2 and libxslt which seem to be the 2 documentation related libraries).  > > > Is it at least possible to do something like that with the current version of shiboken (1.1.1) ? > > > > Many thanks, > > Yann > I second this request for information about docstrings. Like Yann, I have libxml2 and libxslt installed and I left DISABLE_DOCSTRINGS set to OFF. I also have sphinx installed, which I think may be necessary for the docstrings to work. I did see that the sphinxtabletest has been commented out in the shiboken/tests/CMakeLists.txt file. I managed to get to compile and run successfully by compiling in all the files from the generator CMakeLists.txt except for main.cpp.The working test makes me think my sphinx setup is correct. I could understand my doxygen strings not working but the "" tags from pyside itself working. So, what are Yann and I missing? For what it is worth, I am on 64-bit Linux with gcc 4.6.2. Thank you John Cummings From jcummings2 at users.sf.net Fri Jun 1 22:36:16 2012 From: jcummings2 at users.sf.net (John Cummings) Date: Fri, 01 Jun 2012 15:36:16 -0500 Subject: [PySide] Shiboken - Documentation support when binding a C++ library In-Reply-To: References: Message-ID: <4FC927C0.3050908@users.sf.net> On 06/01/2012 03:09 PM, John Cummings wrote: > > > > I second this request for information about docstrings. Like Yann, I have > libxml2 and libxslt installed and I left DISABLE_DOCSTRINGS set to OFF. I also > have sphinx installed, which I think may be necessary for the docstrings to > work. > > I did see that the sphinxtabletest has been commented out in the > shiboken/tests/CMakeLists.txt file. I managed to get to compile and run > successfully by compiling in all the files from the generator CMakeLists.txt > except for main.cpp.The working test makes me think my sphinx setup is correct. > > I could understand my doxygen strings not working but the " documentation>" tags from pyside itself working. > > So, what are Yann and I missing? > > For what it is worth, I am on 64-bit Linux with gcc 4.6.2. > > Thank you > John Cummings > Hmm, the last part of my message got garbled. Let me try that again. I meant to say that the even strings in the "" tags in pyside itself are not showing up as docstrings. I assume that those worked at some point in the past or the " tag would not exist. Is this a bug or are we missing something? Thanks John Cummings From alex.gronholm at nextday.fi Sun Jun 3 00:46:05 2012 From: alex.gronholm at nextday.fi (=?ISO-8859-1?Q?Alex_Gr=F6nholm?=) Date: Sun, 03 Jun 2012 01:46:05 +0300 Subject: [PySide] PySide 1.1.1 Windows builds In-Reply-To: References: <4FBE9415.2000207@nextday.fi> <4FC75E82.3080500@nextday.fi> <4FC7A822.9010200@nextday.fi> Message-ID: <4FCA97AD.6040007@nextday.fi> 31.05.2012 22:20, Roman Lacko kirjoitti: > 2012/5/31, Alex Grönholm: >> 31.05.2012 16:05, Roman Lacko kirjoitti: >>> Hi, >>> >>> 2012/5/31 anatoly techtonik: >>>> On Thu, May 31, 2012 at 3:05 PM, Alex Grönholm >>>> wrote: >>>>> Please tell me -- what is the problem with uploading them to PyPI >>>>> itself?? It seems to me that hasn't even been considered here! >>>> In addition PyPI hosts a public download counter. Still I wonder how >>>> pythonpackages managed to count downloads - >>>> http://pythonpackages.com/package/pyside?tab=downloaded >>>> _______________________________________________ >>>> PySide mailing list >>>> PySide at qt-project.org >>>> http://lists.qt-project.org/mailman/listinfo/pyside >>> PySide is registerd on PyPI with customized download url, packages are >>> not downloaded directly from PyPI server but from that customized url >>> [1]. >> I know how it works. In my opinion, PyPI should hide any packages that >> don't offer direct downloads from PyPI itself. >> Why is this even being discussed instead of just uploading said packages >> to PyPI? It should be a standard part of the release procedure. >> PyPI has a fair number of mirrors you can use if the primary one is >> down. However, if an external website goes down and no files are hosted >> in PyPI, you're SOL. > Well, If You know how it works then You should know about 20Mb upload > limit to PyPI! This I'd never heard of. It was the key piece of information I was missing. Thanks for bringing this up. > >>> That is way You dont see any files on PyPI directly. >>> Setuptools/PIP handles this download urls transparently for You when >>> installing via [easy_install PySide]. >>> >>> If You have problems installing PySide on Windows via easy_install >>> just let me know. >>> >>> Regards >>> Roman >>> >>> [1] http://releases.qt-project.org/pyside/1.1.1/ >> _______________________________________________ >> PySide mailing list >> PySide at qt-project.org >> http://lists.qt-project.org/mailman/listinfo/pyside >> From freesoft12 at gmail.com Mon Jun 4 20:54:55 2012 From: freesoft12 at gmail.com (Rajesh) Date: Mon, 4 Jun 2012 18:54:55 +0000 (UTC) Subject: [PySide] My changes to get Pyside working on Linux Message-ID: Hi, As per Yann Lanthony's advice, I went to https://github.com/PySide/packaging (maintained by Roman Lacko) and used the build script (build.py) is inside the setuptools folder to install Pyside. I am running CentOS linux and here are the changes I had to make: 1. build.py changes: --------------- - Added the missing second %s in "lib/libpython%s%s.so" in py_library = os.path.join(py_prefix, "lib/libpython%s%s.so" % \ (py_version, dbgPostfix)) - Replaced 'https://' to 'git://' in giturl = "git://git.gitorious.org/pyside" - Comment out call to 'make_package'. python reported an error saying the call to 'make_package' below was passing in 9 args instead of required 10. However, for Linux platform, the 'make_package' fn is not implemented in 'package_linux.py'. Hence I commented out the whole section of that code. # if options.build_module is None and options.package_version is not None: # make_package(options.package_version, script_dir, sources_dir, build_dir, install_dir, py_version, # options.pack_examples, options.debug, qtinfo, logger) 2. I had to download and build my own Python (i just used v2.7.3), because PySide seems to need libpython2.7.so. Is this required? Regards Rajesh From backup.rlacko at gmail.com Mon Jun 4 23:57:38 2012 From: backup.rlacko at gmail.com (Roman Lacko) Date: Mon, 4 Jun 2012 23:57:38 +0200 Subject: [PySide] My changes to get Pyside working on Linux In-Reply-To: References: Message-ID: Hi, https://github.com/PySide/packaging will be deprecated soon, You can test new scripts from this repo: https://github.com/PySide/pyside-setup The scripts are (almost) finished,I tested the script under ubuntu 10.10 with Qt 4.6 and 12.04 with Qt 4.8. I installed packages: build-essentials, cmake, python-dev and qt-sdk Here is example how to build and install PySide (master branche) into virtualenv: $ git clone https://github.com/PySide/pyside-setup $ cd pyside-setup $ git submodule init $ git submodule update $ ../your_virt_env/bin/python setup.py install --qmake=/usr/bin/qmake ...wait 20 - 30 minutes NOTE: 1. set --qmake paramter only if qmake is not in path 2. to build without install run: python setup.py build OR python setup.py bdist OR python setup.py bdist_egg 3. use --help and/or --help-commands to view all options Please report any issues here, I want to officially release the new scripts at end of the week (or sooner) with updated dokumentation on wiki. R. 2012/6/4 Rajesh : > Hi, > > As per Yann Lanthony's advice, I went to  https://github.com/PySide/packaging > (maintained by Roman Lacko) and used the build script (build.py) is inside the > setuptools folder to install Pyside. > > I am running CentOS linux and here are the changes I had to make: > > 1. build.py changes: > --------------- > - Added the missing second %s in "lib/libpython%s%s.so" in > >  py_library = os.path.join(py_prefix, "lib/libpython%s%s.so" % \ >                         (py_version, dbgPostfix)) > > - Replaced 'https://' to 'git://' in >  giturl = "git://git.gitorious.org/pyside" > > - Comment out call to 'make_package'. python reported an error saying >  the call to 'make_package' below was passing in 9 args instead of >  required 10. However, for Linux platform, the 'make_package' fn is >  not implemented in 'package_linux.py'. Hence I commented out the >  whole section of that code. > >        # if options.build_module is None and options.package_version is not > None: >        #     make_package(options.package_version, script_dir, sources_dir, > build_dir, install_dir, py_version, >        #         options.pack_examples, options.debug, qtinfo, logger) > > 2. I had to download and build my own Python (i just used v2.7.3), because > PySide seems to need libpython2.7.so. Is this required? > > Regards > Rajesh > > _______________________________________________ > PySide mailing list > PySide at qt-project.org > http://lists.qt-project.org/mailman/listinfo/pyside From freesoft12 at gmail.com Tue Jun 5 02:18:10 2012 From: freesoft12 at gmail.com (Rajesh) Date: Tue, 5 Jun 2012 00:18:10 +0000 (UTC) Subject: [PySide] My changes to get Pyside working on Linux References: Message-ID: Hi Roman, The first problem I had: > $ git clone https://github.com/PySide/pyside-setup - This crashed for me. I am using git version 1.6.0.2. When I change 'https:' to 'git:', it worked. The fourth step had a problem: [ pyside-setup ] /usr/pkgs/python/v2.7.2/bin/python setup.py install Traceback (most recent call last): File "setup.py", line 46, in from setuptools import setup ImportError: No module named setuptools - Rajesh From backup.rlacko at gmail.com Tue Jun 5 08:58:41 2012 From: backup.rlacko at gmail.com (Roman Lacko) Date: Tue, 5 Jun 2012 08:58:41 +0200 Subject: [PySide] My changes to get Pyside working on Linux In-Reply-To: References: Message-ID: Hi, 2012/6/5 Rajesh : > > Hi Roman, > > The first problem I had: > >> $ git clone https://github.com/PySide/pyside-setup >  - This crashed for me. I am using git version 1.6.0.2. When I change 'https:' > to 'git:', it worked. > > The fourth step had a problem: > > [ pyside-setup ] /usr/pkgs/python/v2.7.2/bin/python setup.py install > Traceback (most recent call last): >  File "setup.py", line 46, in >    from setuptools import setup > ImportError: No module named setuptools > You need to install distribute: $ wget http://pypi.python.org/packages/source/d/distribute/distribute-0.6.27.tar.gz $ tar -xvzf distribute-0.6.27.tar.gz $ cd distribute-0.6.27 $ sudo python setup.py install R. > - Rajesh > > _______________________________________________ > PySide mailing list > PySide at qt-project.org > http://lists.qt-project.org/mailman/listinfo/pyside From backup.rlacko at gmail.com Tue Jun 5 09:45:13 2012 From: backup.rlacko at gmail.com (Roman Lacko) Date: Tue, 5 Jun 2012 09:45:13 +0200 Subject: [PySide] My changes to get Pyside working on Linux In-Reply-To: References: Message-ID: Hi, 2012/6/5 Rajesh : > > Hi Roman, > > The first problem I had: > >> $ git clone https://github.com/PySide/pyside-setup >  - This crashed for me. I am using git version 1.6.0.2. When I change 'https:' > to 'git:', it worked. > > The fourth step had a problem: > > [ pyside-setup ] /usr/pkgs/python/v2.7.2/bin/python setup.py install > Traceback (most recent call last): >  File "setup.py", line 46, in >    from setuptools import setup > ImportError: No module named setuptools > I have added distribute bootstrap to setup script. Just pull latest version from github and the distribute will be installed by the script itself Regards Roman > - Rajesh > > _______________________________________________ > PySide mailing list > PySide at qt-project.org > http://lists.qt-project.org/mailman/listinfo/pyside From jcummings2 at users.sf.net Tue Jun 5 16:22:27 2012 From: jcummings2 at users.sf.net (John Cummings) Date: Tue, 5 Jun 2012 14:22:27 +0000 (UTC) Subject: [PySide] Shiboken - Documentation support when binding a C++ library References: Message-ID: Yann Lanthony writes: > However, I have trouble understanding how I can also retrieve my C++ doxygen- style documentation as python docstrings, to be able to print functions doc at runtime with help(myFunction). > I am working on Windows (64bits) and I have compiled shiboken (and pyside) with docstring support (well, I linked libxml2 and libxslt which seem to be the 2 documentation related libraries).  > > > Is it at least possible to do something like that with the current version of shiboken (1.1.1) ? > Yann, the short answer is no, at least not the form you and I would like. The docstring related CMake settings (see my previous posts) are actually to produce sphinx-compatible .rst files. Apparently sphinx is somewhat like doxygen in that it expects docstrings to be formatted in a certain way and then you can output the documentation in different formats (HTML, PDF, etc.). Sphinx is apparently the python way of doing it. However, I did manage to cobble the pieces together to produce some .rst files using my existing doxygen-formatted documentation. To do that, I did the following (perhaps this should be a wiki entry or did I just miss the existing one?): 1. Make sure that libxml2 and libxslt are installed and that DISABLE_DOCSTRINGS is set to OFF (I believe that is the default if CMake finds libxml2 and libxslt). Build and compile shiboken as usual. Doing so essentially allows the - -generator-set argument to accept "qtdoc" as a value for generating documentation. 2. Run doxygen over your C++ library with the XML output enabled. Be sure to note the output directory for the XML files. 3. Run shiboken in the same way you would for generating the bindings but add the following additional options: * --generator-set=qtdoc This adds a documentation "generator" * --doc-parser=doxygen This sets the documentation parser to assume doxygen formatting. By default, qtdoc formatting is assumed. * --library-source-dir Set this to the top level of your C++ source tree. * --documentation-data-dir Set this to the doxygen XML output directory. There are also more options available. See QtDocGenerator::options for a better description or it turns out you can run "shiboken --help --generator-set=qtdoc" and it will display these options (did I miss a page on the wiki for this option?) You will then have .rst files for your library. Unfortunately, at this time, it doesn't grab as much of the doxygen documentation as I would like, but I do have the source code and may make changes. This still doesn't address your/our initial question. I'll post another email about that topic in particular. From freesoft12 at gmail.com Tue Jun 5 16:30:28 2012 From: freesoft12 at gmail.com (Rajesh) Date: Tue, 5 Jun 2012 14:30:28 +0000 (UTC) Subject: [PySide] My changes to get Pyside working on Linux References: Message-ID: Hi Roman, I deleted my prev pyside-setup dir and re-ran from the start. I got a crash in the 'git submodule init' command. ----------------------- [ pyside ] git clone git://github.com/PySide/pyside-setup Initialized empty Git repository in /usr/user1/pyside/pyside-setup/.git/ remote: Counting objects: 51, done. remote: Compressing objects: 100% (46/46), done. remote: Total 51 (delta 22), reused 34 (delta 5) Receiving objects: 100% (51/51), 75.43 KiB, done. Resolving deltas: 100% (22/22), done. [ pyside ] cd pyside-setup/ [ pyside-setup ] git submodule init Submodule 'sources/pyside' (https://git.gitorious.org/pyside/pyside.git) registered for path 'sources/pyside' Submodule 'sources/pyside-examples' (https://git.gitorious.org/pyside/pyside- examples.git) registered for path 'sources/pyside-examples' Submodule 'sources/pyside-tools' (https://git.gitorious.org/pyside/pyside- tools.git) registered for path 'sources/pyside-tools' Submodule 'sources/shiboken' (https://git.gitorious.org/pyside/shiboken.git) registered for path 'sources/shiboken' [ pyside-setup ] git submodule update Initialized empty Git repository in /usr/usr1/pyside/pyside- setup/sources/pyside/.git/ /grid/common/pkgs/git/v1.6.0.2/libexec/git-core//git-submodule: line 81: 21038 Segmentation fault git-clone -n "$url" "$path" Clone of 'https://git.gitorious.org/pyside/pyside.git' into submodule path 'sources/pyside' failed ----------------------- Regards Rajesh From backup.rlacko at gmail.com Tue Jun 5 16:53:54 2012 From: backup.rlacko at gmail.com (Roman Lacko) Date: Tue, 5 Jun 2012 16:53:54 +0200 Subject: [PySide] My changes to get Pyside working on Linux In-Reply-To: References: Message-ID: Hi, it look like the git problem (old version?). Can you try to clone the scripts using newer version of git ? I testes the script on windows and linux and have any issues BTW I commited some changes so you can now install directly from github via pip: $ pip install git+https://github.com/PySide/pyside-setup.git I recommend to install into virtualenv[1] if possible [1] http://pypi.python.org/pypi/virtualenv -Roman 2012/6/5 Rajesh : > Hi Roman, > > I deleted my prev pyside-setup dir and re-ran from the start. I got a crash in > the 'git submodule init' command. > > ----------------------- > [ pyside ] git clone git://github.com/PySide/pyside-setup > Initialized empty Git repository in /usr/user1/pyside/pyside-setup/.git/ > remote: Counting objects: 51, done. > remote: Compressing objects: 100% (46/46), done. > remote: Total 51 (delta 22), reused 34 (delta 5) > Receiving objects: 100% (51/51), 75.43 KiB, done. > Resolving deltas: 100% (22/22), done. > > [ pyside ] cd pyside-setup/ > > [ pyside-setup ] git submodule init > Submodule 'sources/pyside' (https://git.gitorious.org/pyside/pyside.git) > registered for path 'sources/pyside' > Submodule 'sources/pyside-examples' (https://git.gitorious.org/pyside/pyside- > examples.git) registered for path 'sources/pyside-examples' > Submodule 'sources/pyside-tools' (https://git.gitorious.org/pyside/pyside- > tools.git) registered for path 'sources/pyside-tools' > Submodule 'sources/shiboken' (https://git.gitorious.org/pyside/shiboken.git) > registered for path 'sources/shiboken' > > [ pyside-setup ] git submodule update > Initialized empty Git repository in /usr/usr1/pyside/pyside- > setup/sources/pyside/.git/ > /grid/common/pkgs/git/v1.6.0.2/libexec/git-core//git-submodule: line 81: 21038 > Segmentation fault      git-clone -n "$url" "$path" > Clone of 'https://git.gitorious.org/pyside/pyside.git' into submodule path > 'sources/pyside' failed > ----------------------- > > > Regards > Rajesh > > _______________________________________________ > PySide mailing list > PySide at qt-project.org > http://lists.qt-project.org/mailman/listinfo/pyside From hugo.lima at openbossa.org Tue Jun 5 19:33:19 2012 From: hugo.lima at openbossa.org (Hugo Parente Lima) Date: Tue, 05 Jun 2012 14:33:19 -0300 Subject: [PySide] Shiboken - Documentation support when binding a C++ library In-Reply-To: References: Message-ID: <47819469.Nu8lO6KdBR@hugodesktop> On Tuesday, June 05, 2012 02:22:27 PM John Cummings wrote: > Yann Lanthony writes: > > However, I have trouble understanding how I can also retrieve my C++ > > doxygen- > style documentation as python docstrings, to be able to print functions doc > at runtime with help(myFunction). > > > I am working on Windows (64bits) and I have compiled shiboken (and pyside) > > with docstring support (well, I linked libxml2 and libxslt which seem to be > the 2 documentation related libraries). > > > Is it at least possible to do something like that with the current version > > of > shiboken (1.1.1) ? > > > Yann, the short answer is no, at least not the form you and I would like. > The docstring related CMake settings (see my previous posts) are actually > to produce sphinx-compatible .rst files. Apparently sphinx is somewhat like > doxygen in that it expects docstrings to be formatted in a certain way and > then you can output the documentation in different formats (HTML, PDF, > etc.). Sphinx is apparently the python way of doing it. > > However, I did manage to cobble the pieces together to produce some .rst > files using my existing doxygen-formatted documentation. To do that, I did > the following (perhaps this should be a wiki entry or did I just miss the > existing one?): > > 1. Make sure that libxml2 and libxslt are installed and that > DISABLE_DOCSTRINGS is set to OFF (I believe that is the default if CMake > finds libxml2 and libxslt). Build and compile shiboken as usual. Doing so > essentially allows the - -generator-set argument to accept "qtdoc" as a > value for generating documentation. > > 2. Run doxygen over your C++ library with the XML output enabled. Be sure to > note the output directory for the XML files. > > 3. Run shiboken in the same way you would for generating the bindings but > add the following additional options: > * --generator-set=qtdoc This adds a documentation "generator" > * --doc-parser=doxygen This sets the documentation parser to assume > doxygen formatting. By default, qtdoc formatting is assumed. > * --library-source-dir Set this to the top level of your C++ source > tree. * --documentation-data-dir Set this to the doxygen XML output > directory. There are also more options available. See > QtDocGenerator::options for a better description or it turns out you can > run "shiboken --help --generator-set=qtdoc" and it will display these > options (did I miss a page on the wiki for this option?) > > You will then have .rst files for your library. Unfortunately, at this time, > it doesn't grab as much of the doxygen documentation as I would like, but I > do have the source code and may make changes. The doxygen backend still incomplete, because we had work mostly on qtdoc backend to support the PySide documentation. > This still doesn't address your/our initial question. I'll post another > email about that topic in particular. About docstrings, it's not supported, however it's not hard to add such support, you just need to decide what to do with documentation of function overloads. > _______________________________________________ > PySide mailing list > PySide at qt-project.org > http://lists.qt-project.org/mailman/listinfo/pyside -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 198 bytes Desc: This is a digitally signed message part. URL: From hugo.lima at openbossa.org Tue Jun 5 19:33:19 2012 From: hugo.lima at openbossa.org (Hugo Parente Lima) Date: Tue, 05 Jun 2012 14:33:19 -0300 Subject: [PySide] Shiboken - Documentation support when binding a C++ library In-Reply-To: References: Message-ID: <47819469.Nu8lO6KdBR@hugodesktop> On Tuesday, June 05, 2012 02:22:27 PM John Cummings wrote: > Yann Lanthony writes: > > However, I have trouble understanding how I can also retrieve my C++ > > doxygen- > style documentation as python docstrings, to be able to print functions doc > at runtime with help(myFunction). > > > I am working on Windows (64bits) and I have compiled shiboken (and pyside) > > with docstring support (well, I linked libxml2 and libxslt which seem to be > the 2 documentation related libraries). > > > Is it at least possible to do something like that with the current version > > of > shiboken (1.1.1) ? > > > Yann, the short answer is no, at least not the form you and I would like. > The docstring related CMake settings (see my previous posts) are actually > to produce sphinx-compatible .rst files. Apparently sphinx is somewhat like > doxygen in that it expects docstrings to be formatted in a certain way and > then you can output the documentation in different formats (HTML, PDF, > etc.). Sphinx is apparently the python way of doing it. > > However, I did manage to cobble the pieces together to produce some .rst > files using my existing doxygen-formatted documentation. To do that, I did > the following (perhaps this should be a wiki entry or did I just miss the > existing one?): > > 1. Make sure that libxml2 and libxslt are installed and that > DISABLE_DOCSTRINGS is set to OFF (I believe that is the default if CMake > finds libxml2 and libxslt). Build and compile shiboken as usual. Doing so > essentially allows the - -generator-set argument to accept "qtdoc" as a > value for generating documentation. > > 2. Run doxygen over your C++ library with the XML output enabled. Be sure to > note the output directory for the XML files. > > 3. Run shiboken in the same way you would for generating the bindings but > add the following additional options: > * --generator-set=qtdoc This adds a documentation "generator" > * --doc-parser=doxygen This sets the documentation parser to assume > doxygen formatting. By default, qtdoc formatting is assumed. > * --library-source-dir Set this to the top level of your C++ source > tree. * --documentation-data-dir Set this to the doxygen XML output > directory. There are also more options available. See > QtDocGenerator::options for a better description or it turns out you can > run "shiboken --help --generator-set=qtdoc" and it will display these > options (did I miss a page on the wiki for this option?) > > You will then have .rst files for your library. Unfortunately, at this time, > it doesn't grab as much of the doxygen documentation as I would like, but I > do have the source code and may make changes. The doxygen backend still incomplete, because we had work mostly on qtdoc backend to support the PySide documentation. > This still doesn't address your/our initial question. I'll post another > email about that topic in particular. About docstrings, it's not supported, however it's not hard to add such support, you just need to decide what to do with documentation of function overloads. > _______________________________________________ > PySide mailing list > PySide at qt-project.org > http://lists.qt-project.org/mailman/listinfo/pyside -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 198 bytes Desc: This is a digitally signed message part. URL: From frank at ohufx.com Wed Jun 6 05:36:48 2012 From: frank at ohufx.com (Frank Rueter | OHUfx) Date: Wed, 06 Jun 2012 15:36:48 +1200 Subject: [PySide] QFrame > need custom shadow color and no highlight Message-ID: <4FCED050.3080600@ohufx.com> Hi everyone, I have a QFrame set to "Panel" and "Sunken" style like this: import sys from PySide import QtGui app = QtGui.QApplication( sys.argv ) fr = QtGui.QFrame() fr.setFrameStyle( QtGui.QFrame.Panel | QtGui.QFrame.Sunken ) fr.setLineWidth( 3 ) fr.show() sys.exit( app.exec_() ) I am trying to control the shadow and highlight colours so I can darken the shadow and get rid of the highlight. I've been searching online but can't find the answer. Does anybody know how to do this? Cheers, frank From sebastian at risefx.com Wed Jun 6 17:16:09 2012 From: sebastian at risefx.com (Sebastian Elner) Date: Wed, 06 Jun 2012 17:16:09 +0200 Subject: [PySide] QFrame > need custom shadow color and no highlight In-Reply-To: <4FCED050.3080600@ohufx.com> References: <4FCED050.3080600@ohufx.com> Message-ID: <4FCF7439.3050307@risefx.com> Hey, You probably had a look at the help page and the frame style combinations? http://qt-project.org/doc/qt-4.8/qframe.html. I dont know of any way to change the default look of the frame. But maybe you can do something that you like with stylesheets. http://doc.qt.nokia.com/4.7-snapshot/stylesheet-reference.html http://doc.qt.nokia.com/4.7-snapshot/stylesheet-examples.html#customizing-qframe Cheers Sebastian On 06/06/2012 05:36 AM, Frank Rueter | OHUfx wrote: > Hi everyone, > > I have a QFrame set to "Panel" and "Sunken" style like this: > > import sys > from PySide import QtGui > > app = QtGui.QApplication( sys.argv ) > fr = QtGui.QFrame() > fr.setFrameStyle( QtGui.QFrame.Panel | QtGui.QFrame.Sunken ) > fr.setLineWidth( 3 ) > > fr.show() > sys.exit( app.exec_() ) > > > I am trying to control the shadow and highlight colours so I can darken > the shadow and get rid of the highlight. > > I've been searching online but can't find the answer. > > Does anybody know how to do this? > > Cheers, > frank > > _______________________________________________ > PySide mailing list > PySide at qt-project.org > http://lists.qt-project.org/mailman/listinfo/pyside -- Sebastian Elsner - pipeline td - r i s e | fx t: +49 30 20180300 sebastian at risefx.com www.risefx.com r i s e | fx GmbH Schlesische Strasse 28 Aufgang B, 10997 Berlin Geschäftsführer: Sven Pannicke, Robert Pinnow Handelsregister Berlin HRB 106667 B From jcummings2 at users.sf.net Wed Jun 6 19:58:44 2012 From: jcummings2 at users.sf.net (John Cummings) Date: Wed, 06 Jun 2012 12:58:44 -0500 Subject: [PySide] Automatic docstring generation Message-ID: <4FCF9A54.3010807@users.sf.net> All, Those following this list may have noticed emails from Yann Lanthony and myself regarding docstring support. Unless I have missed something in my review of Shiboken, it does not insert any docstrings into the generated bindings. Unfortunately, this means, for instance, that in a python shell typing "help(PySide.QtGui.QCheckbox.setChecked)" yields something useless like: Help on method_descriptor: setChecked(...) That compares with PyQt with the semi-useful: Help on built-in function setChecked: setChecked(...) QAbstractButton.setChecked(bool) It would be ideal to have it simply use the existing qtdoc format documentation. As such, I have looked through the code and identified how to add a docstring to a method. In fact, I hacked in the use of a DocParser to retrieve the documentation in a manner similar to QtDocGenerator. Basically, I have a proof of concept and can confirm Hugo's assertion that it would be easy to add. So, why this email to the list? My approach is brittle and copies code. The functionality I want is in the QtDocGenerator class but hidden beneath some protected and private members. The question is, what would be the best approach? I see a few possibilities and I am open for suggestions: 1. Use the QtDocGenerator more or less as is since it already modifies the documentation value for each class when it calls DocParser::fillDocumentation(), which sets the documentation for the meta-class object. You would then just need to add a QtDocGenerator on the front of the list of generators in generator/main.cpp. This approach seems short-sighted and error prone in the long run. 2. Abstract the documentation functionality for methods, classes, enums, etc. out of QtDocGenerator and then make the existing QtDocGenerator as well as the CppGenerator users of the new class. The DocParser class is great but QtDocGenerator adds some decent default docstrings for those items that are not documented with qtdoc or doxygen. I like this approach the best. 3. Add yet another generator. In theory, I suppose you could write code to set the appropriate value in the Python structs. It sure seems easier to me to modify the CppGenerator and insert the documentation when you initialize the Python structs. 4. A callback system. That is, when the CppGenerator needs a docstring for a method, class, module, etc. it would ask the callback for it. This approach could be used in concert with number 2 above. 5. A visitor pattern. It appears that the the API extractor has a visitor pattern built into it. Perhaps we could create visitors that populated the documentation. I've explored this option the least. I have a need for this docstring functionality, so I am motivated to get it done quickly. I'd appreciate feedback from the list as to the best approach. As far as actually coding it, should I do work locally and then submit for review via Gerrit? Is a public git clone on gitorious the appropriate avenue for exploring these option? Do I need to submit a feature request? Am I getting ahead of myself? Sorry for the long email John Cummings -------------- next part -------------- An HTML attachment was scrubbed... URL: From freesoft12 at gmail.com Wed Jun 6 23:19:11 2012 From: freesoft12 at gmail.com (Rajesh) Date: Wed, 6 Jun 2012 21:19:11 +0000 (UTC) Subject: [PySide] My changes to get Pyside working on Linux References: Message-ID: Looks like its just not working for me. I created a new 'pyside' dir and ran these steps: [ pyside ] python ../virtualenv-1.7.1.2/virtualenv.py pyside_env New python executable in pyside_env/bin/python Installing setuptools............done. Installing pip...............done. [ pyside ] cd pyside_env/ [ pyside_env ] ./bin/pip install pyside Downloading/unpacking pyside Downloading pyside-1.1.0-docs.zip (38.6Mb): 38.6Mb downloaded Running setup.py egg_info for package pyside Traceback (most recent call last): File "", line 14, in IOError: [Errno 2] No such file or directory: '/usr/user1/python/pyside/pyside_env/build/pyside/setup.py' Complete output from command python setup.py egg_info: Traceback (most recent call last): File "", line 14, in IOError: [Errno 2] No such file or directory: '/usr/user1/python/pyside/pyside_env/build/pyside/setup.py' ---------------------------------------- Command python setup.py egg_info failed with error code 1 in /usr/user1/python/pyside/pyside_env/build/pyside Storing complete log in $HOME/.pip/pip.log ------------ where pip.log contains: -------------- ------------------------------------------------------------ ./bin/pip run on Wed Jun 6 10:06:07 2012 Downloading/unpacking pyside Getting page http://pypi.python.org/simple/pyside URLs to search for versions for pyside: * http://pypi.python.org/simple/pyside/ Getting page http://pypi.python.org/simple/pyside/ Getting page http://www.pyside.org Getting page http://www.pyside.org/files/ Getting page http://www.pyside.org/files/pkg/ Getting page http://releases.qt-project.org/pyside/1.1.1/ Analyzing links from page http://pypi.python.org/simple/PySide/ Skipping link http://pypi.python.org/packages/2.6/P/PySide/PySide- 1.0.2qt472.win32-py2.6.exe#md5=c086d0f1c5dd4a6d17d4f75cfeb49efd (from http://pypi.python.org/simple/PySide/); unknown archive format: .exe Skipping link http://pypi.python.org/packages/2.7/P/PySide/PySide- 1.0.0qt472.win32-py2.7.exe#md5=2bb140bf08631673ac996ba8f0e682d0 (from http://pypi.python.org/simple/PySide/); unknown archive format: .exe Skipping link http://pypi.python.org/packages/2.7/P/PySide/PySide- 1.0.1qt472.win32-py2.7.exe#md5=2aa8545a87a35ee60570712f01e2fe04 (from http://pypi.python.org/simple/PySide/); unknown archive format: .exe Skipping link http://pypi.python.org/packages/2.7/P/PySide/PySide- 1.0.2qt472.win32-py2.7.exe#md5=876671bbb0976bd8a23ab4af8273cd97 (from http://pypi.python.org/simple/PySide/); unknown archive format: .exe Skipping link http://pypi.python.org/packages/2.6/P/PySide/PySide- 1.0.0qt472.win32-py2.6.exe#md5=51cef2d4b33b343cc0b2c4714cebfa30 (from http://pypi.python.org/simple/PySide/); unknown archive format: .exe Skipping link http://pypi.python.org/packages/2.5/P/PySide/PySide- 1.0.2qt472.win32-py2.5.exe#md5=dae0fe0869a024ba0e0d663618b620a4 (from http://pypi.python.org/simple/PySide/); unknown archive format: .exe Skipping link http://pypi.python.org/packages/2.5/P/PySide/PySide- 1.0.1qt472.win32-py2.5.exe#md5=b057b325b160ec6bb3d93bfc6151410b (from http://pypi.python.org/simple/PySide/); unknown archive format: .exe Skipping link http://pypi.python.org/packages/2.5/P/PySide/PySide- 1.0.0qt472.win32-py2.5.exe#md5=69f00a445406d9725400fbd76b52d7d8 (from http://pypi.python.org/simple/PySide/); unknown archive format: .exe Skipping link http://pypi.python.org/packages/2.6/P/PySide/PySide- 1.0.1qt472.win32-py2.6.exe#md5=cee2323616070bd7f4e6c088df0c2f74 (from http://pypi.python.org/simple/PySide/); unknown archive format: .exe Skipping link http://www.pyside.org (from http://pypi.python.org/simple/PySide/); not a file Skipping link http://www.pyside.org/files/ (from http://pypi.python.org/simple/PySide/); not a file Skipping link http://www.pyside.org/files/pkg/ (from http://pypi.python.org/simple/PySide/); not a file Skipping link http://releases.qt-project.org/pyside/1.1.1/ (from http://pypi.python.org/simple/PySide/); unknown archive format: .1 Skipping link http://www.pyside.org/docs/pseps/psep-0001.html (from http://pypi.python.org/simple/PySide/); unknown archive format: .html Skipping link http://developer.qt.nokia.com/wiki/PySideDownloads (from http://pypi.python.org/simple/PySide/); not a file Skipping link http://qt.gitorious.org/pyside (from http://pypi.python.org/simple/PySide/); not a file Skipping link http://bugs.openbossa.org/ (from http://pypi.python.org/simple/PySide/); not a file Analyzing links from page http://www.pyside.org Skipping link http://www.pyside.org/wp-content/themes/openbossa/style.css (from http://www.pyside.org); unknown archive format: .css Skipping link http://www.pyside.org/feed/ (from http://www.pyside.org); not a file Skipping link http://www.pyside.org/feed/atom/ (from http://www.pyside.org); not a file Skipping link http://www.pyside.org/xmlrpc.php (from http://www.pyside.org); unknown archive format: .php Skipping link http://www.pyside.org/wp- content/themes/openbossa/images/icon.png (from http://www.pyside.org); unknown archive format: .png Skipping link http://www.pyside.org/wp-content/plugins/nextgen- gallery/css/nggallery.css?ver=1.0.0 (from http://www.pyside.org); unknown archive format: .css Skipping link http://www.pyside.org/wp-content/plugins/nextgen- gallery/shutter/shutter-reloaded.css?ver=1.3.0 (from http://www.pyside.org); unknown archive format: .css Skipping link http://www.pyside.org/xmlrpc.php?rsd (from http://www.pyside.org); unknown archive format: .php Skipping link http://www.pyside.org/wp-includes/wlwmanifest.xml (from http://www.pyside.org); unknown archive format: .xml Skipping link http://www.pyside.org/wp-content/plugins/wp-syntax/wp- syntax.css (from http://www.pyside.org); unknown archive format: .css Skipping link http://www.pyside.org/wp-content/plugins/nextgen- gallery/xml/media-rss.php (from http://www.pyside.org); unknown archive format: .php Skipping link http://www.pyside.org/news/ (from http://www.pyside.org); not a file Skipping link http://www.pyside.org/support/ (from http://www.pyside.org); not a file Skipping link http://developer.qt.nokia.com/wiki/PySide_FAQ (from http://www.pyside.org); not a file Skipping link http://developer.qt.nokia.com/wiki/PySideDocumentation/ (from http://www.pyside.org); not a file Skipping link http://developer.qt.nokia.com/wiki/PySide/ (from http://www.pyside.org); not a file Skipping link http://developer.qt.nokia.com/wiki/Category:LanguageBindings::PySide::Downloads (from http://www.pyside.org); not a file Skipping link http://www.pyside.org/roadmap/ (from http://www.pyside.org); not a file Skipping link http://www.pyside.org/about/ (from http://www.pyside.org); not a file Skipping link http://www.pyside.org/2012/04/pyside-1-1-1-free-hugs-python- for-qt-released/ (from http://www.pyside.org); not a file Skipping link http://www.pyside.org/2012/03/pyside-becomes-a-qt-add-on/ (from http://www.pyside.org); not a file Skipping link http://www.pyside.org/2012/01/pyside-1-1-0-%e2%80%93- %e2%80%9cadriano%e2%80%9d-python-for-qt-released/ (from http://www.pyside.org); not a file Skipping link http://www.indt.org.br (from http://www.pyside.org); not a file Skipping link http://www.openbossa.org.br (from http://www.pyside.org); not a file Skipping link http://www.qt.nokia.com (from http://www.pyside.org); not a file Skipping link http://www.python.org (from http://www.pyside.org); not a file Analyzing links from page http://www.pyside.org/files/ Skipping link http://www.pyside.org/ (from http://www.pyside.org/files/); not a file Skipping link http://www.pyside.org/files/?C=N;O=D (from http://www.pyside.org/files/); not a file Skipping link http://www.pyside.org/files/?C=M;O=A (from http://www.pyside.org/files/); not a file Skipping link http://www.pyside.org/files/?C=S;O=A (from http://www.pyside.org/files/); not a file Skipping link http://www.pyside.org/files/?C=D;O=A (from http://www.pyside.org/files/); not a file Skipping link http://www.pyside.org/files/0.4.2-patches/ (from http://www.pyside.org/files/); unknown archive format: .2-patches Skipping link http://www.pyside.org/files/icecc/ (from http://www.pyside.org/files/); not a file Skipping link http://www.pyside.org/files/nightly/ (from http://www.pyside.org/files/); not a file Skipping link http://www.pyside.org/files/PySide-1.0.3qt473.win-amd64- py2.6.exe (from http://www.pyside.org/files/); unknown archive format: .exe Skipping link http://www.pyside.org/files/PySide-1.0.3qt473.win-amd64- py2.7.exe (from http://www.pyside.org/files/); unknown archive format: .exe Skipping link http://www.pyside.org/files/PySide-1.0.3qt473.win32-py2.6.exe (from http://www.pyside.org/files/); unknown archive format: .exe Skipping link http://www.pyside.org/files/PySide-1.0.3qt473.win32-py2.7.exe (from http://www.pyside.org/files/); unknown archive format: .exe Skipping link http://www.pyside.org/files/PySide-1.0.4qt473.win-amd64- py2.6.exe (from http://www.pyside.org/files/); unknown archive format: .exe Skipping link http://www.pyside.org/files/PySide-1.0.4qt473.win-amd64- py2.7.exe (from http://www.pyside.org/files/); unknown archive format: .exe Skipping link http://www.pyside.org/files/PySide-1.0.4qt473.win32-py2.6.exe (from http://www.pyside.org/files/); unknown archive format: .exe Skipping link http://www.pyside.org/files/PySide-1.0.4qt473.win32-py2.7.exe (from http://www.pyside.org/files/); unknown archive format: .exe Skipping link http://www.pyside.org/files/PySide-1.0.5qt473.win-amd64- py2.6.exe (from http://www.pyside.org/files/); unknown archive format: .exe Skipping link http://www.pyside.org/files/PySide-1.0.5qt473.win-amd64- py2.7.exe (from http://www.pyside.org/files/); unknown archive format: .exe Skipping link http://www.pyside.org/files/PySide-1.0.5qt473.win32-py2.6.exe (from http://www.pyside.org/files/); unknown archive format: .exe Skipping link http://www.pyside.org/files/PySide-1.0.5qt473.win32-py2.7.exe (from http://www.pyside.org/files/); unknown archive format: .exe Skipping link http://www.pyside.org/files/PySide-1.0.6qt473.win-amd64- py2.6.exe (from http://www.pyside.org/files/); unknown archive format: .exe Skipping link http://www.pyside.org/files/PySide-1.0.6qt473.win-amd64- py2.7.exe (from http://www.pyside.org/files/); unknown archive format: .exe Skipping link http://www.pyside.org/files/PySide-1.0.6qt473.win32-py2.6.exe (from http://www.pyside.org/files/); unknown archive format: .exe Skipping link http://www.pyside.org/files/PySide-1.0.6qt473.win32-py2.7.exe (from http://www.pyside.org/files/); unknown archive format: .exe Skipping link http://www.pyside.org/files/PySide-1.0.6qt474.win-amd64- py2.6.exe (from http://www.pyside.org/files/); unknown archive format: .exe Skipping link http://www.pyside.org/files/PySide-1.0.6qt474.win-amd64- py2.7.exe (from http://www.pyside.org/files/); unknown archive format: .exe Skipping link http://www.pyside.org/files/PySide-1.0.6qt474.win32-py2.6.exe (from http://www.pyside.org/files/); unknown archive format: .exe Skipping link http://www.pyside.org/files/PySide-1.0.6qt474.win32-py2.7.exe (from http://www.pyside.org/files/); unknown archive format: .exe Skipping link http://www.pyside.org/files/PySide-1.0.7qt474.win-amd64- py2.6.exe (from http://www.pyside.org/files/); unknown archive format: .exe Skipping link http://www.pyside.org/files/PySide-1.0.7qt474.win-amd64- py2.7.exe (from http://www.pyside.org/files/); unknown archive format: .exe Skipping link http://www.pyside.org/files/PySide-1.0.7qt474.win32-py2.6.exe (from http://www.pyside.org/files/); unknown archive format: .exe Skipping link http://www.pyside.org/files/PySide-1.0.7qt474.win32-py2.7.exe (from http://www.pyside.org/files/); unknown archive format: .exe Skipping link http://www.pyside.org/files/PySide-1.0.9qt474.win-amd64- py2.6.exe (from http://www.pyside.org/files/); unknown archive format: .exe Skipping link http://www.pyside.org/files/PySide-1.0.9qt474.win-amd64- py2.7.exe (from http://www.pyside.org/files/); unknown archive format: .exe Skipping link http://www.pyside.org/files/PySide-1.0.9qt474.win32-py2.6.exe (from http://www.pyside.org/files/); unknown archive format: .exe Skipping link http://www.pyside.org/files/PySide-1.0.9qt474.win32-py2.7.exe (from http://www.pyside.org/files/); unknown archive format: .exe Skipping link http://www.pyside.org/files/PySide-1.1.0qt474.win-amd64- py2.6.exe (from http://www.pyside.org/files/); unknown archive format: .exe Skipping link http://www.pyside.org/files/PySide-1.1.0qt474.win-amd64- py2.7.exe (from http://www.pyside.org/files/); unknown archive format: .exe Skipping link http://www.pyside.org/files/PySide-1.1.0qt474.win-amd64- py3.2.exe (from http://www.pyside.org/files/); unknown archive format: .exe Skipping link http://www.pyside.org/files/PySide-1.1.0qt474.win32-py2.6.exe (from http://www.pyside.org/files/); unknown archive format: .exe Skipping link http://www.pyside.org/files/PySide-1.1.0qt474.win32-py2.7.exe (from http://www.pyside.org/files/); unknown archive format: .exe Skipping link http://www.pyside.org/files/PySide-1.1.0qt474.win32-py3.2.exe (from http://www.pyside.org/files/); unknown archive format: .exe Found link http://www.pyside.org/files/PySide-qt4.6+git20100106.pkg.zip (from http://www.pyside.org/files/), version: qt4.6 Skipping link http://www.pyside.org/files/PySide- qt4.6+git20100106.pkg.zip.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Skipping link http://www.pyside.org/files/apiextractor-0.10.0.tar.bz2 (from http://www.pyside.org/files/); wrong project name (not pyside) Skipping link http://www.pyside.org/files/apiextractor-0.10.0.tar.bz2.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Skipping link http://www.pyside.org/files/apiextractor-0.10.1.tar.bz2 (from http://www.pyside.org/files/); wrong project name (not pyside) Skipping link http://www.pyside.org/files/apiextractor-0.10.1.tar.bz2.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Skipping link http://www.pyside.org/files/apiextractor-0.10.10.tar.bz2 (from http://www.pyside.org/files/); wrong project name (not pyside) Skipping link http://www.pyside.org/files/apiextractor-0.10.10.tar.bz2.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Skipping link http://www.pyside.org/files/apiextractor-0.10.2.tar.bz2 (from http://www.pyside.org/files/); wrong project name (not pyside) Skipping link http://www.pyside.org/files/apiextractor-0.10.2.tar.bz2.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Skipping link http://www.pyside.org/files/apiextractor-0.10.3.tar.bz2 (from http://www.pyside.org/files/); wrong project name (not pyside) Skipping link http://www.pyside.org/files/apiextractor-0.10.3.tar.bz2.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Skipping link http://www.pyside.org/files/apiextractor-0.10.4.tar.bz2 (from http://www.pyside.org/files/); wrong project name (not pyside) Skipping link http://www.pyside.org/files/apiextractor-0.10.4.tar.bz2.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Skipping link http://www.pyside.org/files/apiextractor-0.10.5.tar.bz2 (from http://www.pyside.org/files/); wrong project name (not pyside) Skipping link http://www.pyside.org/files/apiextractor-0.10.5.tar.bz2.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Skipping link http://www.pyside.org/files/apiextractor-0.10.6.tar.bz2 (from http://www.pyside.org/files/); wrong project name (not pyside) Skipping link http://www.pyside.org/files/apiextractor-0.10.6.tar.bz2.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Skipping link http://www.pyside.org/files/apiextractor-0.10.7.tar.bz2 (from http://www.pyside.org/files/); wrong project name (not pyside) Skipping link http://www.pyside.org/files/apiextractor-0.10.7.tar.bz2.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Skipping link http://www.pyside.org/files/apiextractor-0.10.8.tar.bz2 (from http://www.pyside.org/files/); wrong project name (not pyside) Skipping link http://www.pyside.org/files/apiextractor-0.10.8.tar.bz2.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Skipping link http://www.pyside.org/files/apiextractor-0.10.9.tar.bz2 (from http://www.pyside.org/files/); wrong project name (not pyside) Skipping link http://www.pyside.org/files/apiextractor-0.10.9.tar.bz2.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Skipping link http://www.pyside.org/files/apiextractor-0.2.tar.bz2 (from http://www.pyside.org/files/); wrong project name (not pyside) Skipping link http://www.pyside.org/files/apiextractor-0.2.tar.bz2.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Skipping link http://www.pyside.org/files/apiextractor-0.3.0.tar.bz2 (from http://www.pyside.org/files/); wrong project name (not pyside) Skipping link http://www.pyside.org/files/apiextractor-0.3.0.tar.bz2.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Skipping link http://www.pyside.org/files/apiextractor-0.3.1.tar.bz2 (from http://www.pyside.org/files/); wrong project name (not pyside) Skipping link http://www.pyside.org/files/apiextractor-0.3.1.tar.bz2.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Skipping link http://www.pyside.org/files/apiextractor-0.3.2.tar.bz2 (from http://www.pyside.org/files/); wrong project name (not pyside) Skipping link http://www.pyside.org/files/apiextractor-0.3.2.tar.bz2.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Skipping link http://www.pyside.org/files/apiextractor-0.3.3.tar.bz2 (from http://www.pyside.org/files/); wrong project name (not pyside) Skipping link http://www.pyside.org/files/apiextractor-0.3.3.tar.bz2.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Skipping link http://www.pyside.org/files/apiextractor-0.4.0.tar.bz2 (from http://www.pyside.org/files/); wrong project name (not pyside) Skipping link http://www.pyside.org/files/apiextractor-0.4.0.tar.bz2.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Skipping link http://www.pyside.org/files/apiextractor-0.5.0.tar.bz2 (from http://www.pyside.org/files/); wrong project name (not pyside) Skipping link http://www.pyside.org/files/apiextractor-0.5.0.tar.bz2.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Skipping link http://www.pyside.org/files/apiextractor-0.5.1.tar.bz2 (from http://www.pyside.org/files/); wrong project name (not pyside) Skipping link http://www.pyside.org/files/apiextractor-0.5.1.tar.bz2.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Skipping link http://www.pyside.org/files/apiextractor-0.6.0.tar.bz2 (from http://www.pyside.org/files/); wrong project name (not pyside) Skipping link http://www.pyside.org/files/apiextractor-0.6.0.tar.bz2.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Skipping link http://www.pyside.org/files/apiextractor-0.7.0.tar.bz2 (from http://www.pyside.org/files/); wrong project name (not pyside) Skipping link http://www.pyside.org/files/apiextractor-0.7.0.tar.bz2.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Skipping link http://www.pyside.org/files/apiextractor-0.8.0.tar.bz2 (from http://www.pyside.org/files/); wrong project name (not pyside) Skipping link http://www.pyside.org/files/apiextractor-0.8.0.tar.bz2.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Skipping link http://www.pyside.org/files/apiextractor-0.8.1.tar.bz2 (from http://www.pyside.org/files/); wrong project name (not pyside) Skipping link http://www.pyside.org/files/apiextractor-0.8.1.tar.bz2.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Skipping link http://www.pyside.org/files/apiextractor-0.9.0.tar.bz2 (from http://www.pyside.org/files/); wrong project name (not pyside) Skipping link http://www.pyside.org/files/apiextractor-0.9.0.tar.bz2.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Skipping link http://www.pyside.org/files/apiextractor-0.9.1.tar.bz2 (from http://www.pyside.org/files/); wrong project name (not pyside) Skipping link http://www.pyside.org/files/apiextractor-0.9.1.tar.bz2.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Skipping link http://www.pyside.org/files/apiextractor-0.9.2.tar.bz2 (from http://www.pyside.org/files/); wrong project name (not pyside) Skipping link http://www.pyside.org/files/apiextractor-0.9.2.tar.bz2.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Skipping link http://www.pyside.org/files/apiextractor-0.9.3.tar.bz2 (from http://www.pyside.org/files/); wrong project name (not pyside) Skipping link http://www.pyside.org/files/apiextractor-0.9.3.tar.bz2.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Skipping link http://www.pyside.org/files/apiextractor-0.9.4.tar.bz2 (from http://www.pyside.org/files/); wrong project name (not pyside) Skipping link http://www.pyside.org/files/apiextractor-0.9.4.tar.bz2.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Skipping link http://www.pyside.org/files/apiextractor-latest.tar.bz2 (from http://www.pyside.org/files/); wrong project name (not pyside) Skipping link http://www.pyside.org/files/apiextractor-latest.tar.bz2.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Skipping link http://www.pyside.org/files/binding-tutorial.tar.gz (from http://www.pyside.org/files/); wrong project name (not pyside) Skipping link http://www.pyside.org/files/boostpythongenerator-0.1.tar.gz (from http://www.pyside.org/files/); wrong project name (not pyside) Skipping link http://www.pyside.org/files/boostpythongenerator- 0.1.tar.gz.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Skipping link http://www.pyside.org/files/boostpythongenerator-0.2.tar.bz2 (from http://www.pyside.org/files/); wrong project name (not pyside) Skipping link http://www.pyside.org/files/boostpythongenerator- 0.2.tar.bz2.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Skipping link http://www.pyside.org/files/boostpythongenerator-0.2.tar.gz (from http://www.pyside.org/files/); wrong project name (not pyside) Skipping link http://www.pyside.org/files/boostpythongenerator- 0.2.tar.gz.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Skipping link http://www.pyside.org/files/boostpythongenerator-0.3.2.tar.bz2 (from http://www.pyside.org/files/); wrong project name (not pyside) Skipping link http://www.pyside.org/files/boostpythongenerator- 0.3.2.tar.bz2.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Skipping link http://www.pyside.org/files/boostpythongenerator- 0.3.2a1.tar.bz2 (from http://www.pyside.org/files/); wrong project name (not pyside) Skipping link http://www.pyside.org/files/boostpythongenerator- 0.3.2a1.tar.bz2.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Skipping link http://www.pyside.org/files/boostpythongenerator-0.3.3.tar.bz2 (from http://www.pyside.org/files/); wrong project name (not pyside) Skipping link http://www.pyside.org/files/boostpythongenerator- 0.3.3.tar.bz2.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Skipping link http://www.pyside.org/files/boostpythongenerator-0.3.tar.bz2 (from http://www.pyside.org/files/); wrong project name (not pyside) Skipping link http://www.pyside.org/files/boostpythongenerator- 0.3.tar.bz2.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Skipping link http://www.pyside.org/files/generatorrunner-0.3.1.tar.bz2 (from http://www.pyside.org/files/); wrong project name (not pyside) Skipping link http://www.pyside.org/files/generatorrunner-0.3.1.tar.bz2.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Skipping link http://www.pyside.org/files/generatorrunner-0.3.2.tar.bz2 (from http://www.pyside.org/files/); wrong project name (not pyside) Skipping link http://www.pyside.org/files/generatorrunner-0.3.2.tar.bz2.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Skipping link http://www.pyside.org/files/generatorrunner-0.3.2a1.tar.bz2 (from http://www.pyside.org/files/); wrong project name (not pyside) Skipping link http://www.pyside.org/files/generatorrunner- 0.3.2a1.tar.bz2.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Skipping link http://www.pyside.org/files/generatorrunner-0.3.3.tar.bz2 (from http://www.pyside.org/files/); wrong project name (not pyside) Skipping link http://www.pyside.org/files/generatorrunner-0.3.3.tar.bz2.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Skipping link http://www.pyside.org/files/generatorrunner-0.4.0.tar.bz2 (from http://www.pyside.org/files/); wrong project name (not pyside) Skipping link http://www.pyside.org/files/generatorrunner-0.4.0.tar.bz2.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Skipping link http://www.pyside.org/files/generatorrunner-0.4.1.tar.bz2 (from http://www.pyside.org/files/); wrong project name (not pyside) Skipping link http://www.pyside.org/files/generatorrunner-0.4.1.tar.bz2.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Skipping link http://www.pyside.org/files/generatorrunner-0.4.2.tar.bz2 (from http://www.pyside.org/files/); wrong project name (not pyside) Skipping link http://www.pyside.org/files/generatorrunner-0.4.2.tar.bz2.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Skipping link http://www.pyside.org/files/generatorrunner-0.5.0.tar.bz2 (from http://www.pyside.org/files/); wrong project name (not pyside) Skipping link http://www.pyside.org/files/generatorrunner-0.5.0.tar.bz2.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Skipping link http://www.pyside.org/files/generatorrunner-0.6.0.tar.bz2 (from http://www.pyside.org/files/); wrong project name (not pyside) Skipping link http://www.pyside.org/files/generatorrunner-0.6.0.tar.bz2.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Skipping link http://www.pyside.org/files/generatorrunner-0.6.1.tar.bz2 (from http://www.pyside.org/files/); wrong project name (not pyside) Skipping link http://www.pyside.org/files/generatorrunner-0.6.1.tar.bz2.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Skipping link http://www.pyside.org/files/generatorrunner-0.6.10.tar.bz2 (from http://www.pyside.org/files/); wrong project name (not pyside) Skipping link http://www.pyside.org/files/generatorrunner-0.6.10.tar.bz2.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Skipping link http://www.pyside.org/files/generatorrunner-0.6.11.tar.bz2 (from http://www.pyside.org/files/); wrong project name (not pyside) Skipping link http://www.pyside.org/files/generatorrunner-0.6.11.tar.bz2.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Skipping link http://www.pyside.org/files/generatorrunner-0.6.12.tar.bz2 (from http://www.pyside.org/files/); wrong project name (not pyside) Skipping link http://www.pyside.org/files/generatorrunner-0.6.12.tar.bz2.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Skipping link http://www.pyside.org/files/generatorrunner-0.6.13.tar.bz2 (from http://www.pyside.org/files/); wrong project name (not pyside) Skipping link http://www.pyside.org/files/generatorrunner-0.6.13.tar.bz2.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Skipping link http://www.pyside.org/files/generatorrunner-0.6.13.zip (from http://www.pyside.org/files/); wrong project name (not pyside) Skipping link http://www.pyside.org/files/generatorrunner-0.6.14.tar.bz2 (from http://www.pyside.org/files/); wrong project name (not pyside) Skipping link http://www.pyside.org/files/generatorrunner-0.6.14.tar.bz2.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Skipping link http://www.pyside.org/files/generatorrunner-0.6.15.tar.bz2 (from http://www.pyside.org/files/); wrong project name (not pyside) Skipping link http://www.pyside.org/files/generatorrunner-0.6.15.tar.bz2.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Skipping link http://www.pyside.org/files/generatorrunner-0.6.16.tar.bz2 (from http://www.pyside.org/files/); wrong project name (not pyside) Skipping link http://www.pyside.org/files/generatorrunner-0.6.16.tar.bz2.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Skipping link http://www.pyside.org/files/generatorrunner-0.6.2.tar.bz2 (from http://www.pyside.org/files/); wrong project name (not pyside) Skipping link http://www.pyside.org/files/generatorrunner-0.6.2.tar.bz2.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Skipping link http://www.pyside.org/files/generatorrunner-0.6.3.tar.bz2 (from http://www.pyside.org/files/); wrong project name (not pyside) Skipping link http://www.pyside.org/files/generatorrunner-0.6.3.tar.bz2.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Skipping link http://www.pyside.org/files/generatorrunner-0.6.4.tar.bz2 (from http://www.pyside.org/files/); wrong project name (not pyside) Skipping link http://www.pyside.org/files/generatorrunner-0.6.4.tar.bz2.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Skipping link http://www.pyside.org/files/generatorrunner-0.6.5.tar.bz2 (from http://www.pyside.org/files/); wrong project name (not pyside) Skipping link http://www.pyside.org/files/generatorrunner-0.6.5.tar.bz2.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Skipping link http://www.pyside.org/files/generatorrunner-0.6.6.tar.bz2 (from http://www.pyside.org/files/); wrong project name (not pyside) Skipping link http://www.pyside.org/files/generatorrunner-0.6.6.tar.bz2.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Skipping link http://www.pyside.org/files/generatorrunner-0.6.7.tar.bz2 (from http://www.pyside.org/files/); wrong project name (not pyside) Skipping link http://www.pyside.org/files/generatorrunner-0.6.7.tar.bz2.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Skipping link http://www.pyside.org/files/generatorrunner-0.6.8.tar.bz2 (from http://www.pyside.org/files/); wrong project name (not pyside) Skipping link http://www.pyside.org/files/generatorrunner-0.6.8.tar.bz2.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Skipping link http://www.pyside.org/files/generatorrunner-0.6.9.tar.bz2 (from http://www.pyside.org/files/); wrong project name (not pyside) Skipping link http://www.pyside.org/files/generatorrunner-latest.tar.bz2 (from http://www.pyside.org/files/); wrong project name (not pyside) Skipping link http://www.pyside.org/files/generatorrunner-latest.tar.bz2.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Skipping link http://www.pyside.org/files/libapiextractor-0.1.tar.gz (from http://www.pyside.org/files/); wrong project name (not pyside) Skipping link http://www.pyside.org/files/libapiextractor-0.1.tar.gz.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Skipping link http://www.pyside.org/files/libapiextractor-0.2.tar.gz (from http://www.pyside.org/files/); wrong project name (not pyside) Skipping link http://www.pyside.org/files/libapiextractor-0.2.tar.gz.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Skipping link http://www.pyside.org/files/micalateia.txt (from http://www.pyside.org/files/); unknown archive format: .txt Found link http://www.pyside.org/files/pyside-0.1.4.5.tar.bz2 (from http://www.pyside.org/files/), version: 0.1.4.5 Skipping link http://www.pyside.org/files/pyside-0.1.4.5.tar.bz2.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Found link http://www.pyside.org/files/pyside-0.1.4.5.tar.gz (from http://www.pyside.org/files/), version: 0.1.4.5 Skipping link http://www.pyside.org/files/pyside-0.1.4.5.tar.gz.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Found link http://www.pyside.org/files/pyside-0.1.tar.gz (from http://www.pyside.org/files/), version: 0.1 Skipping link http://www.pyside.org/files/pyside-0.1.tar.gz.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Skipping link http://www.pyside.org/files/pyside-0.4.0-py2.6.exe (from http://www.pyside.org/files/); unknown archive format: .exe Skipping link http://www.pyside.org/files/pyside-0.4.0-py2.6.exe.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Skipping link http://www.pyside.org/files/pyside-0.4.0-py2.7.exe (from http://www.pyside.org/files/); unknown archive format: .exe Skipping link http://www.pyside.org/files/pyside-0.4.0-py2.7.exe.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Skipping link http://www.pyside.org/files/pyside-0.4.1-py2.6.exe (from http://www.pyside.org/files/); unknown archive format: .exe Skipping link http://www.pyside.org/files/pyside-0.4.1-py2.6.exe.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Skipping link http://www.pyside.org/files/pyside-0.4.1-py2.7.exe (from http://www.pyside.org/files/); unknown archive format: .exe Skipping link http://www.pyside.org/files/pyside-0.4.1-py2.7.exe.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Found link http://www.pyside.org/files/pyside-1.0.0-docs.zip (from http://www.pyside.org/files/), version: 1.0.0-docs Skipping link http://www.pyside.org/files/pyside-1.0.0-docs.zip.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Found link http://www.pyside.org/files/pyside-1.0.1-docs.zip (from http://www.pyside.org/files/), version: 1.0.1-docs Skipping link http://www.pyside.org/files/pyside-1.0.1-docs.zip.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Found link http://www.pyside.org/files/pyside-1.0.2-docs.zip (from http://www.pyside.org/files/), version: 1.0.2-docs Skipping link http://www.pyside.org/files/pyside-1.0.2-docs.zip.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Found link http://www.pyside.org/files/pyside-1.0.3-docs.zip (from http://www.pyside.org/files/), version: 1.0.3-docs Skipping link http://www.pyside.org/files/pyside-1.0.3-docs.zip.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Found link http://www.pyside.org/files/pyside-1.0.4-docs.zip (from http://www.pyside.org/files/), version: 1.0.4-docs Skipping link http://www.pyside.org/files/pyside-1.0.4-docs.zip.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Found link http://www.pyside.org/files/pyside-1.0.5-docs.zip (from http://www.pyside.org/files/), version: 1.0.5-docs Skipping link http://www.pyside.org/files/pyside-1.0.5-docs.zip.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Found link http://www.pyside.org/files/pyside-1.0.6-docs.zip (from http://www.pyside.org/files/), version: 1.0.6-docs Skipping link http://www.pyside.org/files/pyside-1.0.6-docs.zip.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Found link http://www.pyside.org/files/pyside-1.0.7-docs.zip (from http://www.pyside.org/files/), version: 1.0.7-docs Found link http://www.pyside.org/files/pyside-1.1.0-docs.zip (from http://www.pyside.org/files/), version: 1.1.0-docs Found link http://www.pyside.org/files/pyside-docs-0.1.zip (from http://www.pyside.org/files/), version: docs-0.1 Skipping link http://www.pyside.org/files/pyside-docs-0.1.zip.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Found link http://www.pyside.org/files/pyside-docs-1.0.6.zip (from http://www.pyside.org/files/), version: docs-1.0.6 Skipping link http://www.pyside.org/files/pyside-docs-1.0.6.zip.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Found link http://www.pyside.org/files/pyside-docs-latest.zip (from http://www.pyside.org/files/), version: docs-latest Found link http://www.pyside.org/files/pyside-docs-qt4.6+0.2.3.zip (from http://www.pyside.org/files/), version: docs-qt4.6 Skipping link http://www.pyside.org/files/pyside-docs-qt4.6+0.2.3.zip.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Found link http://www.pyside.org/files/pyside-docs-qt4.6+0.3.1.zip (from http://www.pyside.org/files/), version: docs-qt4.6 Skipping link http://www.pyside.org/files/pyside-docs-qt4.6+0.3.1.zip.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Found link http://www.pyside.org/files/pyside-docs-qt4.6+0.3.2.zip (from http://www.pyside.org/files/), version: docs-qt4.6 Skipping link http://www.pyside.org/files/pyside-docs-qt4.6+0.3.2.zip.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Found link http://www.pyside.org/files/pyside-docs-qt4.6+0.4.0.zip (from http://www.pyside.org/files/), version: docs-qt4.6 Skipping link http://www.pyside.org/files/pyside-docs-qt4.6+0.4.0.zip.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Found link http://www.pyside.org/files/pyside-docs-qt4.6+0.4.2.zip (from http://www.pyside.org/files/), version: docs-qt4.6 Skipping link http://www.pyside.org/files/pyside-docs-qt4.6+0.4.2.zip.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Found link http://www.pyside.org/files/pyside-docs-qt4.7+1.0.0%7ebeta5.zip (from http://www.pyside.org/files/), version: docs-qt4.7 Skipping link http://www.pyside.org/files/pyside-docs- qt4.7+1.0.0%7ebeta5.zip.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Found link http://www.pyside.org/files/pyside-docs-qt4.7+1.0.0%7erc1.tar.bz2 (from http://www.pyside.org/files/), version: docs-qt4.7 Found link http://www.pyside.org/files/pyside-latest.tar.bz2 (from http://www.pyside.org/files/), version: latest Skipping link http://www.pyside.org/files/pyside-latest.tar.bz2.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Found link http://www.pyside.org/files/pyside-mobility-0.1.0.tar.bz2 (from http://www.pyside.org/files/), version: mobility-0.1.0 Skipping link http://www.pyside.org/files/pyside-mobility-0.1.0.tar.bz2.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Found link http://www.pyside.org/files/pyside-mobility-0.2.0.tar.bz2 (from http://www.pyside.org/files/), version: mobility-0.2.0 Skipping link http://www.pyside.org/files/pyside-mobility-0.2.0.tar.bz2.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Found link http://www.pyside.org/files/pyside-mobility-0.2.2.tar.bz2 (from http://www.pyside.org/files/), version: mobility-0.2.2 Skipping link http://www.pyside.org/files/pyside-mobility-0.2.2.tar.bz2.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Found link http://www.pyside.org/files/pyside-mobility-0.2.3.tar.bz2 (from http://www.pyside.org/files/), version: mobility-0.2.3 Skipping link http://www.pyside.org/files/pyside-mobility-0.2.3.tar.bz2.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Found link http://www.pyside.org/files/pyside-qt4.5+0.2.1.tar.bz2 (from http://www.pyside.org/files/), version: qt4.5 Skipping link http://www.pyside.org/files/pyside-qt4.5+0.2.1.tar.bz2.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Found link http://www.pyside.org/files/pyside-qt4.5+0.2.2.tar.bz2 (from http://www.pyside.org/files/), version: qt4.5 Skipping link http://www.pyside.org/files/pyside-qt4.5+0.2.2.tar.bz2.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Found link http://www.pyside.org/files/pyside-qt4.5+0.2.2.zip (from http://www.pyside.org/files/), version: qt4.5 Skipping link http://www.pyside.org/files/pyside-qt4.5+0.2.2.zip.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Found link http://www.pyside.org/files/pyside-qt4.5+0.2.tar.bz2 (from http://www.pyside.org/files/), version: qt4.5 Skipping link http://www.pyside.org/files/pyside-qt4.5+0.2.tar.bz2.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Found link http://www.pyside.org/files/pyside-qt4.6+0.2.3.tar.bz2 (from http://www.pyside.org/files/), version: qt4.6 Skipping link http://www.pyside.org/files/pyside-qt4.6+0.2.3.tar.bz2.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Found link http://www.pyside.org/files/pyside-qt4.6+0.3.0.tar.bz2 (from http://www.pyside.org/files/), version: qt4.6 Skipping link http://www.pyside.org/files/pyside-qt4.6+0.3.0.tar.bz2.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Found link http://www.pyside.org/files/pyside-qt4.6+0.3.1.tar.bz2 (from http://www.pyside.org/files/), version: qt4.6 Skipping link http://www.pyside.org/files/pyside-qt4.6+0.3.1.tar.bz2.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Found link http://www.pyside.org/files/pyside-qt4.6+0.3.2.tar.bz2 (from http://www.pyside.org/files/), version: qt4.6 Skipping link http://www.pyside.org/files/pyside-qt4.6+0.3.2.tar.bz2.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Found link http://www.pyside.org/files/pyside-qt4.6+0.4.0.tar.bz2 (from http://www.pyside.org/files/), version: qt4.6 Skipping link http://www.pyside.org/files/pyside-qt4.6+0.4.0.tar.bz2.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Found link http://www.pyside.org/files/pyside-qt4.6+0.4.1.tar.bz2 (from http://www.pyside.org/files/), version: qt4.6 Skipping link http://www.pyside.org/files/pyside-qt4.6+0.4.1.tar.bz2.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Found link http://www.pyside.org/files/pyside-qt4.6+0.4.2.tar.bz2 (from http://www.pyside.org/files/), version: qt4.6 Skipping link http://www.pyside.org/files/pyside-qt4.6+0.4.2.tar.bz2.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Found link http://www.pyside.org/files/pyside-qt4.7+0.4.2.tar.bz2 (from http://www.pyside.org/files/), version: qt4.7 Skipping link http://www.pyside.org/files/pyside-qt4.7+0.4.2.tar.bz2.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Found link http://www.pyside.org/files/pyside-qt4.7+1.0.0.tar.bz2 (from http://www.pyside.org/files/), version: qt4.7 Skipping link http://www.pyside.org/files/pyside-qt4.7+1.0.0.tar.bz2.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Found link http://www.pyside.org/files/pyside-qt4.7+1.0.0%7ebeta1.tar.bz2 (from http://www.pyside.org/files/), version: qt4.7 Skipping link http://www.pyside.org/files/pyside- qt4.7+1.0.0%7ebeta1.tar.bz2.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Found link http://www.pyside.org/files/pyside-qt4.7+1.0.0%7ebeta2.tar.bz2 (from http://www.pyside.org/files/), version: qt4.7 Skipping link http://www.pyside.org/files/pyside- qt4.7+1.0.0%7ebeta2.tar.bz2.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Found link http://www.pyside.org/files/pyside-qt4.7+1.0.0%7ebeta3.tar.bz2 (from http://www.pyside.org/files/), version: qt4.7 Skipping link http://www.pyside.org/files/pyside- qt4.7+1.0.0%7ebeta3.tar.bz2.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Found link http://www.pyside.org/files/pyside-qt4.7+1.0.0%7ebeta4.tar.bz2 (from http://www.pyside.org/files/), version: qt4.7 Skipping link http://www.pyside.org/files/pyside- qt4.7+1.0.0%7ebeta4.tar.bz2.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Found link http://www.pyside.org/files/pyside-qt4.7+1.0.0%7ebeta5.tar.bz2 (from http://www.pyside.org/files/), version: qt4.7 Skipping link http://www.pyside.org/files/pyside- qt4.7+1.0.0%7ebeta5.tar.bz2.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Found link http://www.pyside.org/files/pyside-qt4.7+1.0.0%7erc1.tar.bz2 (from http://www.pyside.org/files/), version: qt4.7 Skipping link http://www.pyside.org/files/pyside- qt4.7+1.0.0%7erc1.tar.bz2.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Found link http://www.pyside.org/files/pyside-qt4.7+1.0.1.tar.bz2 (from http://www.pyside.org/files/), version: qt4.7 Skipping link http://www.pyside.org/files/pyside-qt4.7+1.0.1.tar.bz2.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Found link http://www.pyside.org/files/pyside-qt4.7+1.0.2.tar.bz2 (from http://www.pyside.org/files/), version: qt4.7 Skipping link http://www.pyside.org/files/pyside-qt4.7+1.0.2.tar.bz2.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Found link http://www.pyside.org/files/pyside-qt4.7+1.0.3.tar.bz2 (from http://www.pyside.org/files/), version: qt4.7 Skipping link http://www.pyside.org/files/pyside-qt4.7+1.0.3.tar.bz2.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Found link http://www.pyside.org/files/pyside-qt4.7+1.0.4.tar.bz2 (from http://www.pyside.org/files/), version: qt4.7 Skipping link http://www.pyside.org/files/pyside-qt4.7+1.0.4.tar.bz2.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Found link http://www.pyside.org/files/pyside-qt4.7+1.0.5.tar.bz2 (from http://www.pyside.org/files/), version: qt4.7 Skipping link http://www.pyside.org/files/pyside-qt4.7+1.0.5.tar.bz2.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Found link http://www.pyside.org/files/pyside-qt4.7+1.0.6.1.tar.bz2 (from http://www.pyside.org/files/), version: qt4.7 Skipping link http://www.pyside.org/files/pyside-qt4.7+1.0.6.1.tar.bz2.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Found link http://www.pyside.org/files/pyside-qt4.7+1.0.6.tar.bz2 (from http://www.pyside.org/files/), version: qt4.7 Skipping link http://www.pyside.org/files/pyside-qt4.7+1.0.6.tar.bz2.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Found link http://www.pyside.org/files/pyside-qt4.7+1.0.7.tar.bz2 (from http://www.pyside.org/files/), version: qt4.7 Skipping link http://www.pyside.org/files/pyside-qt4.7+1.0.7.tar.bz2.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Found link http://www.pyside.org/files/pyside-qt4.7+1.0.8.tar.bz2 (from http://www.pyside.org/files/), version: qt4.7 Skipping link http://www.pyside.org/files/pyside-qt4.7+1.0.8.tar.bz2.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Found link http://www.pyside.org/files/pyside-qt4.7+1.0.9.tar.bz2 (from http://www.pyside.org/files/), version: qt4.7 Skipping link http://www.pyside.org/files/pyside-qt4.7+1.0.9.tar.bz2.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Found link http://www.pyside.org/files/pyside-qt4.7+1.1.0.tar.bz2 (from http://www.pyside.org/files/), version: qt4.7 Skipping link http://www.pyside.org/files/pyside-qt4.7+1.1.0.tar.bz2.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Found link http://www.pyside.org/files/pyside-qt4.8+1.1.1.tar.bz2 (from http://www.pyside.org/files/), version: qt4.8 Skipping link http://www.pyside.org/files/pyside-qt4.8+1.1.1.tar.bz2.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Skipping link http://www.pyside.org/files/pyside-rounded-corners.png (from http://www.pyside.org/files/); unknown archive format: .png Found link http://www.pyside.org/files/pyside-tools-0.1.1.tar.bz2 (from http://www.pyside.org/files/), version: tools-0.1.1 Skipping link http://www.pyside.org/files/pyside-tools-0.1.1.tar.bz2.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Found link http://www.pyside.org/files/pyside-tools-0.1.2.tar.bz2 (from http://www.pyside.org/files/), version: tools-0.1.2 Skipping link http://www.pyside.org/files/pyside-tools-0.1.2.tar.bz2.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Found link http://www.pyside.org/files/pyside-tools-0.1.tar.bz2 (from http://www.pyside.org/files/), version: tools-0.1 Skipping link http://www.pyside.org/files/pyside-tools-0.1.tar.bz2.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Found link http://www.pyside.org/files/pyside-tools-0.2.0.tar.bz2 (from http://www.pyside.org/files/), version: tools-0.2.0 Skipping link http://www.pyside.org/files/pyside-tools-0.2.0.tar.bz2.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Found link http://www.pyside.org/files/pyside-tools-0.2.1.tar.bz2 (from http://www.pyside.org/files/), version: tools-0.2.1 Skipping link http://www.pyside.org/files/pyside-tools-0.2.1.tar.bz2.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Found link http://www.pyside.org/files/pyside-tools-0.2.10.tar.bz2 (from http://www.pyside.org/files/), version: tools-0.2.10 Skipping link http://www.pyside.org/files/pyside-tools-0.2.10.tar.bz2.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Found link http://www.pyside.org/files/pyside-tools-0.2.11.tar.bz2 (from http://www.pyside.org/files/), version: tools-0.2.11 Skipping link http://www.pyside.org/files/pyside-tools-0.2.11.tar.bz2.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Found link http://www.pyside.org/files/pyside-tools-0.2.12.tar.bz2 (from http://www.pyside.org/files/), version: tools-0.2.12 Skipping link http://www.pyside.org/files/pyside-tools-0.2.12.tar.bz2.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Found link http://www.pyside.org/files/pyside-tools-0.2.13.tar.bz2 (from http://www.pyside.org/files/), version: tools-0.2.13 Skipping link http://www.pyside.org/files/pyside-tools-0.2.13.tar.bz2.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Found link http://www.pyside.org/files/pyside-tools-0.2.14.tar.bz2 (from http://www.pyside.org/files/), version: tools-0.2.14 Skipping link http://www.pyside.org/files/pyside-tools-0.2.14.tar.bz2.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Found link http://www.pyside.org/files/pyside-tools-0.2.2.tar.bz2 (from http://www.pyside.org/files/), version: tools-0.2.2 Skipping link http://www.pyside.org/files/pyside-tools-0.2.2.tar.bz2.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Found link http://www.pyside.org/files/pyside-tools-0.2.3.tar.bz2 (from http://www.pyside.org/files/), version: tools-0.2.3 Skipping link http://www.pyside.org/files/pyside-tools-0.2.3.tar.bz2.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Found link http://www.pyside.org/files/pyside-tools-0.2.4.tar.bz2 (from http://www.pyside.org/files/), version: tools-0.2.4 Skipping link http://www.pyside.org/files/pyside-tools-0.2.4.tar.bz2.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Found link http://www.pyside.org/files/pyside-tools-0.2.5.tar.bz2 (from http://www.pyside.org/files/), version: tools-0.2.5 Skipping link http://www.pyside.org/files/pyside-tools-0.2.5.tar.bz2.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Found link http://www.pyside.org/files/pyside-tools-0.2.6.tar.bz2 (from http://www.pyside.org/files/), version: tools-0.2.6 Skipping link http://www.pyside.org/files/pyside-tools-0.2.6.tar.bz2.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Found link http://www.pyside.org/files/pyside-tools-0.2.7.tar.bz2 (from http://www.pyside.org/files/), version: tools-0.2.7 Skipping link http://www.pyside.org/files/pyside-tools-0.2.7.tar.bz2.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Found link http://www.pyside.org/files/pyside-tools-0.2.8.tar.bz2 (from http://www.pyside.org/files/), version: tools-0.2.8 Skipping link http://www.pyside.org/files/pyside-tools-0.2.8.tar.bz2.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Found link http://www.pyside.org/files/pyside-tools-0.2.9.tar.bz2 (from http://www.pyside.org/files/), version: tools-0.2.9 Skipping link http://www.pyside.org/files/pyside-tools-0.2.9.tar.bz2.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Found link http://www.pyside.org/files/pyside-tools-latest.tar.bz2 (from http://www.pyside.org/files/), version: tools-latest Skipping link http://www.pyside.org/files/pyside.svg (from http://www.pyside.org/files/); unknown archive format: .svg Skipping link http://www.pyside.org/files/python-meegotouch-0.1.0.tar.bz2 (from http://www.pyside.org/files/); wrong project name (not pyside) Skipping link http://www.pyside.org/files/python-meegotouch- 0.1.0.tar.bz2.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Skipping link http://www.pyside.org/files/shiboken-0.1.tar.bz2 (from http://www.pyside.org/files/); wrong project name (not pyside) Skipping link http://www.pyside.org/files/shiboken-0.1.tar.bz2.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Skipping link http://www.pyside.org/files/shiboken-0.2.0.tar.bz2 (from http://www.pyside.org/files/); wrong project name (not pyside) Skipping link http://www.pyside.org/files/shiboken-0.2.0.tar.bz2.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Skipping link http://www.pyside.org/files/shiboken-0.3.0.tar.bz2 (from http://www.pyside.org/files/); wrong project name (not pyside) Skipping link http://www.pyside.org/files/shiboken-0.3.0.tar.bz2.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Skipping link http://www.pyside.org/files/shiboken-0.3.1.tar.bz2 (from http://www.pyside.org/files/); wrong project name (not pyside) Skipping link http://www.pyside.org/files/shiboken-0.3.1.tar.bz2.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Skipping link http://www.pyside.org/files/shiboken-0.3.2.tar.bz2 (from http://www.pyside.org/files/); wrong project name (not pyside) Skipping link http://www.pyside.org/files/shiboken-0.3.2.tar.bz2.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Skipping link http://www.pyside.org/files/shiboken-0.4.0.tar.bz2 (from http://www.pyside.org/files/); wrong project name (not pyside) Skipping link http://www.pyside.org/files/shiboken-0.4.0.tar.bz2.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Skipping link http://www.pyside.org/files/shiboken-0.5.0.tar.bz2 (from http://www.pyside.org/files/); wrong project name (not pyside) Skipping link http://www.pyside.org/files/shiboken-0.5.0.tar.bz2.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Skipping link http://www.pyside.org/files/shiboken-0.5.1.tar.bz2 (from http://www.pyside.org/files/); wrong project name (not pyside) Skipping link http://www.pyside.org/files/shiboken-0.5.1.tar.bz2.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Skipping link http://www.pyside.org/files/shiboken-1.0.0.tar.bz2 (from http://www.pyside.org/files/); wrong project name (not pyside) Skipping link http://www.pyside.org/files/shiboken-1.0.0.tar.bz2.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Skipping link http://www.pyside.org/files/shiboken-1.0.0%7ebeta1.tar.bz2 (from http://www.pyside.org/files/); wrong project name (not pyside) Skipping link http://www.pyside.org/files/shiboken-1.0.0%7ebeta1.tar.bz2.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Skipping link http://www.pyside.org/files/shiboken-1.0.0%7ebeta2.tar.bz2 (from http://www.pyside.org/files/); wrong project name (not pyside) Skipping link http://www.pyside.org/files/shiboken-1.0.0%7ebeta2.tar.bz2.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Skipping link http://www.pyside.org/files/shiboken-1.0.0%7ebeta3.tar.bz2 (from http://www.pyside.org/files/); wrong project name (not pyside) Skipping link http://www.pyside.org/files/shiboken-1.0.0%7ebeta3.tar.bz2.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Skipping link http://www.pyside.org/files/shiboken-1.0.0%7ebeta4.tar.bz2 (from http://www.pyside.org/files/); wrong project name (not pyside) Skipping link http://www.pyside.org/files/shiboken-1.0.0%7ebeta4.tar.bz2.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Skipping link http://www.pyside.org/files/shiboken-1.0.0%7ebeta5.tar.bz2 (from http://www.pyside.org/files/); wrong project name (not pyside) Skipping link http://www.pyside.org/files/shiboken-1.0.0%7ebeta5.tar.bz2.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Skipping link http://www.pyside.org/files/shiboken-1.0.0%7erc1.tar.bz2 (from http://www.pyside.org/files/); wrong project name (not pyside) Skipping link http://www.pyside.org/files/shiboken-1.0.0%7erc1.tar.bz2.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Skipping link http://www.pyside.org/files/shiboken-1.0.1.tar.bz2 (from http://www.pyside.org/files/); wrong project name (not pyside) Skipping link http://www.pyside.org/files/shiboken-1.0.1.tar.bz2.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Skipping link http://www.pyside.org/files/shiboken-1.0.10.tar.bz2 (from http://www.pyside.org/files/); wrong project name (not pyside) Skipping link http://www.pyside.org/files/shiboken-1.0.10.tar.bz2.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Skipping link http://www.pyside.org/files/shiboken-1.0.2.tar.bz2 (from http://www.pyside.org/files/); wrong project name (not pyside) Skipping link http://www.pyside.org/files/shiboken-1.0.2.tar.bz2.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Skipping link http://www.pyside.org/files/shiboken-1.0.3.tar.bz2 (from http://www.pyside.org/files/); wrong project name (not pyside) Skipping link http://www.pyside.org/files/shiboken-1.0.3.tar.bz2.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Skipping link http://www.pyside.org/files/shiboken-1.0.4.tar.bz2 (from http://www.pyside.org/files/); wrong project name (not pyside) Skipping link http://www.pyside.org/files/shiboken-1.0.4.tar.bz2.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Skipping link http://www.pyside.org/files/shiboken-1.0.5.tar.bz2 (from http://www.pyside.org/files/); wrong project name (not pyside) Skipping link http://www.pyside.org/files/shiboken-1.0.5.tar.bz2.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Skipping link http://www.pyside.org/files/shiboken-1.0.6.tar.bz2 (from http://www.pyside.org/files/); wrong project name (not pyside) Skipping link http://www.pyside.org/files/shiboken-1.0.6.tar.bz2.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Skipping link http://www.pyside.org/files/shiboken-1.0.7.tar.bz2 (from http://www.pyside.org/files/); wrong project name (not pyside) Skipping link http://www.pyside.org/files/shiboken-1.0.7.tar.bz2.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Skipping link http://www.pyside.org/files/shiboken-1.0.7.zip (from http://www.pyside.org/files/); wrong project name (not pyside) Skipping link http://www.pyside.org/files/shiboken-1.0.8.tar.bz2 (from http://www.pyside.org/files/); wrong project name (not pyside) Skipping link http://www.pyside.org/files/shiboken-1.0.8.tar.bz2.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Skipping link http://www.pyside.org/files/shiboken-1.0.9.tar.bz2 (from http://www.pyside.org/files/); wrong project name (not pyside) Skipping link http://www.pyside.org/files/shiboken-1.0.9.tar.bz2.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Skipping link http://www.pyside.org/files/shiboken-1.1.0.tar.bz2 (from http://www.pyside.org/files/); wrong project name (not pyside) Skipping link http://www.pyside.org/files/shiboken-1.1.0.tar.bz2.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Skipping link http://www.pyside.org/files/shiboken-1.1.1.tar.bz2 (from http://www.pyside.org/files/); wrong project name (not pyside) Skipping link http://www.pyside.org/files/shiboken-1.1.1.tar.bz2.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Skipping link http://www.pyside.org/files/shiboken-latest.tar.bz2 (from http://www.pyside.org/files/); wrong project name (not pyside) Skipping link http://www.pyside.org/files/shiboken-latest.tar.bz2.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 Analyzing links from page http://www.pyside.org/files/pkg/ Skipping link http://www.pyside.org/files/pkg/?C=N;O=D (from http://www.pyside.org/files/pkg/); not a file Skipping link http://www.pyside.org/files/pkg/?C=M;O=A (from http://www.pyside.org/files/pkg/); not a file Skipping link http://www.pyside.org/files/pkg/?C=S;O=A (from http://www.pyside.org/files/pkg/); not a file Skipping link http://www.pyside.org/files/pkg/?C=D;O=A (from http://www.pyside.org/files/pkg/); not a file Skipping link http://www.pyside.org/files/pkg/PySide-0.4.1qt47.win32- py2.6.exe (from http://www.pyside.org/files/pkg/); unknown archive format: .exe Skipping link http://www.pyside.org/files/pkg/PySide-0.4.1qt47.win32- py2.6.exe.md5 (from http://www.pyside.org/files/pkg/); unknown archive format: .md5 Skipping link http://www.pyside.org/files/pkg/PySide-0.4.1qt47.win32- py2.7.exe (from http://www.pyside.org/files/pkg/); unknown archive format: .exe Skipping link http://www.pyside.org/files/pkg/PySide-0.4.1qt47.win32- py2.7.exe.md5 (from http://www.pyside.org/files/pkg/); unknown archive format: .md5 Skipping link http://www.pyside.org/files/pkg/PySide-0.4.2qt47.win32- py2.5.exe (from http://www.pyside.org/files/pkg/); unknown archive format: .exe Skipping link http://www.pyside.org/files/pkg/PySide-0.4.2qt47.win32- py2.5.exe.md5 (from http://www.pyside.org/files/pkg/); unknown archive format: .md5 Skipping link http://www.pyside.org/files/pkg/PySide-0.4.2qt47.win32- py2.6.exe (from http://www.pyside.org/files/pkg/); unknown archive format: .exe Skipping link http://www.pyside.org/files/pkg/PySide-0.4.2qt47.win32- py2.6.exe.md5 (from http://www.pyside.org/files/pkg/); unknown archive format: .md5 Skipping link http://www.pyside.org/files/pkg/PySide-0.4.2qt47.win32- py2.7.exe (from http://www.pyside.org/files/pkg/); unknown archive format: .exe Skipping link http://www.pyside.org/files/pkg/PySide-0.4.2qt47.win32- py2.7.exe.md5 (from http://www.pyside.org/files/pkg/); unknown archive format: .md5 Skipping link http://www.pyside.org/files/pkg/PySide-1.0.0beta1qt471.win32- py2.5.exe (from http://www.pyside.org/files/pkg/); unknown archive format: .exe Skipping link http://www.pyside.org/files/pkg/PySide-1.0.0beta1qt471.win32- py2.5.exe.md5 (from http://www.pyside.org/files/pkg/); unknown archive format: .md5 Skipping link http://www.pyside.org/files/pkg/PySide-1.0.0beta1qt471.win32- py2.6.exe (from http://www.pyside.org/files/pkg/); unknown archive format: .exe Skipping link http://www.pyside.org/files/pkg/PySide-1.0.0beta1qt471.win32- py2.6.exe.md5 (from http://www.pyside.org/files/pkg/); unknown archive format: .md5 Skipping link http://www.pyside.org/files/pkg/PySide-1.0.0beta1qt471.win32- py2.7.exe (from http://www.pyside.org/files/pkg/); unknown archive format: .exe Skipping link http://www.pyside.org/files/pkg/PySide-1.0.0beta1qt471.win32- py2.7.exe.md5 (from http://www.pyside.org/files/pkg/); unknown archive format: .md5 Found link http://www.pyside.org/files/pkg/pyside-pkgsetup-0.4.2.zip (from http://www.pyside.org/files/pkg/), version: pkgsetup-0.4.2 Skipping link http://www.pyside.org/files/pkg/pyside-pkgsetup-0.4.2.zip.md5 (from http://www.pyside.org/files/pkg/); unknown archive format: .md5 Analyzing links from page http://releases.qt-project.org/pyside/1.1.1/ Skipping link http://releases.qt-project.org/pyside/ (from http://releases.qt-project.org/pyside/1.1.1/); not a file Skipping link http://releases.qt-project.org/pyside/1.1.1/PySide- 1.1.1qt474.win-amd64-py2.7.exe (from http://releases.qt- project.org/pyside/1.1.1/); unknown archive format: .exe Skipping link http://releases.qt-project.org/pyside/1.1.1/PySide- 1.1.1qt474.win-amd64-py3.2.exe (from http://releases.qt- project.org/pyside/1.1.1/); unknown archive format: .exe Skipping link http://releases.qt-project.org/pyside/1.1.1/PySide- 1.1.1qt474.win32-py2.6.exe (from http://releases.qt-project.org/pyside/1.1.1/); unknown archive format: .exe Skipping link http://releases.qt-project.org/pyside/1.1.1/PySide- 1.1.1qt474.win32-py2.7.exe (from http://releases.qt-project.org/pyside/1.1.1/); unknown archive format: .exe Skipping link http://releases.qt-project.org/pyside/1.1.1/PySide- 1.1.1qt474.win32-py3.2.exe (from http://releases.qt-project.org/pyside/1.1.1/); unknown archive format: .exe Skipping link http://releases.qt-project.org/pyside/1.1.1/md5sums.txt (from http://releases.qt-project.org/pyside/1.1.1/); Using version 1.1.0-docs (newest of versions: 1.1.0-docs, 1.0.7-docs, 1.0.6- docs, 1.0.5-docs, 1.0.4-docs, 1.0.3-docs, 1.0.2-docs, 1.0.1-docs, 1.0.0-docs, 0.1.4.5, 0.1.4.5, 0.1, tools-0.2.14, tools-0.2.13, tools-0.2.12, tools-0.2.11, tools-0.2.10, tools-0.2.9, tools-0.2.8, tools-0.2.7, tools-0.2.6, tools-0.2.5, tools-0.2.4, tools-0.2.3, tools-0.2.2, tools-0.2.1, tools-0.2.0, tools-0.1.2, tools-0.1.1, tools-0.1, tools-latest, qt4.8, qt4.7, qt4.7, qt4.7, qt4.7, qt4.7, qt4.7, qt4.7, qt4.7, qt4.7, qt4.7, qt4.7, qt4.7, qt4.7, qt4.7, qt4.7, qt4.7, qt4.7, qt4.7, qt4.7, qt4.6, qt4.6, qt4.6, qt4.6, qt4.6, qt4.6, qt4.6, qt4.6, qt4.5, qt4.5, qt4.5, qt4.5, pkgsetup-0.4.2, mobility-0.2.3, mobility-0.2.2, mobility-0.2.0, mobility-0.1.0, latest, docs-1.0.6, docs-0.1, docs-qt4.7, docs- qt4.7, docs-qt4.6, docs-qt4.6, docs-qt4.6, docs-qt4.6, docs-qt4.6, docs-latest) Downloading from URL http://www.pyside.org/files/pyside-1.1.0-docs.zip (from http://www.pyside.org/files/) Running setup.py egg_info for package pyside Traceback (most recent call last): File "", line 14, in IOError: [Errno 2] No such file or directory: '/usr/user1/python/pyside/pyside_env/build/pyside/setup.py' Complete output from command python setup.py egg_info: Traceback (most recent call last): File "", line 14, in IOError: [Errno 2] No such file or directory: '/usr/user1/python/pyside/pyside_env/build/pyside/setup.py' ---------------------------------------- Command python setup.py egg_info failed with error code 1 in /usr/user1/python/pyside/pyside_env/build/pyside Exception information: Traceback (most recent call last): File "/usr/user1/python/pyside/pyside_env/lib/python2.7/site-packages/pip-1.1- py2.7.egg/pip/basecommand.py", line 104, in main status = self.run(options, args) File "/usr/user1/python/pyside/pyside_env/lib/python2.7/site-packages/pip-1.1- py2.7.egg/pip/commands/install.py", line 245, in run requirement_set.prepare_files(finder, force_root_egg_info=self.bundle, bundle=self.bundle) File "/usr/user1/python/pyside/pyside_env/lib/python2.7/site-packages/pip-1.1- py2.7.egg/pip/req.py", line 1009, in prepare_files req_to_install.run_egg_info() File "/usr/user1/python/pyside/pyside_env/lib/python2.7/site-packages/pip-1.1- py2.7.egg/pip/req.py", line 225, in run_egg_info command_desc='python setup.py egg_info') File "/usr/user1/python/pyside/pyside_env/lib/python2.7/site-packages/pip-1.1- py2.7.egg/pip/__init__.py", line 256, in call_subprocess % (command_desc, proc.returncode, cwd)) InstallationError: Command python setup.py egg_info failed with error code 1 in /usr/user1/python/pyside/pyside_env/build/pyside -------------- I also tried: ./bin/pip install pyside-setup but pip reported that pyside-setup was not found. Regards Rajesh From frank at ohufx.com Wed Jun 6 23:45:06 2012 From: frank at ohufx.com (Frank Rueter | OHUfx) Date: Thu, 07 Jun 2012 09:45:06 +1200 Subject: [PySide] QFrame > need custom shadow color and no highlight In-Reply-To: References: Message-ID: <4FCFCF62.6050807@ohufx.com> Thanks Aaron. I will have to look into the palette thing once I'm done with implementing the functionality. On 6/06/12 9:43 PM, Aaron Richiger wrote: > Sorry,i have my exams tomorrow and therefore cant help you a lot,but > usually you can do this with setPalette()!get the current palette > first,change just the colors you need different and then set the > changed palette like this.hope it works.... > > > Frank Rueter | OHUfx hat geschrieben: > > > Hi everyone, > > I have a QFrame set to "Panel" and "Sunken" style like this: > > import sys > from PySide import QtGui > > app = QtGui.QApplication( sys.argv ) > fr = QtGui.QFrame() > fr.setFrameStyle( QtGui.QFrame.Panel | QtGui.QFrame.Sunken ) > fr.setLineWidth( 3 ) > > fr.show() > sys.exit( app.exec_() ) > > > I am trying to control the shadow and highlight colours so I can darken > the shadow and get rid of the highlight. > > I've been searching online but can't find the answer. > > Does anybody know how to do this? > > Cheers, > frank > > _______________________________________________ > PySide mailing list > PySide at qt-project.org > http://lists.qt-project.org/mailman/listinfo/pyside -------------- next part -------------- An HTML attachment was scrubbed... URL: From frank at ohufx.com Thu Jun 7 06:42:43 2012 From: frank at ohufx.com (Frank Rueter | OHUfx) Date: Thu, 07 Jun 2012 16:42:43 +1200 Subject: [PySide] search widget Message-ID: <4FD03143.1030802@ohufx.com> Hi all, quick question for the more experienced: Is there a core widget for text search? I'm after pretty something that looks pretty much like this one (at the top): http://farm5.static.flickr.com/4042/4574583703_f7be03c653.jpg What I like is it's compactness. A little icon on one side inside the box to indicate what it does, and a little "clear" icon on the other side to quickly clear out the search field to return everything. I'm happy to try and write my own but thought I'd check if I'm missing the obvious. Cheers, frank From frank at ohufx.com Thu Jun 7 06:54:05 2012 From: frank at ohufx.com (Frank Rueter | OHUfx) Date: Thu, 07 Jun 2012 16:54:05 +1200 Subject: [PySide] search widget In-Reply-To: References: <4FD03143.1030802@ohufx.com> Message-ID: <4FD033ED.5060806@ohufx.com> Hi Erik, thanks for the speedy reply! I have never used QtCreator. Are you saying I could put one together in there, then export the code like in QtDesigner? I have only got it installed on my workstation which I don't have access to right now, but am keen to check it out if it will save me time. Cheers, frank On 7/06/12 4:44 PM, Erik Janssens wrote: > there is none in Qt, but QtCreator contains one > > On Thu, Jun 7, 2012 at 6:42 AM, Frank Rueter | OHUfx wrote: >> Hi all, >> >> quick question for the more experienced: >> Is there a core widget for text search? I'm after pretty something that >> looks pretty much like this one (at the top): >> http://farm5.static.flickr.com/4042/4574583703_f7be03c653.jpg >> >> What I like is it's compactness. A little icon on one side inside the >> box to indicate what it does, and a little "clear" icon on the other >> side to quickly clear out the search field to return everything. >> >> I'm happy to try and write my own but thought I'd check if I'm missing >> the obvious. >> >> Cheers, >> frank >> _______________________________________________ >> PySide mailing list >> PySide at qt-project.org >> http://lists.qt-project.org/mailman/listinfo/pyside From Erik.Janssens at conceptive.be Thu Jun 7 07:07:12 2012 From: Erik.Janssens at conceptive.be (Erik Janssens) Date: Thu, 7 Jun 2012 07:07:12 +0200 Subject: [PySide] search widget In-Reply-To: <4FD033ED.5060806@ohufx.com> References: <4FD03143.1030802@ohufx.com> <4FD033ED.5060806@ohufx.com> Message-ID: the easiest thing would be to look at the source in there and rewrite it in python On Thu, Jun 7, 2012 at 6:54 AM, Frank Rueter | OHUfx wrote: > Hi Erik, > thanks for the speedy reply! > I have never used QtCreator. Are you saying I could put one together in > there, then export the code like in QtDesigner? > I have only got it installed on my workstation which I don't have access to > right now, but am keen to check it out if it will save me time. > > Cheers, > frank > > > On 7/06/12 4:44 PM, Erik Janssens wrote: >> >> there is none in Qt, but QtCreator contains one >> >> On Thu, Jun 7, 2012 at 6:42 AM, Frank Rueter | OHUfx >>  wrote: >>> >>> Hi all, >>> >>> quick question for the more experienced: >>> Is there a core widget for text search? I'm after pretty something that >>> looks pretty much like this one (at the top): >>> http://farm5.static.flickr.com/4042/4574583703_f7be03c653.jpg >>> >>> What I like is it's compactness. A little icon on one side inside the >>> box to indicate what it does, and a little "clear" icon on the other >>> side to quickly clear out the search field to return everything. >>> >>> I'm happy to try and write my own but thought I'd check if I'm missing >>> the obvious. >>> >>> Cheers, >>> frank >>> _______________________________________________ >>> PySide mailing list >>> PySide at qt-project.org >>> http://lists.qt-project.org/mailman/listinfo/pyside From frank at ohufx.com Thu Jun 7 07:07:43 2012 From: frank at ohufx.com (Frank Rueter | OHUfx) Date: Thu, 07 Jun 2012 17:07:43 +1200 Subject: [PySide] search widget In-Reply-To: References: <4FD03143.1030802@ohufx.com> <4FD033ED.5060806@ohufx.com> Message-ID: <4FD0371F.7080807@ohufx.com> got ya, thanks. On 7/06/12 5:07 PM, Erik Janssens wrote: > the easiest thing would be to look at the source in there and > rewrite it in python > > On Thu, Jun 7, 2012 at 6:54 AM, Frank Rueter | OHUfx wrote: >> Hi Erik, >> thanks for the speedy reply! >> I have never used QtCreator. Are you saying I could put one together in >> there, then export the code like in QtDesigner? >> I have only got it installed on my workstation which I don't have access to >> right now, but am keen to check it out if it will save me time. >> >> Cheers, >> frank >> >> >> On 7/06/12 4:44 PM, Erik Janssens wrote: >>> there is none in Qt, but QtCreator contains one >>> >>> On Thu, Jun 7, 2012 at 6:42 AM, Frank Rueter | OHUfx >>> wrote: >>>> Hi all, >>>> >>>> quick question for the more experienced: >>>> Is there a core widget for text search? I'm after pretty something that >>>> looks pretty much like this one (at the top): >>>> http://farm5.static.flickr.com/4042/4574583703_f7be03c653.jpg >>>> >>>> What I like is it's compactness. A little icon on one side inside the >>>> box to indicate what it does, and a little "clear" icon on the other >>>> side to quickly clear out the search field to return everything. >>>> >>>> I'm happy to try and write my own but thought I'd check if I'm missing >>>> the obvious. >>>> >>>> Cheers, >>>> frank >>>> _______________________________________________ >>>> PySide mailing list >>>> PySide at qt-project.org >>>> http://lists.qt-project.org/mailman/listinfo/pyside From simozack at yahoo.it Thu Jun 7 08:23:03 2012 From: simozack at yahoo.it (simozack) Date: Thu, 7 Jun 2012 08:23:03 +0200 Subject: [PySide] search widget In-Reply-To: <4FD03143.1030802@ohufx.com> References: <4FD03143.1030802@ohufx.com> Message-ID: 2012/6/7 Frank Rueter | OHUfx : > quick question for the more experienced: > Is there a core widget for text search? I'm after pretty something that > looks pretty much like this one (at the top): > http://farm5.static.flickr.com/4042/4574583703_f7be03c653.jpg Some time ago, I wrote something like that. You can find it here: https://bitbucket.org/simozack/pyqtexamples/src/f037651e8406/EvolutionSearch.py It uses the completion facility of the qt framework for searching text inside a list of value and it has a callback function you can use to do something with the value selected, a delay parameter to make the callback function more or less responsive. It was developed with pyqt, but I think there's no problem to use it with pyside. HTH, Simone From frank at ohufx.com Thu Jun 7 08:27:56 2012 From: frank at ohufx.com (Frank Rueter | OHUfx) Date: Thu, 07 Jun 2012 18:27:56 +1200 Subject: [PySide] search widget In-Reply-To: References: <4FD03143.1030802@ohufx.com> Message-ID: <4FD049EC.60206@ohufx.com> Oh cool, would love to see what it does, but QtCore.QStringList() isn't valid in my version of PySide it would seem. Is there a quick fix? Anyway, it's late here, I will have a closer look tomorrow. Thanks heaps for the example! frank On 7/06/12 6:23 PM, simozack wrote: > 2012/6/7 Frank Rueter | OHUfx: >> quick question for the more experienced: >> Is there a core widget for text search? I'm after pretty something that >> looks pretty much like this one (at the top): >> http://farm5.static.flickr.com/4042/4574583703_f7be03c653.jpg > Some time ago, I wrote something like that. You can find it here: > https://bitbucket.org/simozack/pyqtexamples/src/f037651e8406/EvolutionSearch.py > > It uses the completion facility of the qt framework for searching text > inside a list of value and it has a callback function you can use to > do something with the value selected, a delay parameter to make the > callback function more or less responsive. > > It was developed with pyqt, but I think there's no problem to use it > with pyside. > > HTH, > Simone From backup.rlacko at gmail.com Thu Jun 7 09:28:40 2012 From: backup.rlacko at gmail.com (Roman Lacko) Date: Thu, 7 Jun 2012 09:28:40 +0200 Subject: [PySide] My changes to get Pyside working on Linux In-Reply-To: References: Message-ID: Hi Rajesh, [pip install pyside] would not work until i don't upload source package to PyPI (it needs some polishing, docs update, ...). But, I created sdist for You to help me test and fix remaining bugs, please download source package from my google drive share here [1]. then build using command: $ pip install PySide-1.1.1.tar.gz Please, send me info if it worked for you Regards Roman [1] PySide-1.1.1.tar.gz download url: https://docs.google.com/open?id=0B0aOk3P0ndoLa25iRFMzTnh5N3M 2012/6/6 Rajesh : > Looks like its just not working for me. > > I created a new 'pyside' dir and ran these steps: > > [ pyside ] python ../virtualenv-1.7.1.2/virtualenv.py pyside_env > New python executable in pyside_env/bin/python > Installing setuptools............done. > Installing pip...............done. > > [ pyside ] cd pyside_env/ > > [ pyside_env ] ./bin/pip install pyside > Downloading/unpacking pyside >  Downloading pyside-1.1.0-docs.zip (38.6Mb): 38.6Mb downloaded >  Running setup.py egg_info for package pyside >    Traceback (most recent call last): >      File "", line 14, in >    IOError: [Errno 2] No such file or directory: > '/usr/user1/python/pyside/pyside_env/build/pyside/setup.py' >    Complete output from command python setup.py egg_info: >    Traceback (most recent call last): > >  File "", line 14, in > > IOError: [Errno 2] No such file or directory: > '/usr/user1/python/pyside/pyside_env/build/pyside/setup.py' > > ---------------------------------------- > Command python setup.py egg_info failed with error code 1 in > /usr/user1/python/pyside/pyside_env/build/pyside > Storing complete log in $HOME/.pip/pip.log > > ------------ > > where pip.log contains: > -------------- > > ------------------------------------------------------------ > ./bin/pip run on Wed Jun  6 10:06:07 2012 > Downloading/unpacking pyside > >  Getting page http://pypi.python.org/simple/pyside >  URLs to search for versions for pyside: >  * http://pypi.python.org/simple/pyside/ >  Getting page http://pypi.python.org/simple/pyside/ >  Getting page http://www.pyside.org >  Getting page http://www.pyside.org/files/ >  Getting page http://www.pyside.org/files/pkg/ >  Getting page http://releases.qt-project.org/pyside/1.1.1/ >  Analyzing links from page http://pypi.python.org/simple/PySide/ >    Skipping link http://pypi.python.org/packages/2.6/P/PySide/PySide- > 1.0.2qt472.win32-py2.6.exe#md5=c086d0f1c5dd4a6d17d4f75cfeb49efd (from > http://pypi.python.org/simple/PySide/); unknown archive format: .exe >    Skipping link http://pypi.python.org/packages/2.7/P/PySide/PySide- > 1.0.0qt472.win32-py2.7.exe#md5=2bb140bf08631673ac996ba8f0e682d0 (from > http://pypi.python.org/simple/PySide/); unknown archive format: .exe >    Skipping link http://pypi.python.org/packages/2.7/P/PySide/PySide- > 1.0.1qt472.win32-py2.7.exe#md5=2aa8545a87a35ee60570712f01e2fe04 (from > http://pypi.python.org/simple/PySide/); unknown archive format: .exe >    Skipping link http://pypi.python.org/packages/2.7/P/PySide/PySide- > 1.0.2qt472.win32-py2.7.exe#md5=876671bbb0976bd8a23ab4af8273cd97 (from > http://pypi.python.org/simple/PySide/); unknown archive format: .exe >    Skipping link http://pypi.python.org/packages/2.6/P/PySide/PySide- > 1.0.0qt472.win32-py2.6.exe#md5=51cef2d4b33b343cc0b2c4714cebfa30 (from > http://pypi.python.org/simple/PySide/); unknown archive format: .exe >    Skipping link http://pypi.python.org/packages/2.5/P/PySide/PySide- > 1.0.2qt472.win32-py2.5.exe#md5=dae0fe0869a024ba0e0d663618b620a4 (from > http://pypi.python.org/simple/PySide/); unknown archive format: .exe >    Skipping link http://pypi.python.org/packages/2.5/P/PySide/PySide- > 1.0.1qt472.win32-py2.5.exe#md5=b057b325b160ec6bb3d93bfc6151410b (from > http://pypi.python.org/simple/PySide/); unknown archive format: .exe >    Skipping link http://pypi.python.org/packages/2.5/P/PySide/PySide- > 1.0.0qt472.win32-py2.5.exe#md5=69f00a445406d9725400fbd76b52d7d8 (from > http://pypi.python.org/simple/PySide/); unknown archive format: .exe >    Skipping link http://pypi.python.org/packages/2.6/P/PySide/PySide- > 1.0.1qt472.win32-py2.6.exe#md5=cee2323616070bd7f4e6c088df0c2f74 (from > http://pypi.python.org/simple/PySide/); unknown archive format: .exe >    Skipping link http://www.pyside.org (from > http://pypi.python.org/simple/PySide/); not a file >    Skipping link http://www.pyside.org/files/ (from > http://pypi.python.org/simple/PySide/); not a file >    Skipping link http://www.pyside.org/files/pkg/ (from > http://pypi.python.org/simple/PySide/); not a file >    Skipping link http://releases.qt-project.org/pyside/1.1.1/ (from > http://pypi.python.org/simple/PySide/); unknown archive format: .1 >    Skipping link http://www.pyside.org/docs/pseps/psep-0001.html (from > http://pypi.python.org/simple/PySide/); unknown archive format: .html >    Skipping link http://developer.qt.nokia.com/wiki/PySideDownloads (from > http://pypi.python.org/simple/PySide/); not a file >    Skipping link http://qt.gitorious.org/pyside (from > http://pypi.python.org/simple/PySide/); not a file >    Skipping link http://bugs.openbossa.org/ (from > http://pypi.python.org/simple/PySide/); not a file >  Analyzing links from page http://www.pyside.org >    Skipping link http://www.pyside.org/wp-content/themes/openbossa/style.css > (from http://www.pyside.org); unknown archive format: .css >    Skipping link http://www.pyside.org/feed/ (from http://www.pyside.org); not > a file >    Skipping link http://www.pyside.org/feed/atom/ (from http://www.pyside.org); > not a file >    Skipping link http://www.pyside.org/xmlrpc.php (from http://www.pyside.org); > unknown archive format: .php >    Skipping link http://www.pyside.org/wp- > content/themes/openbossa/images/icon.png (from http://www.pyside.org); unknown > archive format: .png >    Skipping link http://www.pyside.org/wp-content/plugins/nextgen- > gallery/css/nggallery.css?ver=1.0.0 (from http://www.pyside.org); unknown > archive format: .css >    Skipping link http://www.pyside.org/wp-content/plugins/nextgen- > gallery/shutter/shutter-reloaded.css?ver=1.3.0 (from http://www.pyside.org); > unknown archive format: .css >    Skipping link http://www.pyside.org/xmlrpc.php?rsd (from > http://www.pyside.org); unknown archive format: .php >    Skipping link http://www.pyside.org/wp-includes/wlwmanifest.xml (from > http://www.pyside.org); unknown archive format: .xml >    Skipping link http://www.pyside.org/wp-content/plugins/wp-syntax/wp- > syntax.css (from http://www.pyside.org); unknown archive format: .css >    Skipping link http://www.pyside.org/wp-content/plugins/nextgen- > gallery/xml/media-rss.php (from http://www.pyside.org); unknown archive format: > .php >    Skipping link http://www.pyside.org/news/ (from http://www.pyside.org); not > a file >    Skipping link http://www.pyside.org/support/ (from http://www.pyside.org); > not a file >    Skipping link http://developer.qt.nokia.com/wiki/PySide_FAQ (from > http://www.pyside.org); not a file >    Skipping link http://developer.qt.nokia.com/wiki/PySideDocumentation/ (from > http://www.pyside.org); not a file >    Skipping link http://developer.qt.nokia.com/wiki/PySide/ (from > http://www.pyside.org); not a file >    Skipping link > http://developer.qt.nokia.com/wiki/Category:LanguageBindings::PySide::Downloads > (from http://www.pyside.org); not a file >    Skipping link http://www.pyside.org/roadmap/ (from http://www.pyside.org); > not a file >    Skipping link http://www.pyside.org/about/ (from http://www.pyside.org); not > a file >    Skipping link http://www.pyside.org/2012/04/pyside-1-1-1-free-hugs-python- > for-qt-released/ (from http://www.pyside.org); not a file >    Skipping link http://www.pyside.org/2012/03/pyside-becomes-a-qt-add-on/ > (from http://www.pyside.org); not a file >    Skipping link http://www.pyside.org/2012/01/pyside-1-1-0-%e2%80%93- > %e2%80%9cadriano%e2%80%9d-python-for-qt-released/ (from http://www.pyside.org); > not a file >    Skipping link http://www.indt.org.br (from http://www.pyside.org); not a > file >    Skipping link http://www.openbossa.org.br (from http://www.pyside.org); not > a file >    Skipping link http://www.qt.nokia.com (from http://www.pyside.org); not a > file >    Skipping link http://www.python.org (from http://www.pyside.org); not a file >  Analyzing links from page http://www.pyside.org/files/ >    Skipping link http://www.pyside.org/ (from http://www.pyside.org/files/); > not a file >    Skipping link http://www.pyside.org/files/?C=N;O=D (from > http://www.pyside.org/files/); not a file >    Skipping link http://www.pyside.org/files/?C=M;O=A (from > http://www.pyside.org/files/); not a file >    Skipping link http://www.pyside.org/files/?C=S;O=A (from > http://www.pyside.org/files/); not a file >    Skipping link http://www.pyside.org/files/?C=D;O=A (from > http://www.pyside.org/files/); not a file >    Skipping link http://www.pyside.org/files/0.4.2-patches/ (from > http://www.pyside.org/files/); unknown archive format: .2-patches >    Skipping link http://www.pyside.org/files/icecc/ (from > http://www.pyside.org/files/); not a file >    Skipping link http://www.pyside.org/files/nightly/ (from > http://www.pyside.org/files/); not a file >    Skipping link http://www.pyside.org/files/PySide-1.0.3qt473.win-amd64- > py2.6.exe (from http://www.pyside.org/files/); unknown archive format: .exe >    Skipping link http://www.pyside.org/files/PySide-1.0.3qt473.win-amd64- > py2.7.exe (from http://www.pyside.org/files/); unknown archive format: .exe >    Skipping link http://www.pyside.org/files/PySide-1.0.3qt473.win32-py2.6.exe > (from http://www.pyside.org/files/); unknown archive format: .exe >    Skipping link http://www.pyside.org/files/PySide-1.0.3qt473.win32-py2.7.exe > (from http://www.pyside.org/files/); unknown archive format: .exe >    Skipping link http://www.pyside.org/files/PySide-1.0.4qt473.win-amd64- > py2.6.exe (from http://www.pyside.org/files/); unknown archive format: .exe >    Skipping link http://www.pyside.org/files/PySide-1.0.4qt473.win-amd64- > py2.7.exe (from http://www.pyside.org/files/); unknown archive format: .exe >    Skipping link http://www.pyside.org/files/PySide-1.0.4qt473.win32-py2.6.exe > (from http://www.pyside.org/files/); unknown archive format: .exe >    Skipping link http://www.pyside.org/files/PySide-1.0.4qt473.win32-py2.7.exe > (from http://www.pyside.org/files/); unknown archive format: .exe >    Skipping link http://www.pyside.org/files/PySide-1.0.5qt473.win-amd64- > py2.6.exe (from http://www.pyside.org/files/); unknown archive format: .exe >    Skipping link http://www.pyside.org/files/PySide-1.0.5qt473.win-amd64- > py2.7.exe (from http://www.pyside.org/files/); unknown archive format: .exe >    Skipping link http://www.pyside.org/files/PySide-1.0.5qt473.win32-py2.6.exe > (from http://www.pyside.org/files/); unknown archive format: .exe >    Skipping link http://www.pyside.org/files/PySide-1.0.5qt473.win32-py2.7.exe > (from http://www.pyside.org/files/); unknown archive format: .exe >    Skipping link http://www.pyside.org/files/PySide-1.0.6qt473.win-amd64- > py2.6.exe (from http://www.pyside.org/files/); unknown archive format: .exe >    Skipping link http://www.pyside.org/files/PySide-1.0.6qt473.win-amd64- > py2.7.exe (from http://www.pyside.org/files/); unknown archive format: .exe >    Skipping link http://www.pyside.org/files/PySide-1.0.6qt473.win32-py2.6.exe > (from http://www.pyside.org/files/); unknown archive format: .exe >    Skipping link http://www.pyside.org/files/PySide-1.0.6qt473.win32-py2.7.exe > (from http://www.pyside.org/files/); unknown archive format: .exe >    Skipping link http://www.pyside.org/files/PySide-1.0.6qt474.win-amd64- > py2.6.exe (from http://www.pyside.org/files/); unknown archive format: .exe >    Skipping link http://www.pyside.org/files/PySide-1.0.6qt474.win-amd64- > py2.7.exe (from http://www.pyside.org/files/); unknown archive format: .exe >    Skipping link http://www.pyside.org/files/PySide-1.0.6qt474.win32-py2.6.exe > (from http://www.pyside.org/files/); unknown archive format: .exe >    Skipping link http://www.pyside.org/files/PySide-1.0.6qt474.win32-py2.7.exe > (from http://www.pyside.org/files/); unknown archive format: .exe >    Skipping link http://www.pyside.org/files/PySide-1.0.7qt474.win-amd64- > py2.6.exe (from http://www.pyside.org/files/); unknown archive format: .exe >    Skipping link http://www.pyside.org/files/PySide-1.0.7qt474.win-amd64- > py2.7.exe (from http://www.pyside.org/files/); unknown archive format: .exe >    Skipping link http://www.pyside.org/files/PySide-1.0.7qt474.win32-py2.6.exe > (from http://www.pyside.org/files/); unknown archive format: .exe >    Skipping link http://www.pyside.org/files/PySide-1.0.7qt474.win32-py2.7.exe > (from http://www.pyside.org/files/); unknown archive format: .exe >    Skipping link http://www.pyside.org/files/PySide-1.0.9qt474.win-amd64- > py2.6.exe (from http://www.pyside.org/files/); unknown archive format: .exe >    Skipping link http://www.pyside.org/files/PySide-1.0.9qt474.win-amd64- > py2.7.exe (from http://www.pyside.org/files/); unknown archive format: .exe >    Skipping link http://www.pyside.org/files/PySide-1.0.9qt474.win32-py2.6.exe > (from http://www.pyside.org/files/); unknown archive format: .exe >    Skipping link http://www.pyside.org/files/PySide-1.0.9qt474.win32-py2.7.exe > (from http://www.pyside.org/files/); unknown archive format: .exe >    Skipping link http://www.pyside.org/files/PySide-1.1.0qt474.win-amd64- > py2.6.exe (from http://www.pyside.org/files/); unknown archive format: .exe >    Skipping link http://www.pyside.org/files/PySide-1.1.0qt474.win-amd64- > py2.7.exe (from http://www.pyside.org/files/); unknown archive format: .exe >    Skipping link http://www.pyside.org/files/PySide-1.1.0qt474.win-amd64- > py3.2.exe (from http://www.pyside.org/files/); unknown archive format: .exe >    Skipping link http://www.pyside.org/files/PySide-1.1.0qt474.win32-py2.6.exe > (from http://www.pyside.org/files/); unknown archive format: .exe >    Skipping link http://www.pyside.org/files/PySide-1.1.0qt474.win32-py2.7.exe > (from http://www.pyside.org/files/); unknown archive format: .exe >    Skipping link http://www.pyside.org/files/PySide-1.1.0qt474.win32-py3.2.exe > (from http://www.pyside.org/files/); unknown archive format: .exe >    Found link http://www.pyside.org/files/PySide-qt4.6+git20100106.pkg.zip > (from http://www.pyside.org/files/), version: qt4.6 >    Skipping link http://www.pyside.org/files/PySide- > qt4.6+git20100106.pkg.zip.md5 (from http://www.pyside.org/files/); unknown > archive format: .md5 >    Skipping link http://www.pyside.org/files/apiextractor-0.10.0.tar.bz2 (from > http://www.pyside.org/files/); wrong project name (not pyside) >    Skipping link http://www.pyside.org/files/apiextractor-0.10.0.tar.bz2.md5 > (from http://www.pyside.org/files/); unknown archive format: .md5 >    Skipping link http://www.pyside.org/files/apiextractor-0.10.1.tar.bz2 (from > http://www.pyside.org/files/); wrong project name (not pyside) >    Skipping link http://www.pyside.org/files/apiextractor-0.10.1.tar.bz2.md5 > (from http://www.pyside.org/files/); unknown archive format: .md5 >    Skipping link http://www.pyside.org/files/apiextractor-0.10.10.tar.bz2 (from > http://www.pyside.org/files/); wrong project name (not pyside) >    Skipping link http://www.pyside.org/files/apiextractor-0.10.10.tar.bz2.md5 > (from http://www.pyside.org/files/); unknown archive format: .md5 >    Skipping link http://www.pyside.org/files/apiextractor-0.10.2.tar.bz2 (from > http://www.pyside.org/files/); wrong project name (not pyside) >    Skipping link http://www.pyside.org/files/apiextractor-0.10.2.tar.bz2.md5 > (from http://www.pyside.org/files/); unknown archive format: .md5 >    Skipping link http://www.pyside.org/files/apiextractor-0.10.3.tar.bz2 (from > http://www.pyside.org/files/); wrong project name (not pyside) >    Skipping link http://www.pyside.org/files/apiextractor-0.10.3.tar.bz2.md5 > (from http://www.pyside.org/files/); unknown archive format: .md5 >    Skipping link http://www.pyside.org/files/apiextractor-0.10.4.tar.bz2 (from > http://www.pyside.org/files/); wrong project name (not pyside) >    Skipping link http://www.pyside.org/files/apiextractor-0.10.4.tar.bz2.md5 > (from http://www.pyside.org/files/); unknown archive format: .md5 >    Skipping link http://www.pyside.org/files/apiextractor-0.10.5.tar.bz2 (from > http://www.pyside.org/files/); wrong project name (not pyside) >    Skipping link http://www.pyside.org/files/apiextractor-0.10.5.tar.bz2.md5 > (from http://www.pyside.org/files/); unknown archive format: .md5 >    Skipping link http://www.pyside.org/files/apiextractor-0.10.6.tar.bz2 (from > http://www.pyside.org/files/); wrong project name (not pyside) >    Skipping link http://www.pyside.org/files/apiextractor-0.10.6.tar.bz2.md5 > (from http://www.pyside.org/files/); unknown archive format: .md5 >    Skipping link http://www.pyside.org/files/apiextractor-0.10.7.tar.bz2 (from > http://www.pyside.org/files/); wrong project name (not pyside) >    Skipping link http://www.pyside.org/files/apiextractor-0.10.7.tar.bz2.md5 > (from http://www.pyside.org/files/); unknown archive format: .md5 >    Skipping link http://www.pyside.org/files/apiextractor-0.10.8.tar.bz2 (from > http://www.pyside.org/files/); wrong project name (not pyside) >    Skipping link http://www.pyside.org/files/apiextractor-0.10.8.tar.bz2.md5 > (from http://www.pyside.org/files/); unknown archive format: .md5 >    Skipping link http://www.pyside.org/files/apiextractor-0.10.9.tar.bz2 (from > http://www.pyside.org/files/); wrong project name (not pyside) >    Skipping link http://www.pyside.org/files/apiextractor-0.10.9.tar.bz2.md5 > (from http://www.pyside.org/files/); unknown archive format: .md5 >    Skipping link http://www.pyside.org/files/apiextractor-0.2.tar.bz2 (from > http://www.pyside.org/files/); wrong project name (not pyside) >    Skipping link http://www.pyside.org/files/apiextractor-0.2.tar.bz2.md5 (from > http://www.pyside.org/files/); unknown archive format: .md5 >    Skipping link http://www.pyside.org/files/apiextractor-0.3.0.tar.bz2 (from > http://www.pyside.org/files/); wrong project name (not pyside) >    Skipping link http://www.pyside.org/files/apiextractor-0.3.0.tar.bz2.md5 > (from http://www.pyside.org/files/); unknown archive format: .md5 >    Skipping link http://www.pyside.org/files/apiextractor-0.3.1.tar.bz2 (from > http://www.pyside.org/files/); wrong project name (not pyside) >    Skipping link http://www.pyside.org/files/apiextractor-0.3.1.tar.bz2.md5 > (from http://www.pyside.org/files/); unknown archive format: .md5 >    Skipping link http://www.pyside.org/files/apiextractor-0.3.2.tar.bz2 (from > http://www.pyside.org/files/); wrong project name (not pyside) >    Skipping link http://www.pyside.org/files/apiextractor-0.3.2.tar.bz2.md5 > (from http://www.pyside.org/files/); unknown archive format: .md5 >    Skipping link http://www.pyside.org/files/apiextractor-0.3.3.tar.bz2 (from > http://www.pyside.org/files/); wrong project name (not pyside) >    Skipping link http://www.pyside.org/files/apiextractor-0.3.3.tar.bz2.md5 > (from http://www.pyside.org/files/); unknown archive format: .md5 >    Skipping link http://www.pyside.org/files/apiextractor-0.4.0.tar.bz2 (from > http://www.pyside.org/files/); wrong project name (not pyside) >    Skipping link http://www.pyside.org/files/apiextractor-0.4.0.tar.bz2.md5 > (from http://www.pyside.org/files/); unknown archive format: .md5 >    Skipping link http://www.pyside.org/files/apiextractor-0.5.0.tar.bz2 (from > http://www.pyside.org/files/); wrong project name (not pyside) >    Skipping link http://www.pyside.org/files/apiextractor-0.5.0.tar.bz2.md5 > (from http://www.pyside.org/files/); unknown archive format: .md5 >    Skipping link http://www.pyside.org/files/apiextractor-0.5.1.tar.bz2 (from > http://www.pyside.org/files/); wrong project name (not pyside) >    Skipping link http://www.pyside.org/files/apiextractor-0.5.1.tar.bz2.md5 > (from http://www.pyside.org/files/); unknown archive format: .md5 >    Skipping link http://www.pyside.org/files/apiextractor-0.6.0.tar.bz2 (from > http://www.pyside.org/files/); wrong project name (not pyside) >    Skipping link http://www.pyside.org/files/apiextractor-0.6.0.tar.bz2.md5 > (from http://www.pyside.org/files/); unknown archive format: .md5 >    Skipping link http://www.pyside.org/files/apiextractor-0.7.0.tar.bz2 (from > http://www.pyside.org/files/); wrong project name (not pyside) >    Skipping link http://www.pyside.org/files/apiextractor-0.7.0.tar.bz2.md5 > (from http://www.pyside.org/files/); unknown archive format: .md5 >    Skipping link http://www.pyside.org/files/apiextractor-0.8.0.tar.bz2 (from > http://www.pyside.org/files/); wrong project name (not pyside) >    Skipping link http://www.pyside.org/files/apiextractor-0.8.0.tar.bz2.md5 > (from http://www.pyside.org/files/); unknown archive format: .md5 >    Skipping link http://www.pyside.org/files/apiextractor-0.8.1.tar.bz2 (from > http://www.pyside.org/files/); wrong project name (not pyside) >    Skipping link http://www.pyside.org/files/apiextractor-0.8.1.tar.bz2.md5 > (from http://www.pyside.org/files/); unknown archive format: .md5 >    Skipping link http://www.pyside.org/files/apiextractor-0.9.0.tar.bz2 (from > http://www.pyside.org/files/); wrong project name (not pyside) >    Skipping link http://www.pyside.org/files/apiextractor-0.9.0.tar.bz2.md5 > (from http://www.pyside.org/files/); unknown archive format: .md5 >    Skipping link http://www.pyside.org/files/apiextractor-0.9.1.tar.bz2 (from > http://www.pyside.org/files/); wrong project name (not pyside) >    Skipping link http://www.pyside.org/files/apiextractor-0.9.1.tar.bz2.md5 > (from http://www.pyside.org/files/); unknown archive format: .md5 >    Skipping link http://www.pyside.org/files/apiextractor-0.9.2.tar.bz2 (from > http://www.pyside.org/files/); wrong project name (not pyside) >    Skipping link http://www.pyside.org/files/apiextractor-0.9.2.tar.bz2.md5 > (from http://www.pyside.org/files/); unknown archive format: .md5 >    Skipping link http://www.pyside.org/files/apiextractor-0.9.3.tar.bz2 (from > http://www.pyside.org/files/); wrong project name (not pyside) >    Skipping link http://www.pyside.org/files/apiextractor-0.9.3.tar.bz2.md5 > (from http://www.pyside.org/files/); unknown archive format: .md5 >    Skipping link http://www.pyside.org/files/apiextractor-0.9.4.tar.bz2 (from > http://www.pyside.org/files/); wrong project name (not pyside) >    Skipping link http://www.pyside.org/files/apiextractor-0.9.4.tar.bz2.md5 > (from http://www.pyside.org/files/); unknown archive format: .md5 >    Skipping link http://www.pyside.org/files/apiextractor-latest.tar.bz2 (from > http://www.pyside.org/files/); wrong project name (not pyside) >    Skipping link http://www.pyside.org/files/apiextractor-latest.tar.bz2.md5 > (from http://www.pyside.org/files/); unknown archive format: .md5 >    Skipping link http://www.pyside.org/files/binding-tutorial.tar.gz (from > http://www.pyside.org/files/); wrong project name (not pyside) >    Skipping link http://www.pyside.org/files/boostpythongenerator-0.1.tar.gz > (from http://www.pyside.org/files/); wrong project name (not pyside) >    Skipping link http://www.pyside.org/files/boostpythongenerator- > 0.1.tar.gz.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 >    Skipping link http://www.pyside.org/files/boostpythongenerator-0.2.tar.bz2 > (from http://www.pyside.org/files/); wrong project name (not pyside) >    Skipping link http://www.pyside.org/files/boostpythongenerator- > 0.2.tar.bz2.md5 (from http://www.pyside.org/files/); unknown archive format: > .md5 >    Skipping link http://www.pyside.org/files/boostpythongenerator-0.2.tar.gz > (from http://www.pyside.org/files/); wrong project name (not pyside) >    Skipping link http://www.pyside.org/files/boostpythongenerator- > 0.2.tar.gz.md5 (from http://www.pyside.org/files/); unknown archive format: .md5 >    Skipping link http://www.pyside.org/files/boostpythongenerator-0.3.2.tar.bz2 > (from http://www.pyside.org/files/); wrong project name (not pyside) >    Skipping link http://www.pyside.org/files/boostpythongenerator- > 0.3.2.tar.bz2.md5 (from http://www.pyside.org/files/); unknown archive format: > .md5 >    Skipping link http://www.pyside.org/files/boostpythongenerator- > 0.3.2a1.tar.bz2 (from http://www.pyside.org/files/); wrong project name (not > pyside) >    Skipping link http://www.pyside.org/files/boostpythongenerator- > 0.3.2a1.tar.bz2.md5 (from http://www.pyside.org/files/); unknown archive format: > .md5 >    Skipping link http://www.pyside.org/files/boostpythongenerator-0.3.3.tar.bz2 > (from http://www.pyside.org/files/); wrong project name (not pyside) >    Skipping link http://www.pyside.org/files/boostpythongenerator- > 0.3.3.tar.bz2.md5 (from http://www.pyside.org/files/); unknown archive format: > .md5 >    Skipping link http://www.pyside.org/files/boostpythongenerator-0.3.tar.bz2 > (from http://www.pyside.org/files/); wrong project name (not pyside) >    Skipping link http://www.pyside.org/files/boostpythongenerator- > 0.3.tar.bz2.md5 (from http://www.pyside.org/files/); unknown archive format: > .md5 >    Skipping link http://www.pyside.org/files/generatorrunner-0.3.1.tar.bz2 > (from http://www.pyside.org/files/); wrong project name (not pyside) >    Skipping link http://www.pyside.org/files/generatorrunner-0.3.1.tar.bz2.md5 > (from http://www.pyside.org/files/); unknown archive format: .md5 >    Skipping link http://www.pyside.org/files/generatorrunner-0.3.2.tar.bz2 > (from http://www.pyside.org/files/); wrong project name (not pyside) >    Skipping link http://www.pyside.org/files/generatorrunner-0.3.2.tar.bz2.md5 > (from http://www.pyside.org/files/); unknown archive format: .md5 >    Skipping link http://www.pyside.org/files/generatorrunner-0.3.2a1.tar.bz2 > (from http://www.pyside.org/files/); wrong project name (not pyside) >    Skipping link http://www.pyside.org/files/generatorrunner- > 0.3.2a1.tar.bz2.md5 (from http://www.pyside.org/files/); unknown archive format: > .md5 >    Skipping link http://www.pyside.org/files/generatorrunner-0.3.3.tar.bz2 > (from http://www.pyside.org/files/); wrong project name (not pyside) >    Skipping link http://www.pyside.org/files/generatorrunner-0.3.3.tar.bz2.md5 > (from http://www.pyside.org/files/); unknown archive format: .md5 >    Skipping link http://www.pyside.org/files/generatorrunner-0.4.0.tar.bz2 > (from http://www.pyside.org/files/); wrong project name (not pyside) >    Skipping link http://www.pyside.org/files/generatorrunner-0.4.0.tar.bz2.md5 > (from http://www.pyside.org/files/); unknown archive format: .md5 >    Skipping link http://www.pyside.org/files/generatorrunner-0.4.1.tar.bz2 > (from http://www.pyside.org/files/); wrong project name (not pyside) >    Skipping link http://www.pyside.org/files/generatorrunner-0.4.1.tar.bz2.md5 > (from http://www.pyside.org/files/); unknown archive format: .md5 >    Skipping link http://www.pyside.org/files/generatorrunner-0.4.2.tar.bz2 > (from http://www.pyside.org/files/); wrong project name (not pyside) >    Skipping link http://www.pyside.org/files/generatorrunner-0.4.2.tar.bz2.md5 > (from http://www.pyside.org/files/); unknown archive format: .md5 >    Skipping link http://www.pyside.org/files/generatorrunner-0.5.0.tar.bz2 > (from http://www.pyside.org/files/); wrong project name (not pyside) >    Skipping link http://www.pyside.org/files/generatorrunner-0.5.0.tar.bz2.md5 > (from http://www.pyside.org/files/); unknown archive format: .md5 >    Skipping link http://www.pyside.org/files/generatorrunner-0.6.0.tar.bz2 > (from http://www.pyside.org/files/); wrong project name (not pyside) >    Skipping link http://www.pyside.org/files/generatorrunner-0.6.0.tar.bz2.md5 > (from http://www.pyside.org/files/); unknown archive format: .md5 >    Skipping link http://www.pyside.org/files/generatorrunner-0.6.1.tar.bz2 > (from http://www.pyside.org/files/); wrong project name (not pyside) >    Skipping link http://www.pyside.org/files/generatorrunner-0.6.1.tar.bz2.md5 > (from http://www.pyside.org/files/); unknown archive format: .md5 >    Skipping link http://www.pyside.org/files/generatorrunner-0.6.10.tar.bz2 > (from http://www.pyside.org/files/); wrong project name (not pyside) >    Skipping link http://www.pyside.org/files/generatorrunner-0.6.10.tar.bz2.md5 > (from http://www.pyside.org/files/); unknown archive format: .md5 >    Skipping link http://www.pyside.org/files/generatorrunner-0.6.11.tar.bz2 > (from http://www.pyside.org/files/); wrong project name (not pyside) >    Skipping link http://www.pyside.org/files/generatorrunner-0.6.11.tar.bz2.md5 > (from http://www.pyside.org/files/); unknown archive format: .md5 >    Skipping link http://www.pyside.org/files/generatorrunner-0.6.12.tar.bz2 > (from http://www.pyside.org/files/); wrong project name (not pyside) >    Skipping link http://www.pyside.org/files/generatorrunner-0.6.12.tar.bz2.md5 > (from http://www.pyside.org/files/); unknown archive format: .md5 >    Skipping link http://www.pyside.org/files/generatorrunner-0.6.13.tar.bz2 > (from http://www.pyside.org/files/); wrong project name (not pyside) >    Skipping link http://www.pyside.org/files/generatorrunner-0.6.13.tar.bz2.md5 > (from http://www.pyside.org/files/); unknown archive format: .md5 >    Skipping link http://www.pyside.org/files/generatorrunner-0.6.13.zip (from > http://www.pyside.org/files/); wrong project name (not pyside) >    Skipping link http://www.pyside.org/files/generatorrunner-0.6.14.tar.bz2 > (from http://www.pyside.org/files/); wrong project name (not pyside) >    Skipping link http://www.pyside.org/files/generatorrunner-0.6.14.tar.bz2.md5 > (from http://www.pyside.org/files/); unknown archive format: .md5 >    Skipping link http://www.pyside.org/files/generatorrunner-0.6.15.tar.bz2 > (from http://www.pyside.org/files/); wrong project name (not pyside) >    Skipping link http://www.pyside.org/files/generatorrunner-0.6.15.tar.bz2.md5 > (from http://www.pyside.org/files/); unknown archive format: .md5 >    Skipping link http://www.pyside.org/files/generatorrunner-0.6.16.tar.bz2 > (from http://www.pyside.org/files/); wrong project name (not pyside) >    Skipping link http://www.pyside.org/files/generatorrunner-0.6.16.tar.bz2.md5 > (from http://www.pyside.org/files/); unknown archive format: .md5 >    Skipping link http://www.pyside.org/files/generatorrunner-0.6.2.tar.bz2 > (from http://www.pyside.org/files/); wrong project name (not pyside) >    Skipping link http://www.pyside.org/files/generatorrunner-0.6.2.tar.bz2.md5 > (from http://www.pyside.org/files/); unknown archive format: .md5 >    Skipping link http://www.pyside.org/files/generatorrunner-0.6.3.tar.bz2 > (from http://www.pyside.org/files/); wrong project name (not pyside) >    Skipping link http://www.pyside.org/files/generatorrunner-0.6.3.tar.bz2.md5 > (from http://www.pyside.org/files/); unknown archive format: .md5 >    Skipping link http://www.pyside.org/files/generatorrunner-0.6.4.tar.bz2 > (from http://www.pyside.org/files/); wrong project name (not pyside) >    Skipping link http://www.pyside.org/files/generatorrunner-0.6.4.tar.bz2.md5 > (from http://www.pyside.org/files/); unknown archive format: .md5 >    Skipping link http://www.pyside.org/files/generatorrunner-0.6.5.tar.bz2 > (from http://www.pyside.org/files/); wrong project name (not pyside) >    Skipping link http://www.pyside.org/files/generatorrunner-0.6.5.tar.bz2.md5 > (from http://www.pyside.org/files/); unknown archive format: .md5 >    Skipping link http://www.pyside.org/files/generatorrunner-0.6.6.tar.bz2 > (from http://www.pyside.org/files/); wrong project name (not pyside) >    Skipping link http://www.pyside.org/files/generatorrunner-0.6.6.tar.bz2.md5 > (from http://www.pyside.org/files/); unknown archive format: .md5 >    Skipping link http://www.pyside.org/files/generatorrunner-0.6.7.tar.bz2 > (from http://www.pyside.org/files/); wrong project name (not pyside) >    Skipping link http://www.pyside.org/files/generatorrunner-0.6.7.tar.bz2.md5 > (from http://www.pyside.org/files/); unknown archive format: .md5 >    Skipping link http://www.pyside.org/files/generatorrunner-0.6.8.tar.bz2 > (from http://www.pyside.org/files/); wrong project name (not pyside) >    Skipping link http://www.pyside.org/files/generatorrunner-0.6.8.tar.bz2.md5 > (from http://www.pyside.org/files/); unknown archive format: .md5 >    Skipping link http://www.pyside.org/files/generatorrunner-0.6.9.tar.bz2 > (from http://www.pyside.org/files/); wrong project name (not pyside) >    Skipping link http://www.pyside.org/files/generatorrunner-latest.tar.bz2 > (from http://www.pyside.org/files/); wrong project name (not pyside) >    Skipping link http://www.pyside.org/files/generatorrunner-latest.tar.bz2.md5 > (from http://www.pyside.org/files/); unknown archive format: .md5 >    Skipping link http://www.pyside.org/files/libapiextractor-0.1.tar.gz (from > http://www.pyside.org/files/); wrong project name (not pyside) >    Skipping link http://www.pyside.org/files/libapiextractor-0.1.tar.gz.md5 > (from http://www.pyside.org/files/); unknown archive format: .md5 >    Skipping link http://www.pyside.org/files/libapiextractor-0.2.tar.gz (from > http://www.pyside.org/files/); wrong project name (not pyside) >    Skipping link http://www.pyside.org/files/libapiextractor-0.2.tar.gz.md5 > (from http://www.pyside.org/files/); unknown archive format: .md5 >    Skipping link http://www.pyside.org/files/micalateia.txt (from > http://www.pyside.org/files/); unknown archive format: .txt >    Found link http://www.pyside.org/files/pyside-0.1.4.5.tar.bz2 (from > http://www.pyside.org/files/), version: 0.1.4.5 >    Skipping link http://www.pyside.org/files/pyside-0.1.4.5.tar.bz2.md5 (from > http://www.pyside.org/files/); unknown archive format: .md5 >    Found link http://www.pyside.org/files/pyside-0.1.4.5.tar.gz (from > http://www.pyside.org/files/), version: 0.1.4.5 >    Skipping link http://www.pyside.org/files/pyside-0.1.4.5.tar.gz.md5 (from > http://www.pyside.org/files/); unknown archive format: .md5 >    Found link http://www.pyside.org/files/pyside-0.1.tar.gz (from > http://www.pyside.org/files/), version: 0.1 >    Skipping link http://www.pyside.org/files/pyside-0.1.tar.gz.md5 (from > http://www.pyside.org/files/); unknown archive format: .md5 >    Skipping link http://www.pyside.org/files/pyside-0.4.0-py2.6.exe (from > http://www.pyside.org/files/); unknown archive format: .exe >    Skipping link http://www.pyside.org/files/pyside-0.4.0-py2.6.exe.md5 (from > http://www.pyside.org/files/); unknown archive format: .md5 >    Skipping link http://www.pyside.org/files/pyside-0.4.0-py2.7.exe (from > http://www.pyside.org/files/); unknown archive format: .exe >    Skipping link http://www.pyside.org/files/pyside-0.4.0-py2.7.exe.md5 (from > http://www.pyside.org/files/); unknown archive format: .md5 >    Skipping link http://www.pyside.org/files/pyside-0.4.1-py2.6.exe (from > http://www.pyside.org/files/); unknown archive format: .exe >    Skipping link http://www.pyside.org/files/pyside-0.4.1-py2.6.exe.md5 (from > http://www.pyside.org/files/); unknown archive format: .md5 >    Skipping link http://www.pyside.org/files/pyside-0.4.1-py2.7.exe (from > http://www.pyside.org/files/); unknown archive format: .exe >    Skipping link http://www.pyside.org/files/pyside-0.4.1-py2.7.exe.md5 (from > http://www.pyside.org/files/); unknown archive format: .md5 >    Found link http://www.pyside.org/files/pyside-1.0.0-docs.zip (from > http://www.pyside.org/files/), version: 1.0.0-docs >    Skipping link http://www.pyside.org/files/pyside-1.0.0-docs.zip.md5 (from > http://www.pyside.org/files/); unknown archive format: .md5 >    Found link http://www.pyside.org/files/pyside-1.0.1-docs.zip (from > http://www.pyside.org/files/), version: 1.0.1-docs >    Skipping link http://www.pyside.org/files/pyside-1.0.1-docs.zip.md5 (from > http://www.pyside.org/files/); unknown archive format: .md5 >    Found link http://www.pyside.org/files/pyside-1.0.2-docs.zip (from > http://www.pyside.org/files/), version: 1.0.2-docs >    Skipping link http://www.pyside.org/files/pyside-1.0.2-docs.zip.md5 (from > http://www.pyside.org/files/); unknown archive format: .md5 >    Found link http://www.pyside.org/files/pyside-1.0.3-docs.zip (from > http://www.pyside.org/files/), version: 1.0.3-docs >    Skipping link http://www.pyside.org/files/pyside-1.0.3-docs.zip.md5 (from > http://www.pyside.org/files/); unknown archive format: .md5 >    Found link http://www.pyside.org/files/pyside-1.0.4-docs.zip (from > http://www.pyside.org/files/), version: 1.0.4-docs >    Skipping link http://www.pyside.org/files/pyside-1.0.4-docs.zip.md5 (from > http://www.pyside.org/files/); unknown archive format: .md5 >    Found link http://www.pyside.org/files/pyside-1.0.5-docs.zip (from > http://www.pyside.org/files/), version: 1.0.5-docs >    Skipping link http://www.pyside.org/files/pyside-1.0.5-docs.zip.md5 (from > http://www.pyside.org/files/); unknown archive format: .md5 >    Found link http://www.pyside.org/files/pyside-1.0.6-docs.zip (from > http://www.pyside.org/files/), version: 1.0.6-docs >    Skipping link http://www.pyside.org/files/pyside-1.0.6-docs.zip.md5 (from > http://www.pyside.org/files/); unknown archive format: .md5 >    Found link http://www.pyside.org/files/pyside-1.0.7-docs.zip (from > http://www.pyside.org/files/), version: 1.0.7-docs >    Found link http://www.pyside.org/files/pyside-1.1.0-docs.zip (from > http://www.pyside.org/files/), version: 1.1.0-docs >    Found link http://www.pyside.org/files/pyside-docs-0.1.zip (from > http://www.pyside.org/files/), version: docs-0.1 >    Skipping link http://www.pyside.org/files/pyside-docs-0.1.zip.md5 (from > http://www.pyside.org/files/); unknown archive format: .md5 >    Found link http://www.pyside.org/files/pyside-docs-1.0.6.zip (from > http://www.pyside.org/files/), version: docs-1.0.6 >    Skipping link http://www.pyside.org/files/pyside-docs-1.0.6.zip.md5 (from > http://www.pyside.org/files/); unknown archive format: .md5 >    Found link http://www.pyside.org/files/pyside-docs-latest.zip (from > http://www.pyside.org/files/), version: docs-latest >    Found link http://www.pyside.org/files/pyside-docs-qt4.6+0.2.3.zip (from > http://www.pyside.org/files/), version: docs-qt4.6 >    Skipping link http://www.pyside.org/files/pyside-docs-qt4.6+0.2.3.zip.md5 > (from http://www.pyside.org/files/); unknown archive format: .md5 >    Found link http://www.pyside.org/files/pyside-docs-qt4.6+0.3.1.zip (from > http://www.pyside.org/files/), version: docs-qt4.6 >    Skipping link http://www.pyside.org/files/pyside-docs-qt4.6+0.3.1.zip.md5 > (from http://www.pyside.org/files/); unknown archive format: .md5 >    Found link http://www.pyside.org/files/pyside-docs-qt4.6+0.3.2.zip (from > http://www.pyside.org/files/), version: docs-qt4.6 >    Skipping link http://www.pyside.org/files/pyside-docs-qt4.6+0.3.2.zip.md5 > (from http://www.pyside.org/files/); unknown archive format: .md5 >    Found link http://www.pyside.org/files/pyside-docs-qt4.6+0.4.0.zip (from > http://www.pyside.org/files/), version: docs-qt4.6 >    Skipping link http://www.pyside.org/files/pyside-docs-qt4.6+0.4.0.zip.md5 > (from http://www.pyside.org/files/); unknown archive format: .md5 >    Found link http://www.pyside.org/files/pyside-docs-qt4.6+0.4.2.zip (from > http://www.pyside.org/files/), version: docs-qt4.6 >    Skipping link http://www.pyside.org/files/pyside-docs-qt4.6+0.4.2.zip.md5 > (from http://www.pyside.org/files/); unknown archive format: .md5 >    Found link http://www.pyside.org/files/pyside-docs-qt4.7+1.0.0%7ebeta5.zip > (from http://www.pyside.org/files/), version: docs-qt4.7 >    Skipping link http://www.pyside.org/files/pyside-docs- > qt4.7+1.0.0%7ebeta5.zip.md5 (from http://www.pyside.org/files/); unknown archive > format: .md5 >    Found link http://www.pyside.org/files/pyside-docs-qt4.7+1.0.0%7erc1.tar.bz2 > (from http://www.pyside.org/files/), version: docs-qt4.7 >    Found link http://www.pyside.org/files/pyside-latest.tar.bz2 (from > http://www.pyside.org/files/), version: latest >    Skipping link http://www.pyside.org/files/pyside-latest.tar.bz2.md5 (from > http://www.pyside.org/files/); unknown archive format: .md5 >    Found link http://www.pyside.org/files/pyside-mobility-0.1.0.tar.bz2 (from > http://www.pyside.org/files/), version: mobility-0.1.0 >    Skipping link http://www.pyside.org/files/pyside-mobility-0.1.0.tar.bz2.md5 > (from http://www.pyside.org/files/); unknown archive format: .md5 >    Found link http://www.pyside.org/files/pyside-mobility-0.2.0.tar.bz2 (from > http://www.pyside.org/files/), version: mobility-0.2.0 >    Skipping link http://www.pyside.org/files/pyside-mobility-0.2.0.tar.bz2.md5 > (from http://www.pyside.org/files/); unknown archive format: .md5 >    Found link http://www.pyside.org/files/pyside-mobility-0.2.2.tar.bz2 (from > http://www.pyside.org/files/), version: mobility-0.2.2 >    Skipping link http://www.pyside.org/files/pyside-mobility-0.2.2.tar.bz2.md5 > (from http://www.pyside.org/files/); unknown archive format: .md5 >    Found link http://www.pyside.org/files/pyside-mobility-0.2.3.tar.bz2 (from > http://www.pyside.org/files/), version: mobility-0.2.3 >    Skipping link http://www.pyside.org/files/pyside-mobility-0.2.3.tar.bz2.md5 > (from http://www.pyside.org/files/); unknown archive format: .md5 >    Found link http://www.pyside.org/files/pyside-qt4.5+0.2.1.tar.bz2 (from > http://www.pyside.org/files/), version: qt4.5 >    Skipping link http://www.pyside.org/files/pyside-qt4.5+0.2.1.tar.bz2.md5 > (from http://www.pyside.org/files/); unknown archive format: .md5 >    Found link http://www.pyside.org/files/pyside-qt4.5+0.2.2.tar.bz2 (from > http://www.pyside.org/files/), version: qt4.5 >    Skipping link http://www.pyside.org/files/pyside-qt4.5+0.2.2.tar.bz2.md5 > (from http://www.pyside.org/files/); unknown archive format: .md5 >    Found link http://www.pyside.org/files/pyside-qt4.5+0.2.2.zip (from > http://www.pyside.org/files/), version: qt4.5 >    Skipping link http://www.pyside.org/files/pyside-qt4.5+0.2.2.zip.md5 (from > http://www.pyside.org/files/); unknown archive format: .md5 >    Found link http://www.pyside.org/files/pyside-qt4.5+0.2.tar.bz2 (from > http://www.pyside.org/files/), version: qt4.5 >    Skipping link http://www.pyside.org/files/pyside-qt4.5+0.2.tar.bz2.md5 (from > http://www.pyside.org/files/); unknown archive format: .md5 >    Found link http://www.pyside.org/files/pyside-qt4.6+0.2.3.tar.bz2 (from > http://www.pyside.org/files/), version: qt4.6 >    Skipping link http://www.pyside.org/files/pyside-qt4.6+0.2.3.tar.bz2.md5 > (from http://www.pyside.org/files/); unknown archive format: .md5 >    Found link http://www.pyside.org/files/pyside-qt4.6+0.3.0.tar.bz2 (from > http://www.pyside.org/files/), version: qt4.6 >    Skipping link http://www.pyside.org/files/pyside-qt4.6+0.3.0.tar.bz2.md5 > (from http://www.pyside.org/files/); unknown archive format: .md5 >    Found link http://www.pyside.org/files/pyside-qt4.6+0.3.1.tar.bz2 (from > http://www.pyside.org/files/), version: qt4.6 >    Skipping link http://www.pyside.org/files/pyside-qt4.6+0.3.1.tar.bz2.md5 > (from http://www.pyside.org/files/); unknown archive format: .md5 >    Found link http://www.pyside.org/files/pyside-qt4.6+0.3.2.tar.bz2 (from > http://www.pyside.org/files/), version: qt4.6 >    Skipping link http://www.pyside.org/files/pyside-qt4.6+0.3.2.tar.bz2.md5 > (from http://www.pyside.org/files/); unknown archive format: .md5 >    Found link http://www.pyside.org/files/pyside-qt4.6+0.4.0.tar.bz2 (from > http://www.pyside.org/files/), version: qt4.6 >    Skipping link http://www.pyside.org/files/pyside-qt4.6+0.4.0.tar.bz2.md5 > (from http://www.pyside.org/files/); unknown archive format: .md5 >    Found link http://www.pyside.org/files/pyside-qt4.6+0.4.1.tar.bz2 (from > http://www.pyside.org/files/), version: qt4.6 >    Skipping link http://www.pyside.org/files/pyside-qt4.6+0.4.1.tar.bz2.md5 > (from http://www.pyside.org/files/); unknown archive format: .md5 >    Found link http://www.pyside.org/files/pyside-qt4.6+0.4.2.tar.bz2 (from > http://www.pyside.org/files/), version: qt4.6 >    Skipping link http://www.pyside.org/files/pyside-qt4.6+0.4.2.tar.bz2.md5 > (from http://www.pyside.org/files/); unknown archive format: .md5 >    Found link http://www.pyside.org/files/pyside-qt4.7+0.4.2.tar.bz2 (from > http://www.pyside.org/files/), version: qt4.7 >    Skipping link http://www.pyside.org/files/pyside-qt4.7+0.4.2.tar.bz2.md5 > (from http://www.pyside.org/files/); unknown archive format: .md5 >    Found link http://www.pyside.org/files/pyside-qt4.7+1.0.0.tar.bz2 (from > http://www.pyside.org/files/), version: qt4.7 >    Skipping link http://www.pyside.org/files/pyside-qt4.7+1.0.0.tar.bz2.md5 > (from http://www.pyside.org/files/); unknown archive format: .md5 >    Found link http://www.pyside.org/files/pyside-qt4.7+1.0.0%7ebeta1.tar.bz2 > (from http://www.pyside.org/files/), version: qt4.7 >    Skipping link http://www.pyside.org/files/pyside- > qt4.7+1.0.0%7ebeta1.tar.bz2.md5 (from http://www.pyside.org/files/); unknown > archive format: .md5 >    Found link http://www.pyside.org/files/pyside-qt4.7+1.0.0%7ebeta2.tar.bz2 > (from http://www.pyside.org/files/), version: qt4.7 >    Skipping link http://www.pyside.org/files/pyside- > qt4.7+1.0.0%7ebeta2.tar.bz2.md5 (from http://www.pyside.org/files/); unknown > archive format: .md5 >    Found link http://www.pyside.org/files/pyside-qt4.7+1.0.0%7ebeta3.tar.bz2 > (from http://www.pyside.org/files/), version: qt4.7 >    Skipping link http://www.pyside.org/files/pyside- > qt4.7+1.0.0%7ebeta3.tar.bz2.md5 (from http://www.pyside.org/files/); unknown > archive format: .md5 >    Found link http://www.pyside.org/files/pyside-qt4.7+1.0.0%7ebeta4.tar.bz2 > (from http://www.pyside.org/files/), version: qt4.7 >    Skipping link http://www.pyside.org/files/pyside- > qt4.7+1.0.0%7ebeta4.tar.bz2.md5 (from http://www.pyside.org/files/); unknown > archive format: .md5 >    Found link http://www.pyside.org/files/pyside-qt4.7+1.0.0%7ebeta5.tar.bz2 > (from http://www.pyside.org/files/), version: qt4.7 >    Skipping link http://www.pyside.org/files/pyside- > qt4.7+1.0.0%7ebeta5.tar.bz2.md5 (from http://www.pyside.org/files/); unknown > archive format: .md5 >    Found link http://www.pyside.org/files/pyside-qt4.7+1.0.0%7erc1.tar.bz2 > (from http://www.pyside.org/files/), version: qt4.7 >    Skipping link http://www.pyside.org/files/pyside- > qt4.7+1.0.0%7erc1.tar.bz2.md5 (from http://www.pyside.org/files/); unknown > archive format: .md5 >    Found link http://www.pyside.org/files/pyside-qt4.7+1.0.1.tar.bz2 (from > http://www.pyside.org/files/), version: qt4.7 >    Skipping link http://www.pyside.org/files/pyside-qt4.7+1.0.1.tar.bz2.md5 > (from http://www.pyside.org/files/); unknown archive format: .md5 >    Found link http://www.pyside.org/files/pyside-qt4.7+1.0.2.tar.bz2 (from > http://www.pyside.org/files/), version: qt4.7 >    Skipping link http://www.pyside.org/files/pyside-qt4.7+1.0.2.tar.bz2.md5 > (from http://www.pyside.org/files/); unknown archive format: .md5 >    Found link http://www.pyside.org/files/pyside-qt4.7+1.0.3.tar.bz2 (from > http://www.pyside.org/files/), version: qt4.7 >    Skipping link http://www.pyside.org/files/pyside-qt4.7+1.0.3.tar.bz2.md5 > (from http://www.pyside.org/files/); unknown archive format: .md5 >    Found link http://www.pyside.org/files/pyside-qt4.7+1.0.4.tar.bz2 (from > http://www.pyside.org/files/), version: qt4.7 >    Skipping link http://www.pyside.org/files/pyside-qt4.7+1.0.4.tar.bz2.md5 > (from http://www.pyside.org/files/); unknown archive format: .md5 >    Found link http://www.pyside.org/files/pyside-qt4.7+1.0.5.tar.bz2 (from > http://www.pyside.org/files/), version: qt4.7 >    Skipping link http://www.pyside.org/files/pyside-qt4.7+1.0.5.tar.bz2.md5 > (from http://www.pyside.org/files/); unknown archive format: .md5 >    Found link http://www.pyside.org/files/pyside-qt4.7+1.0.6.1.tar.bz2 (from > http://www.pyside.org/files/), version: qt4.7 >    Skipping link http://www.pyside.org/files/pyside-qt4.7+1.0.6.1.tar.bz2.md5 > (from http://www.pyside.org/files/); unknown archive format: .md5 >    Found link http://www.pyside.org/files/pyside-qt4.7+1.0.6.tar.bz2 (from > http://www.pyside.org/files/), version: qt4.7 >    Skipping link http://www.pyside.org/files/pyside-qt4.7+1.0.6.tar.bz2.md5 > (from http://www.pyside.org/files/); unknown archive format: .md5 >    Found link http://www.pyside.org/files/pyside-qt4.7+1.0.7.tar.bz2 (from > http://www.pyside.org/files/), version: qt4.7 >    Skipping link http://www.pyside.org/files/pyside-qt4.7+1.0.7.tar.bz2.md5 > (from http://www.pyside.org/files/); unknown archive format: .md5 >    Found link http://www.pyside.org/files/pyside-qt4.7+1.0.8.tar.bz2 (from > http://www.pyside.org/files/), version: qt4.7 >    Skipping link http://www.pyside.org/files/pyside-qt4.7+1.0.8.tar.bz2.md5 > (from http://www.pyside.org/files/); unknown archive format: .md5 >    Found link http://www.pyside.org/files/pyside-qt4.7+1.0.9.tar.bz2 (from > http://www.pyside.org/files/), version: qt4.7 >    Skipping link http://www.pyside.org/files/pyside-qt4.7+1.0.9.tar.bz2.md5 > (from http://www.pyside.org/files/); unknown archive format: .md5 >    Found link http://www.pyside.org/files/pyside-qt4.7+1.1.0.tar.bz2 (from > http://www.pyside.org/files/), version: qt4.7 >    Skipping link http://www.pyside.org/files/pyside-qt4.7+1.1.0.tar.bz2.md5 > (from http://www.pyside.org/files/); unknown archive format: .md5 >    Found link http://www.pyside.org/files/pyside-qt4.8+1.1.1.tar.bz2 (from > http://www.pyside.org/files/), version: qt4.8 >    Skipping link http://www.pyside.org/files/pyside-qt4.8+1.1.1.tar.bz2.md5 > (from http://www.pyside.org/files/); unknown archive format: .md5 >    Skipping link http://www.pyside.org/files/pyside-rounded-corners.png (from > http://www.pyside.org/files/); unknown archive format: .png >    Found link http://www.pyside.org/files/pyside-tools-0.1.1.tar.bz2 (from > http://www.pyside.org/files/), version: tools-0.1.1 >    Skipping link http://www.pyside.org/files/pyside-tools-0.1.1.tar.bz2.md5 > (from http://www.pyside.org/files/); unknown archive format: .md5 >    Found link http://www.pyside.org/files/pyside-tools-0.1.2.tar.bz2 (from > http://www.pyside.org/files/), version: tools-0.1.2 >    Skipping link http://www.pyside.org/files/pyside-tools-0.1.2.tar.bz2.md5 > (from http://www.pyside.org/files/); unknown archive format: .md5 >    Found link http://www.pyside.org/files/pyside-tools-0.1.tar.bz2 (from > http://www.pyside.org/files/), version: tools-0.1 >    Skipping link http://www.pyside.org/files/pyside-tools-0.1.tar.bz2.md5 (from > http://www.pyside.org/files/); unknown archive format: .md5 >    Found link http://www.pyside.org/files/pyside-tools-0.2.0.tar.bz2 (from > http://www.pyside.org/files/), version: tools-0.2.0 >    Skipping link http://www.pyside.org/files/pyside-tools-0.2.0.tar.bz2.md5 > (from http://www.pyside.org/files/); unknown archive format: .md5 >    Found link http://www.pyside.org/files/pyside-tools-0.2.1.tar.bz2 (from > http://www.pyside.org/files/), version: tools-0.2.1 >    Skipping link http://www.pyside.org/files/pyside-tools-0.2.1.tar.bz2.md5 > (from http://www.pyside.org/files/); unknown archive format: .md5 >    Found link http://www.pyside.org/files/pyside-tools-0.2.10.tar.bz2 (from > http://www.pyside.org/files/), version: tools-0.2.10 >    Skipping link http://www.pyside.org/files/pyside-tools-0.2.10.tar.bz2.md5 > (from http://www.pyside.org/files/); unknown archive format: .md5 >    Found link http://www.pyside.org/files/pyside-tools-0.2.11.tar.bz2 (from > http://www.pyside.org/files/), version: tools-0.2.11 >    Skipping link http://www.pyside.org/files/pyside-tools-0.2.11.tar.bz2.md5 > (from http://www.pyside.org/files/); unknown archive format: .md5 >    Found link http://www.pyside.org/files/pyside-tools-0.2.12.tar.bz2 (from > http://www.pyside.org/files/), version: tools-0.2.12 >    Skipping link http://www.pyside.org/files/pyside-tools-0.2.12.tar.bz2.md5 > (from http://www.pyside.org/files/); unknown archive format: .md5 >    Found link http://www.pyside.org/files/pyside-tools-0.2.13.tar.bz2 (from > http://www.pyside.org/files/), version: tools-0.2.13 >    Skipping link http://www.pyside.org/files/pyside-tools-0.2.13.tar.bz2.md5 > (from http://www.pyside.org/files/); unknown archive format: .md5 >    Found link http://www.pyside.org/files/pyside-tools-0.2.14.tar.bz2 (from > http://www.pyside.org/files/), version: tools-0.2.14 >    Skipping link http://www.pyside.org/files/pyside-tools-0.2.14.tar.bz2.md5 > (from http://www.pyside.org/files/); unknown archive format: .md5 >    Found link http://www.pyside.org/files/pyside-tools-0.2.2.tar.bz2 (from > http://www.pyside.org/files/), version: tools-0.2.2 >    Skipping link http://www.pyside.org/files/pyside-tools-0.2.2.tar.bz2.md5 > (from http://www.pyside.org/files/); unknown archive format: .md5 >    Found link http://www.pyside.org/files/pyside-tools-0.2.3.tar.bz2 (from > http://www.pyside.org/files/), version: tools-0.2.3 >    Skipping link http://www.pyside.org/files/pyside-tools-0.2.3.tar.bz2.md5 > (from http://www.pyside.org/files/); unknown archive format: .md5 >    Found link http://www.pyside.org/files/pyside-tools-0.2.4.tar.bz2 (from > http://www.pyside.org/files/), version: tools-0.2.4 >    Skipping link http://www.pyside.org/files/pyside-tools-0.2.4.tar.bz2.md5 > (from http://www.pyside.org/files/); unknown archive format: .md5 >    Found link http://www.pyside.org/files/pyside-tools-0.2.5.tar.bz2 (from > http://www.pyside.org/files/), version: tools-0.2.5 >    Skipping link http://www.pyside.org/files/pyside-tools-0.2.5.tar.bz2.md5 > (from http://www.pyside.org/files/); unknown archive format: .md5 >    Found link http://www.pyside.org/files/pyside-tools-0.2.6.tar.bz2 (from > http://www.pyside.org/files/), version: tools-0.2.6 >    Skipping link http://www.pyside.org/files/pyside-tools-0.2.6.tar.bz2.md5 > (from http://www.pyside.org/files/); unknown archive format: .md5 >    Found link http://www.pyside.org/files/pyside-tools-0.2.7.tar.bz2 (from > http://www.pyside.org/files/), version: tools-0.2.7 >    Skipping link http://www.pyside.org/files/pyside-tools-0.2.7.tar.bz2.md5 > (from http://www.pyside.org/files/); unknown archive format: .md5 >    Found link http://www.pyside.org/files/pyside-tools-0.2.8.tar.bz2 (from > http://www.pyside.org/files/), version: tools-0.2.8 >    Skipping link http://www.pyside.org/files/pyside-tools-0.2.8.tar.bz2.md5 > (from http://www.pyside.org/files/); unknown archive format: .md5 >    Found link http://www.pyside.org/files/pyside-tools-0.2.9.tar.bz2 (from > http://www.pyside.org/files/), version: tools-0.2.9 >    Skipping link http://www.pyside.org/files/pyside-tools-0.2.9.tar.bz2.md5 > (from http://www.pyside.org/files/); unknown archive format: .md5 >    Found link http://www.pyside.org/files/pyside-tools-latest.tar.bz2 (from > http://www.pyside.org/files/), version: tools-latest >    Skipping link http://www.pyside.org/files/pyside.svg (from > http://www.pyside.org/files/); unknown archive format: .svg >    Skipping link http://www.pyside.org/files/python-meegotouch-0.1.0.tar.bz2 > (from http://www.pyside.org/files/); wrong project name (not pyside) >    Skipping link http://www.pyside.org/files/python-meegotouch- > 0.1.0.tar.bz2.md5 (from http://www.pyside.org/files/); unknown archive format: > .md5 >    Skipping link http://www.pyside.org/files/shiboken-0.1.tar.bz2 (from > http://www.pyside.org/files/); wrong project name (not pyside) >    Skipping link http://www.pyside.org/files/shiboken-0.1.tar.bz2.md5 (from > http://www.pyside.org/files/); unknown archive format: .md5 >    Skipping link http://www.pyside.org/files/shiboken-0.2.0.tar.bz2 (from > http://www.pyside.org/files/); wrong project name (not pyside) >    Skipping link http://www.pyside.org/files/shiboken-0.2.0.tar.bz2.md5 (from > http://www.pyside.org/files/); unknown archive format: .md5 >    Skipping link http://www.pyside.org/files/shiboken-0.3.0.tar.bz2 (from > http://www.pyside.org/files/); wrong project name (not pyside) >    Skipping link http://www.pyside.org/files/shiboken-0.3.0.tar.bz2.md5 (from > http://www.pyside.org/files/); unknown archive format: .md5 >    Skipping link http://www.pyside.org/files/shiboken-0.3.1.tar.bz2 (from > http://www.pyside.org/files/); wrong project name (not pyside) >    Skipping link http://www.pyside.org/files/shiboken-0.3.1.tar.bz2.md5 (from > http://www.pyside.org/files/); unknown archive format: .md5 >    Skipping link http://www.pyside.org/files/shiboken-0.3.2.tar.bz2 (from > http://www.pyside.org/files/); wrong project name (not pyside) >    Skipping link http://www.pyside.org/files/shiboken-0.3.2.tar.bz2.md5 (from > http://www.pyside.org/files/); unknown archive format: .md5 >    Skipping link http://www.pyside.org/files/shiboken-0.4.0.tar.bz2 (from > http://www.pyside.org/files/); wrong project name (not pyside) >    Skipping link http://www.pyside.org/files/shiboken-0.4.0.tar.bz2.md5 (from > http://www.pyside.org/files/); unknown archive format: .md5 >    Skipping link http://www.pyside.org/files/shiboken-0.5.0.tar.bz2 (from > http://www.pyside.org/files/); wrong project name (not pyside) >    Skipping link http://www.pyside.org/files/shiboken-0.5.0.tar.bz2.md5 (from > http://www.pyside.org/files/); unknown archive format: .md5 >    Skipping link http://www.pyside.org/files/shiboken-0.5.1.tar.bz2 (from > http://www.pyside.org/files/); wrong project name (not pyside) >    Skipping link http://www.pyside.org/files/shiboken-0.5.1.tar.bz2.md5 (from > http://www.pyside.org/files/); unknown archive format: .md5 >    Skipping link http://www.pyside.org/files/shiboken-1.0.0.tar.bz2 (from > http://www.pyside.org/files/); wrong project name (not pyside) >    Skipping link http://www.pyside.org/files/shiboken-1.0.0.tar.bz2.md5 (from > http://www.pyside.org/files/); unknown archive format: .md5 >    Skipping link http://www.pyside.org/files/shiboken-1.0.0%7ebeta1.tar.bz2 > (from http://www.pyside.org/files/); wrong project name (not pyside) >    Skipping link http://www.pyside.org/files/shiboken-1.0.0%7ebeta1.tar.bz2.md5 > (from http://www.pyside.org/files/); unknown archive format: .md5 >    Skipping link http://www.pyside.org/files/shiboken-1.0.0%7ebeta2.tar.bz2 > (from http://www.pyside.org/files/); wrong project name (not pyside) >    Skipping link http://www.pyside.org/files/shiboken-1.0.0%7ebeta2.tar.bz2.md5 > (from http://www.pyside.org/files/); unknown archive format: .md5 >    Skipping link http://www.pyside.org/files/shiboken-1.0.0%7ebeta3.tar.bz2 > (from http://www.pyside.org/files/); wrong project name (not pyside) >    Skipping link http://www.pyside.org/files/shiboken-1.0.0%7ebeta3.tar.bz2.md5 > (from http://www.pyside.org/files/); unknown archive format: .md5 >    Skipping link http://www.pyside.org/files/shiboken-1.0.0%7ebeta4.tar.bz2 > (from http://www.pyside.org/files/); wrong project name (not pyside) >    Skipping link http://www.pyside.org/files/shiboken-1.0.0%7ebeta4.tar.bz2.md5 > (from http://www.pyside.org/files/); unknown archive format: .md5 >    Skipping link http://www.pyside.org/files/shiboken-1.0.0%7ebeta5.tar.bz2 > (from http://www.pyside.org/files/); wrong project name (not pyside) >    Skipping link http://www.pyside.org/files/shiboken-1.0.0%7ebeta5.tar.bz2.md5 > (from http://www.pyside.org/files/); unknown archive format: .md5 >    Skipping link http://www.pyside.org/files/shiboken-1.0.0%7erc1.tar.bz2 (from > http://www.pyside.org/files/); wrong project name (not pyside) >    Skipping link http://www.pyside.org/files/shiboken-1.0.0%7erc1.tar.bz2.md5 > (from http://www.pyside.org/files/); unknown archive format: .md5 >    Skipping link http://www.pyside.org/files/shiboken-1.0.1.tar.bz2 (from > http://www.pyside.org/files/); wrong project name (not pyside) >    Skipping link http://www.pyside.org/files/shiboken-1.0.1.tar.bz2.md5 (from > http://www.pyside.org/files/); unknown archive format: .md5 >    Skipping link http://www.pyside.org/files/shiboken-1.0.10.tar.bz2 (from > http://www.pyside.org/files/); wrong project name (not pyside) >    Skipping link http://www.pyside.org/files/shiboken-1.0.10.tar.bz2.md5 (from > http://www.pyside.org/files/); unknown archive format: .md5 >    Skipping link http://www.pyside.org/files/shiboken-1.0.2.tar.bz2 (from > http://www.pyside.org/files/); wrong project name (not pyside) >    Skipping link http://www.pyside.org/files/shiboken-1.0.2.tar.bz2.md5 (from > http://www.pyside.org/files/); unknown archive format: .md5 >    Skipping link http://www.pyside.org/files/shiboken-1.0.3.tar.bz2 (from > http://www.pyside.org/files/); wrong project name (not pyside) >    Skipping link http://www.pyside.org/files/shiboken-1.0.3.tar.bz2.md5 (from > http://www.pyside.org/files/); unknown archive format: .md5 >    Skipping link http://www.pyside.org/files/shiboken-1.0.4.tar.bz2 (from > http://www.pyside.org/files/); wrong project name (not pyside) >    Skipping link http://www.pyside.org/files/shiboken-1.0.4.tar.bz2.md5 (from > http://www.pyside.org/files/); unknown archive format: .md5 >    Skipping link http://www.pyside.org/files/shiboken-1.0.5.tar.bz2 (from > http://www.pyside.org/files/); wrong project name (not pyside) >    Skipping link http://www.pyside.org/files/shiboken-1.0.5.tar.bz2.md5 (from > http://www.pyside.org/files/); unknown archive format: .md5 >    Skipping link http://www.pyside.org/files/shiboken-1.0.6.tar.bz2 (from > http://www.pyside.org/files/); wrong project name (not pyside) >    Skipping link http://www.pyside.org/files/shiboken-1.0.6.tar.bz2.md5 (from > http://www.pyside.org/files/); unknown archive format: .md5 >    Skipping link http://www.pyside.org/files/shiboken-1.0.7.tar.bz2 (from > http://www.pyside.org/files/); wrong project name (not pyside) >    Skipping link http://www.pyside.org/files/shiboken-1.0.7.tar.bz2.md5 (from > http://www.pyside.org/files/); unknown archive format: .md5 >    Skipping link http://www.pyside.org/files/shiboken-1.0.7.zip (from > http://www.pyside.org/files/); wrong project name (not pyside) >    Skipping link http://www.pyside.org/files/shiboken-1.0.8.tar.bz2 (from > http://www.pyside.org/files/); wrong project name (not pyside) >    Skipping link http://www.pyside.org/files/shiboken-1.0.8.tar.bz2.md5 (from > http://www.pyside.org/files/); unknown archive format: .md5 >    Skipping link http://www.pyside.org/files/shiboken-1.0.9.tar.bz2 (from > http://www.pyside.org/files/); wrong project name (not pyside) >    Skipping link http://www.pyside.org/files/shiboken-1.0.9.tar.bz2.md5 (from > http://www.pyside.org/files/); unknown archive format: .md5 >    Skipping link http://www.pyside.org/files/shiboken-1.1.0.tar.bz2 (from > http://www.pyside.org/files/); wrong project name (not pyside) >    Skipping link http://www.pyside.org/files/shiboken-1.1.0.tar.bz2.md5 (from > http://www.pyside.org/files/); unknown archive format: .md5 >    Skipping link http://www.pyside.org/files/shiboken-1.1.1.tar.bz2 (from > http://www.pyside.org/files/); wrong project name (not pyside) >    Skipping link http://www.pyside.org/files/shiboken-1.1.1.tar.bz2.md5 (from > http://www.pyside.org/files/); unknown archive format: .md5 >    Skipping link http://www.pyside.org/files/shiboken-latest.tar.bz2 (from > http://www.pyside.org/files/); wrong project name (not pyside) >    Skipping link http://www.pyside.org/files/shiboken-latest.tar.bz2.md5 (from > http://www.pyside.org/files/); unknown archive format: .md5 >  Analyzing links from page http://www.pyside.org/files/pkg/ >    Skipping link http://www.pyside.org/files/pkg/?C=N;O=D (from > http://www.pyside.org/files/pkg/); not a file >    Skipping link http://www.pyside.org/files/pkg/?C=M;O=A (from > http://www.pyside.org/files/pkg/); not a file >    Skipping link http://www.pyside.org/files/pkg/?C=S;O=A (from > http://www.pyside.org/files/pkg/); not a file >    Skipping link http://www.pyside.org/files/pkg/?C=D;O=A (from > http://www.pyside.org/files/pkg/); not a file >    Skipping link http://www.pyside.org/files/pkg/PySide-0.4.1qt47.win32- > py2.6.exe (from http://www.pyside.org/files/pkg/); unknown archive format: .exe >    Skipping link http://www.pyside.org/files/pkg/PySide-0.4.1qt47.win32- > py2.6.exe.md5 (from http://www.pyside.org/files/pkg/); unknown archive format: > .md5 >    Skipping link http://www.pyside.org/files/pkg/PySide-0.4.1qt47.win32- > py2.7.exe (from http://www.pyside.org/files/pkg/); unknown archive format: .exe >    Skipping link http://www.pyside.org/files/pkg/PySide-0.4.1qt47.win32- > py2.7.exe.md5 (from http://www.pyside.org/files/pkg/); unknown archive format: > .md5 >    Skipping link http://www.pyside.org/files/pkg/PySide-0.4.2qt47.win32- > py2.5.exe (from http://www.pyside.org/files/pkg/); unknown archive format: .exe >    Skipping link http://www.pyside.org/files/pkg/PySide-0.4.2qt47.win32- > py2.5.exe.md5 (from http://www.pyside.org/files/pkg/); unknown archive format: > .md5 >    Skipping link http://www.pyside.org/files/pkg/PySide-0.4.2qt47.win32- > py2.6.exe (from http://www.pyside.org/files/pkg/); unknown archive format: .exe >    Skipping link http://www.pyside.org/files/pkg/PySide-0.4.2qt47.win32- > py2.6.exe.md5 (from http://www.pyside.org/files/pkg/); unknown archive format: > .md5 >    Skipping link http://www.pyside.org/files/pkg/PySide-0.4.2qt47.win32- > py2.7.exe (from http://www.pyside.org/files/pkg/); unknown archive format: .exe >    Skipping link http://www.pyside.org/files/pkg/PySide-0.4.2qt47.win32- > py2.7.exe.md5 (from http://www.pyside.org/files/pkg/); unknown archive format: > .md5 >    Skipping link http://www.pyside.org/files/pkg/PySide-1.0.0beta1qt471.win32- > py2.5.exe (from http://www.pyside.org/files/pkg/); unknown archive format: .exe >    Skipping link http://www.pyside.org/files/pkg/PySide-1.0.0beta1qt471.win32- > py2.5.exe.md5 (from http://www.pyside.org/files/pkg/); unknown archive format: > .md5 >    Skipping link http://www.pyside.org/files/pkg/PySide-1.0.0beta1qt471.win32- > py2.6.exe (from http://www.pyside.org/files/pkg/); unknown archive format: .exe >    Skipping link http://www.pyside.org/files/pkg/PySide-1.0.0beta1qt471.win32- > py2.6.exe.md5 (from http://www.pyside.org/files/pkg/); unknown archive format: > .md5 >    Skipping link http://www.pyside.org/files/pkg/PySide-1.0.0beta1qt471.win32- > py2.7.exe (from http://www.pyside.org/files/pkg/); unknown archive format: .exe >    Skipping link http://www.pyside.org/files/pkg/PySide-1.0.0beta1qt471.win32- > py2.7.exe.md5 (from http://www.pyside.org/files/pkg/); unknown archive format: > .md5 >    Found link http://www.pyside.org/files/pkg/pyside-pkgsetup-0.4.2.zip (from > http://www.pyside.org/files/pkg/), version: pkgsetup-0.4.2 >    Skipping link http://www.pyside.org/files/pkg/pyside-pkgsetup-0.4.2.zip.md5 > (from http://www.pyside.org/files/pkg/); unknown archive format: .md5 >  Analyzing links from page http://releases.qt-project.org/pyside/1.1.1/ >    Skipping link http://releases.qt-project.org/pyside/ (from > http://releases.qt-project.org/pyside/1.1.1/); not a file >    Skipping link http://releases.qt-project.org/pyside/1.1.1/PySide- > 1.1.1qt474.win-amd64-py2.7.exe (from http://releases.qt- > project.org/pyside/1.1.1/); unknown archive format: .exe >    Skipping link http://releases.qt-project.org/pyside/1.1.1/PySide- > 1.1.1qt474.win-amd64-py3.2.exe (from http://releases.qt- > project.org/pyside/1.1.1/); unknown archive format: .exe >    Skipping link http://releases.qt-project.org/pyside/1.1.1/PySide- > 1.1.1qt474.win32-py2.6.exe (from http://releases.qt-project.org/pyside/1.1.1/); > unknown archive format: .exe >    Skipping link http://releases.qt-project.org/pyside/1.1.1/PySide- > 1.1.1qt474.win32-py2.7.exe (from http://releases.qt-project.org/pyside/1.1.1/); > unknown archive format: .exe >    Skipping link http://releases.qt-project.org/pyside/1.1.1/PySide- > 1.1.1qt474.win32-py3.2.exe (from http://releases.qt-project.org/pyside/1.1.1/); > unknown archive format: .exe >    Skipping link http://releases.qt-project.org/pyside/1.1.1/md5sums.txt (from > http://releases.qt-project.org/pyside/1.1.1/); >  Using version 1.1.0-docs (newest of versions: 1.1.0-docs, 1.0.7-docs, 1.0.6- > docs, 1.0.5-docs, 1.0.4-docs, 1.0.3-docs, 1.0.2-docs, 1.0.1-docs, 1.0.0-docs, > 0.1.4.5, 0.1.4.5, 0.1, tools-0.2.14, tools-0.2.13, tools-0.2.12, tools-0.2.11, > tools-0.2.10, tools-0.2.9, tools-0.2.8, tools-0.2.7, tools-0.2.6, tools-0.2.5, > tools-0.2.4, tools-0.2.3, tools-0.2.2, tools-0.2.1, tools-0.2.0, tools-0.1.2, > tools-0.1.1, tools-0.1, tools-latest, qt4.8, qt4.7, qt4.7, qt4.7, qt4.7, qt4.7, > qt4.7, qt4.7, qt4.7, qt4.7, qt4.7, qt4.7, qt4.7, qt4.7, qt4.7, qt4.7, qt4.7, > qt4.7, qt4.7, qt4.7, qt4.6, qt4.6, qt4.6, qt4.6, qt4.6, qt4.6, qt4.6, qt4.6, > qt4.5, qt4.5, qt4.5, qt4.5, pkgsetup-0.4.2, mobility-0.2.3, mobility-0.2.2, > mobility-0.2.0, mobility-0.1.0, latest, docs-1.0.6, docs-0.1, docs-qt4.7, docs- > qt4.7, docs-qt4.6, docs-qt4.6, docs-qt4.6, docs-qt4.6, docs-qt4.6, docs-latest) >  Downloading from URL http://www.pyside.org/files/pyside-1.1.0-docs.zip (from > http://www.pyside.org/files/) >  Running setup.py egg_info for package pyside > >    Traceback (most recent call last): > >      File "", line 14, in > >    IOError: [Errno 2] No such file or directory: > '/usr/user1/python/pyside/pyside_env/build/pyside/setup.py' > >    Complete output from command python setup.py egg_info: > >    Traceback (most recent call last): > >  File "", line 14, in > > IOError: [Errno 2] No such file or directory: > '/usr/user1/python/pyside/pyside_env/build/pyside/setup.py' > > ---------------------------------------- > > Command python setup.py egg_info failed with error code 1 in > /usr/user1/python/pyside/pyside_env/build/pyside > > Exception information: > Traceback (most recent call last): >  File "/usr/user1/python/pyside/pyside_env/lib/python2.7/site-packages/pip-1.1- > py2.7.egg/pip/basecommand.py", line 104, in main >    status = self.run(options, args) >  File "/usr/user1/python/pyside/pyside_env/lib/python2.7/site-packages/pip-1.1- > py2.7.egg/pip/commands/install.py", line 245, in run >    requirement_set.prepare_files(finder, force_root_egg_info=self.bundle, > bundle=self.bundle) >  File "/usr/user1/python/pyside/pyside_env/lib/python2.7/site-packages/pip-1.1- > py2.7.egg/pip/req.py", line 1009, in prepare_files >    req_to_install.run_egg_info() >  File "/usr/user1/python/pyside/pyside_env/lib/python2.7/site-packages/pip-1.1- > py2.7.egg/pip/req.py", line 225, in run_egg_info >    command_desc='python setup.py egg_info') >  File "/usr/user1/python/pyside/pyside_env/lib/python2.7/site-packages/pip-1.1- > py2.7.egg/pip/__init__.py", line 256, in call_subprocess >    % (command_desc, proc.returncode, cwd)) > InstallationError: Command python setup.py egg_info failed with error code 1 in > /usr/user1/python/pyside/pyside_env/build/pyside > > -------------- > > I also tried: > > ./bin/pip install pyside-setup > > but pip reported that pyside-setup was not found. > > Regards > Rajesh > > > _______________________________________________ > PySide mailing list > PySide at qt-project.org > http://lists.qt-project.org/mailman/listinfo/pyside From christoferbertonha at gmail.com Thu Jun 7 09:41:39 2012 From: christoferbertonha at gmail.com (Christofer Bertonha) Date: Thu, 7 Jun 2012 04:41:39 -0300 Subject: [PySide] search widget In-Reply-To: <4FD049EC.60206@ohufx.com> References: <4FD03143.1030802@ohufx.com> <4FD049EC.60206@ohufx.com> Message-ID: You can crange to a list of strings eg: ['str1', 'str2'] A more pythonic way [ ]' s Christofer Bertonha On Jun 7, 2012 3:28 AM, "Frank Rueter | OHUfx" wrote: > Oh cool, would love to see what it does, but QtCore.QStringList() isn't > valid in my version of PySide it would seem. > Is there a quick fix? > > Anyway, it's late here, I will have a closer look tomorrow. Thanks heaps > for the example! > > frank > > On 7/06/12 6:23 PM, simozack wrote: > > 2012/6/7 Frank Rueter | OHUfx: > >> quick question for the more experienced: > >> Is there a core widget for text search? I'm after pretty something that > >> looks pretty much like this one (at the top): > >> http://farm5.static.flickr.com/4042/4574583703_f7be03c653.jpg > > Some time ago, I wrote something like that. You can find it here: > > > https://bitbucket.org/simozack/pyqtexamples/src/f037651e8406/EvolutionSearch.py > > > > It uses the completion facility of the qt framework for searching text > > inside a list of value and it has a callback function you can use to > > do something with the value selected, a delay parameter to make the > > callback function more or less responsive. > > > > It was developed with pyqt, but I think there's no problem to use it > > with pyside. > > > > HTH, > > Simone > _______________________________________________ > PySide mailing list > PySide at qt-project.org > http://lists.qt-project.org/mailman/listinfo/pyside > -------------- next part -------------- An HTML attachment was scrubbed... URL: From boris at pohlers-web.de Thu Jun 7 10:01:22 2012 From: boris at pohlers-web.de (boris at pohlers-web.de) Date: Thu, 7 Jun 2012 08:01:22 +0000 Subject: [PySide] search widget In-Reply-To: References: <4FD03143.1030802@ohufx.com> <4FD049EC.60206@ohufx.com> Message-ID: The example uses PyQt, which has QStrings as a datatype, PySide uses normal strings instead. Christofer Bertonha schrieb am 07.06.12 09:41: You can crange to a list of strings eg: ['str1', 'str2'] A more pythonic way [ ]' s Christofer Bertonha On Jun 7, 2012 3:28 AM, "Frank Rueter | OHUfx" wrote: Oh cool, would love to see what it does, but QtCore.QStringList() isn't valid in my version of PySide it would seem. Is there a quick fix? Anyway, it's late here, I will have a closer look tomorrow. Thanks heaps for the example! frank On 7/06/12 6:23 PM, simozack wrote: > 2012/6/7 Frank Rueter | OHUfx: >> quick question for the more experienced: >> Is there a core widget for text search? I'm after pretty something that >> looks pretty much like this one (at the top): >> http://farm5.static.flickr.com/4042/4574583703_f7be03c653.jpg > Some time ago, I wrote something like that. You can find it here: > https://bitbucket.org/simozack/pyqtexamples/src/f037651e8406/EvolutionSearch.py > > It uses the completion facility of the qt framework for searching text > inside a list of value and it has a callback function you can use to > do something with the value selected, a delay parameter to make the > callback function more or less responsive. > > It was developed with pyqt, but I think there's no problem to use it > with pyside. > > HTH, > Simone _______________________________________________ PySide mailing list PySide at qt-project.org http://lists.qt-project.org/mailman/listinfo/pyside -------------- next part -------------- An HTML attachment was scrubbed... URL: From william.dias at gmail.com Thu Jun 7 09:59:56 2012 From: william.dias at gmail.com (William Dias) Date: Thu, 7 Jun 2012 04:59:56 -0300 Subject: [PySide] QThread crash before emitting finished signal Message-ID: Hi, I have a subclass of QThread which uploads pictures to a webserver. For each new picture created in the main thread, the program spawns a new thread to handle the job. I've override the __init__ method to be able to pass some parameters to the thread object, as you can see bellow. class PhotoConnection(QThread): > photoStatus = Signal(str, str) def __init__(self, tags, filename, parent=None): > QThread.__init__(self, parent) > self.tags = tags > self.filename = filename def run(self): > status = sendPhoto(self.tags, self.filename) > self.photoStatus.emit(self.filename, status) In the GUI thread, the method responsible dor creating the threads is the following: def sendPhoto(self): > photoConnection = PhotoConnection(self.tags_to_string, self.filename, self) > photoConnection.photoStatus.connect(self.photoStatus) > photoConnection.finished.connect(self.threadFinished) > photoConnection.start() > In the PhotoConnection, if I don't set the parent of my Qthread object to self (for example, if I set to None) or if I don't override the __init__ method and create another method to pass the arguments, when the thread finishes the execution I got a segfault. Why is this happening? Can you help me? Thanks, -------------- next part -------------- An HTML attachment was scrubbed... URL: From yann.lanthony at gmail.com Thu Jun 7 10:29:37 2012 From: yann.lanthony at gmail.com (Yann Lanthony) Date: Thu, 7 Jun 2012 10:29:37 +0200 Subject: [PySide] Shiboken - Documentation support when binding a C++ library In-Reply-To: <47819469.Nu8lO6KdBR@hugodesktop> References: <47819469.Nu8lO6KdBR@hugodesktop> Message-ID: Thanks a lot for these very precise answers John and Hugo. I guess this discussion will now continue on the new topic John created. See you there ! 2012/6/5 Hugo Parente Lima > On Tuesday, June 05, 2012 02:22:27 PM John Cummings wrote: > > Yann Lanthony writes: > > > However, I have trouble understanding how I can also retrieve my C++ > > > doxygen- > > style documentation as python docstrings, to be able to print functions > doc > > at runtime with help(myFunction). > > > > > I am working on Windows (64bits) and I have compiled shiboken (and > pyside) > > > > with docstring support (well, I linked libxml2 and libxslt which seem to > be > > the 2 documentation related libraries). > > > > > Is it at least possible to do something like that with the current > version > > > of > > shiboken (1.1.1) ? > > > > > > Yann, the short answer is no, at least not the form you and I would like. > > The docstring related CMake settings (see my previous posts) are actually > > to produce sphinx-compatible .rst files. Apparently sphinx is somewhat > like > > doxygen in that it expects docstrings to be formatted in a certain way > and > > then you can output the documentation in different formats (HTML, PDF, > > etc.). Sphinx is apparently the python way of doing it. > > > > However, I did manage to cobble the pieces together to produce some .rst > > files using my existing doxygen-formatted documentation. To do that, I > did > > the following (perhaps this should be a wiki entry or did I just miss the > > existing one?): > > > > 1. Make sure that libxml2 and libxslt are installed and that > > DISABLE_DOCSTRINGS is set to OFF (I believe that is the default if CMake > > finds libxml2 and libxslt). Build and compile shiboken as usual. Doing so > > essentially allows the - -generator-set argument to accept "qtdoc" as a > > value for generating documentation. > > > > 2. Run doxygen over your C++ library with the XML output enabled. Be > sure to > > note the output directory for the XML files. > > > > 3. Run shiboken in the same way you would for generating the bindings but > > add the following additional options: > > * --generator-set=qtdoc This adds a documentation "generator" > > * --doc-parser=doxygen This sets the documentation parser to assume > > doxygen formatting. By default, qtdoc formatting is assumed. > > * --library-source-dir Set this to the top level of your C++ source > > tree. * --documentation-data-dir Set this to the doxygen XML output > > directory. There are also more options available. See > > QtDocGenerator::options for a better description or it turns out you can > > run "shiboken --help --generator-set=qtdoc" and it will display these > > options (did I miss a page on the wiki for this option?) > > > > You will then have .rst files for your library. Unfortunately, at this > time, > > it doesn't grab as much of the doxygen documentation as I would like, > but I > > do have the source code and may make changes. > > The doxygen backend still incomplete, because we had work mostly on qtdoc > backend to support the PySide documentation. > > > This still doesn't address your/our initial question. I'll post another > > email about that topic in particular. > > About docstrings, it's not supported, however it's not hard to add such > support, you just need to decide what to do with documentation of function > overloads. > > > _______________________________________________ > > PySide mailing list > > PySide at qt-project.org > > http://lists.qt-project.org/mailman/listinfo/pyside > > _______________________________________________ > PySide mailing list > PySide at qt-project.org > http://lists.qt-project.org/mailman/listinfo/pyside > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From sebastian at risefx.com Thu Jun 7 10:45:24 2012 From: sebastian at risefx.com (Sebastian Elner) Date: Thu, 07 Jun 2012 10:45:24 +0200 Subject: [PySide] search widget In-Reply-To: <4FD03143.1030802@ohufx.com> References: <4FD03143.1030802@ohufx.com> Message-ID: <4FD06A24.5070109@risefx.com> This is the search line edit class I use. The only thing to do is pass the SearchLineEdit two valid pixmaps for the icons. I use the icons from the tango desktop project. Notice that you can easily make the magnifier icon a button with a menu, to have the user select the "search engine" (uncomment the lines below). Tested with PyQt only. from PySide import QtCore, QtGui class SearchLineEdit(QtGui.QLineEdit): def __init__(self, searchPixmap, clearPixmap, parent = None): QtGui.QLineEdit.__init__(self, parent) self.clearButton = QtGui.QToolButton(self) self.clearButton.setIcon(QtGui.QIcon(clearPixmap)) self.clearButton.setIconSize(clearPixmap.size()) self.clearButton.setCursor(QtCore.Qt.ArrowCursor) self.clearButton.setStyleSheet("QToolButton { border: none; padding: 0px; }") self.clearButton.hide() self.clearButton.clicked.connect(self.clear) self.textChanged.connect(self.updateCloseButton) self.searchButton = QtGui.QToolButton(self) self.searchButton.setIcon(QtGui.QIcon(searchPixmap)) self.searchButton.setIconSize(searchPixmap.size()) self.searchButton.setStyleSheet("QToolButton { border: none; padding: 0px; }") frameWidth = self.style().pixelMetric(QtGui.QStyle.PM_DefaultFrameWidth) self.setStyleSheet("QLineEdit { padding-left: %spx; padding-right: %spx; } " % (self.searchButton.sizeHint().width() + frameWidth + 1, self.clearButton.sizeHint().width() + frameWidth + 1)) msz = self.minimumSizeHint() self.setMinimumSize(max(msz.width(), self.searchButton.sizeHint().width() + self.clearButton.sizeHint().width() + frameWidth * 2 + 2), max(msz.height(), self.clearButton.sizeHint().height() + frameWidth * 2 + 2)) # self.searchMenu = QtGui.QMenu(self.searchButton) # self.searchButton.setMenu(self.searchMenu) # self.searchMenu.addAction("Google") # self.searchButton.setPopupMode(QtGui.QToolButton.InstantPopup) def resizeEvent(self, event): sz = self.clearButton.sizeHint() frameWidth = self.style().pixelMetric(QtGui.QStyle.PM_DefaultFrameWidth) self.clearButton.move(self.rect().right() - frameWidth - sz.width(), (self.rect().bottom() + 1 - sz.height()) / 2) self.searchButton.move(self.rect().left() + 1, (self.rect().bottom() + 1 - sz.height()) / 2) def updateCloseButton(self, text): if text: self.clearButton.setVisible(True) else: self.clearButton.setVisible(False) app = QtGui.QApplication([]) w = SearchLineEdit(QtGui.QPixmap(r"system-search.png"), QtGui.QPixmap(r"process-stop.png")) w.show() app.exec_() On 06/07/2012 06:42 AM, Frank Rueter | OHUfx wrote: > Hi all, > > quick question for the more experienced: > Is there a core widget for text search? I'm after pretty something that > looks pretty much like this one (at the top): > http://farm5.static.flickr.com/4042/4574583703_f7be03c653.jpg > > What I like is it's compactness. A little icon on one side inside the > box to indicate what it does, and a little "clear" icon on the other > side to quickly clear out the search field to return everything. > > I'm happy to try and write my own but thought I'd check if I'm missing > the obvious. > > Cheers, > frank > _______________________________________________ > PySide mailing list > PySide at qt-project.org > http://lists.qt-project.org/mailman/listinfo/pyside -- Sebastian Elsner - pipeline td - r i s e | fx t: +49 30 20180300 sebastian at risefx.com www.risefx.com r i s e | fx GmbH Schlesische Strasse 28 Aufgang B, 10997 Berlin Geschäftsführer: Sven Pannicke, Robert Pinnow Handelsregister Berlin HRB 106667 B From sebastian at risefx.com Thu Jun 7 10:50:16 2012 From: sebastian at risefx.com (Sebastian Elner) Date: Thu, 07 Jun 2012 10:50:16 +0200 Subject: [PySide] QThread crash before emitting finished signal In-Reply-To: References: Message-ID: <4FD06B48.7060302@risefx.com> Although it is in the documentation, QThread is not meant to be used this way (subclassing). Have a look at this: http://labs.qt.nokia.com/2010/06/17/youre-doing-it-wrong/ It helped me a lot. Also a complete stripped down example would greatly help in a case of a segfault. On 06/07/2012 09:59 AM, William Dias wrote: > Hi, > > I have a subclass of QThread which uploads pictures to a webserver. > For each new picture created in the main thread, the program spawns a > new thread to handle the job. I've override the __init__ method to be > able to pass some parameters to the thread object, as you can see bellow. > > class PhotoConnection(QThread): > photoStatus = Signal(str, str) > > def __init__(self, tags, filename, parent=None): > QThread.__init__(self, parent) > self.tags = tags > self.filename = filename > > def run(self): > status = sendPhoto(self.tags, self.filename) > self.photoStatus.emit(self.filename, status) > > > In the GUI thread, the method responsible dor creating the threads is > the following: > > def sendPhoto(self): > photoConnection = PhotoConnection(self.tags_to_string, > self.filename, self) > photoConnection.photoStatus.connect(self.photoStatus) > photoConnection.finished.connect(self.threadFinished) > photoConnection.start() > > > In the PhotoConnection, if I don't set the parent of my Qthread object > to self (for example, if I set to None) or if I don't override the > __init__ method and create another method to pass the arguments, when > the thread finishes the execution I got a segfault. > Why is this happening? Can you help me? > > Thanks, > > > _______________________________________________ > PySide mailing list > PySide at qt-project.org > http://lists.qt-project.org/mailman/listinfo/pyside -- Sebastian Elsner - pipeline td - r i s e | fx t: +49 30 20180300 sebastian at risefx.com www.risefx.com r i s e | fx GmbH Schlesische Strasse 28 Aufgang B, 10997 Berlin Geschäftsführer: Sven Pannicke, Robert Pinnow Handelsregister Berlin HRB 106667 B -------------- next part -------------- An HTML attachment was scrubbed... URL: From techtonik at gmail.com Thu Jun 7 16:15:28 2012 From: techtonik at gmail.com (anatoly techtonik) Date: Thu, 7 Jun 2012 17:15:28 +0300 Subject: [PySide] search widget In-Reply-To: <4FD03143.1030802@ohufx.com> References: <4FD03143.1030802@ohufx.com> Message-ID: On Thu, Jun 7, 2012 at 7:42 AM, Frank Rueter | OHUfx wrote: > Hi all, > > quick question for the more experienced: > Is there a core widget for text search? I'm after pretty something that > looks pretty much like this one (at the top): > http://farm5.static.flickr.com/4042/4574583703_f7be03c653.jpg > > What I like is it's compactness. A little icon on one side inside the > box to indicate what it does, and a little "clear" icon on the other > side to quickly clear out the search field to return everything. > > I'm happy to try and write my own but thought I'd check if I'm missing > the obvious. Here is the one used in Spyder IDE: https://code.google.com/p/spyderlib/source/browse/spyderlib/widgets/findreplace.py hg clone https://code.google.com/p/spyderlib/ spyderlib cd spyderlib; python bootstrap.py Ctrl-F to play with it. -- anatoly t. From william.dias at gmail.com Thu Jun 7 21:00:20 2012 From: william.dias at gmail.com (William Dias) Date: Thu, 7 Jun 2012 16:00:20 -0300 Subject: [PySide] QThread crash before emitting finished signal In-Reply-To: <4FD06B48.7060302@risefx.com> References: <4FD06B48.7060302@risefx.com> Message-ID: Thank you, Sebastian. I followed the procedures described in the document and it worked. But I have another question. Take a look at the code bellow: class PhotoWorker(QObject): photoStatus = Signal(str, str) @Slot() def work(self): self.db = sqlite_database.SQLiteDatabase("db1") self.timer = QTimer() self.timer.timeout.connect(self.__resendPhoto) logger.info("photo worker started") self.timer.start(10000) @Slot() def __resendPhoto(self): data = self.db.selectPhoto() if data != None: self.filename = data[0] self.tags = data[1] logger.info("trying to resend photo " + self.filename) status = sendPhoto(self.tags, self.filename) self.photoStatus.emit(self.filename, status) And in a GUI class, I do the following: photoWorker = http_connection.PhotoWorker(self) photoWorker.photoStatus.connect(self.photoStatus) photoThread = QThread() photoWorker.moveToThread(photoThread) photoThread.start() QMetaObject.invokeMethod(photoWorker, "work", Qt.QueuedConnection) I realized that when I create the photoWorker object, if I don't set its parent to self, my thread dies. Is this because my photoWorker doesn't have its own event loop? I am bit confused here. How should I proceed? Thank you. 2012/6/7 Sebastian Elner > Although it is in the documentation, QThread is not meant to be used this > way (subclassing). Have a look at this: > http://labs.qt.nokia.com/2010/06/17/youre-doing-it-wrong/ It helped me a > lot. Also a complete stripped down example would greatly help in a case of > a segfault. > > > > On 06/07/2012 09:59 AM, William Dias wrote: > > Hi, > > I have a subclass of QThread which uploads pictures to a webserver. For > each new picture created in the main thread, the program spawns a new > thread to handle the job. I've override the __init__ method to be able to > pass some parameters to the thread object, as you can see bellow. > > class PhotoConnection(QThread): >> photoStatus = Signal(str, str) > > def __init__(self, tags, filename, parent=None): >> QThread.__init__(self, parent) >> self.tags = tags >> self.filename = filename > > def run(self): >> status = sendPhoto(self.tags, self.filename) >> self.photoStatus.emit(self.filename, status) > > > In the GUI thread, the method responsible dor creating the threads is > the following: > > def sendPhoto(self): >> photoConnection = PhotoConnection(self.tags_to_string, self.filename, >> self) >> photoConnection.photoStatus.connect(self.photoStatus) >> photoConnection.finished.connect(self.threadFinished) >> photoConnection.start() >> > > In the PhotoConnection, if I don't set the parent of my Qthread object > to self (for example, if I set to None) or if I don't override the __init__ > method and create another method to pass the arguments, when the thread > finishes the execution I got a segfault. > Why is this happening? Can you help me? > > Thanks, > > > _______________________________________________ > PySide mailing listPySide at qt-project.orghttp://lists.qt-project.org/mailman/listinfo/pyside > > > > -- > Sebastian Elsner - pipeline td - r i s e | fx > > t: +49 30 20180300 sebastian at risefx.com > www.risefx.com > > r i s e | fx GmbH > Schlesische Strasse 28 Aufgang B, 10997 Berlin > Geschäftsführer: Sven Pannicke, Robert Pinnow > > Handelsregister Berlin HRB 106667 B > > > _______________________________________________ > PySide mailing list > PySide at qt-project.org > http://lists.qt-project.org/mailman/listinfo/pyside > > -- William Marques Dias -------------- next part -------------- An HTML attachment was scrubbed... URL: From william.dias at gmail.com Thu Jun 7 22:52:44 2012 From: william.dias at gmail.com (William Dias) Date: Thu, 7 Jun 2012 17:52:44 -0300 Subject: [PySide] QThread crash before emitting finished signal In-Reply-To: References: <4FD06B48.7060302@risefx.com> Message-ID: Ok. I've just seen that I can't do a moveToThread in a object that has a parent. That's the first point I've fixed in my code. Apart from that, my threads are being destroyed as photoWorker and photoThread objects run out of scope. How can I prevent python from doing this? Making them instance objects is not an option since every time my program reenters the method where they are declared it spawns new threads. Thanks, 2012/6/7 William Dias > Thank you, Sebastian. I followed the procedures described in the document > and it worked. But I have another question. > Take a look at the code bellow: > > class PhotoWorker(QObject): > > photoStatus = Signal(str, str) > > @Slot() > def work(self): > self.db = sqlite_database.SQLiteDatabase("db1") > self.timer = QTimer() > self.timer.timeout.connect(self.__resendPhoto) > logger.info("photo worker started") > self.timer.start(10000) > > @Slot() > def __resendPhoto(self): > data = self.db.selectPhoto() > if data != None: > self.filename = data[0] > self.tags = data[1] > logger.info("trying to resend photo " + self.filename) > status = sendPhoto(self.tags, self.filename) > self.photoStatus.emit(self.filename, status) > > And in a GUI class, I do the following: > > photoWorker = http_connection.PhotoWorker(self) > photoWorker.photoStatus.connect(self.photoStatus) > photoThread = QThread() > photoWorker.moveToThread(photoThread) > photoThread.start() > QMetaObject.invokeMethod(photoWorker, "work", Qt.QueuedConnection) > > I realized that when I create the photoWorker object, if I don't set its > parent to self, my thread dies. Is this because my photoWorker doesn't have > its own event loop? I am bit confused here. How should I proceed? > > Thank you. > > 2012/6/7 Sebastian Elner > >> Although it is in the documentation, QThread is not meant to be used >> this way (subclassing). Have a look at this: >> http://labs.qt.nokia.com/2010/06/17/youre-doing-it-wrong/ It helped me a >> lot. Also a complete stripped down example would greatly help in a case of >> a segfault. >> >> >> >> On 06/07/2012 09:59 AM, William Dias wrote: >> >> Hi, >> >> I have a subclass of QThread which uploads pictures to a webserver. For >> each new picture created in the main thread, the program spawns a new >> thread to handle the job. I've override the __init__ method to be able to >> pass some parameters to the thread object, as you can see bellow. >> >> class PhotoConnection(QThread): >>> photoStatus = Signal(str, str) >> >> def __init__(self, tags, filename, parent=None): >>> QThread.__init__(self, parent) >>> self.tags = tags >>> self.filename = filename >> >> def run(self): >>> status = sendPhoto(self.tags, self.filename) >>> self.photoStatus.emit(self.filename, status) >> >> >> In the GUI thread, the method responsible dor creating the threads is >> the following: >> >> def sendPhoto(self): >>> photoConnection = PhotoConnection(self.tags_to_string, self.filename, >>> self) >>> photoConnection.photoStatus.connect(self.photoStatus) >>> photoConnection.finished.connect(self.threadFinished) >>> photoConnection.start() >>> >> >> In the PhotoConnection, if I don't set the parent of my Qthread object >> to self (for example, if I set to None) or if I don't override the __init__ >> method and create another method to pass the arguments, when the thread >> finishes the execution I got a segfault. >> Why is this happening? Can you help me? >> >> Thanks, >> >> >> _______________________________________________ >> PySide mailing listPySide at qt-project.orghttp://lists.qt-project.org/mailman/listinfo/pyside >> >> >> >> -- >> Sebastian Elsner - pipeline td - r i s e | fx >> >> t: +49 30 20180300 sebastian at risefx.com >> www.risefx.com >> >> r i s e | fx GmbH >> Schlesische Strasse 28 Aufgang B, 10997 Berlin >> Geschäftsführer: Sven Pannicke, Robert Pinnow >> >> Handelsregister Berlin HRB 106667 B >> >> >> _______________________________________________ >> PySide mailing list >> PySide at qt-project.org >> http://lists.qt-project.org/mailman/listinfo/pyside >> >> > > > -- > William Marques Dias > -- William Dias -------------- next part -------------- An HTML attachment was scrubbed... URL: From sebastian at risefx.com Thu Jun 7 23:27:20 2012 From: sebastian at risefx.com (Sebastian Elsner) Date: Thu, 07 Jun 2012 23:27:20 +0200 Subject: [PySide] QThread crash before emitting finished signal In-Reply-To: References: <4FD06B48.7060302@risefx.com> Message-ID: <4FD11CB8.8060303@risefx.com> Hi, 1) I'd add an __init__ like this. def __init__(self,parent=None): QObject.__init__(self,parent) 2) I'd move the work method stuff to the init. It looks like you are doing the setup there. init is the place to be for this. 3) QMetaObject.invokeMethod(photoWorker, "work", Qt.QueuedConnection) looks very strange use: photoThread.started.connect(photoWorker.doWork) instead. place before photoThread.start(). > > Apart from that, my threads are being destroyed as photoWorker and > photoThread objects run out of scope. How can I prevent python from > doing this? Making them instance objects is not an option since every > time my program reenters the method where they are declared it spawns > new threads. Make a list and add the photoWorker instances to the list. Clean the list up now and then. > > Thanks, > > > 2012/6/7 William Dias > > > Thank you, Sebastian. I followed the procedures described in the > document and it worked. But I have another question. > Take a look at the code bellow: > > class PhotoWorker(QObject): > > photoStatus = Signal(str, str) > > @Slot() > def work(self): > self.db = sqlite_database.SQLiteDatabase("db1") > self.timer = QTimer() > self.timer.timeout.connect(self.__resendPhoto) > logger.info ("photo worker started") > self.timer.start(10000) > > @Slot() > def __resendPhoto(self): > data = self.db.selectPhoto() > if data != None: > self.filename = data[0] > self.tags = data[1] > logger.info ("trying to resend photo " + > self.filename) > status = sendPhoto(self.tags, self.filename) > self.photoStatus.emit(self.filename, status) > > And in a GUI class, I do the following: > > photoWorker = http_connection.PhotoWorker(self) > photoWorker.photoStatus.connect(self.photoStatus) > photoThread = QThread() > photoWorker.moveToThread(photoThread) > photoThread.start() > QMetaObject.invokeMethod(photoWorker, "work", Qt.QueuedConnection) > > I realized that when I create the photoWorker object, if I don't > set its parent to self, my thread dies. Is this because my > photoWorker doesn't have its own event loop? I am bit confused > here. How should I proceed? > > Thank you. > > 2012/6/7 Sebastian Elner > > > Although it is in the documentation, QThread is not meant to > be used this way (subclassing). Have a look at this: > http://labs.qt.nokia.com/2010/06/17/youre-doing-it-wrong/ It > helped me a lot. Also a complete stripped down example would > greatly help in a case of a segfault. > > > > On 06/07/2012 09:59 AM, William Dias wrote: >> Hi, >> >> I have a subclass of QThread which uploads pictures to a >> webserver. For each new picture created in the main thread, >> the program spawns a new thread to handle the job. I've >> override the __init__ method to be able to pass some >> parameters to the thread object, as you can see bellow. >> >> class PhotoConnection(QThread): >> photoStatus = Signal(str, str) >> >> def __init__(self, tags, filename, parent=None): >> QThread.__init__(self, parent) >> self.tags = tags >> self.filename = filename >> >> def run(self): >> status = sendPhoto(self.tags, self.filename) >> self.photoStatus.emit(self.filename, status) >> >> >> In the GUI thread, the method responsible dor creating the >> threads is the following: >> >> def sendPhoto(self): >> photoConnection = PhotoConnection(self.tags_to_string, >> self.filename, self) >> photoConnection.photoStatus.connect(self.photoStatus) >> photoConnection.finished.connect(self.threadFinished) >> photoConnection.start() >> >> >> In the PhotoConnection, if I don't set the parent of my >> Qthread object to self (for example, if I set to None) or if >> I don't override the __init__ method and create another >> method to pass the arguments, when the thread finishes the >> execution I got a segfault. >> Why is this happening? Can you help me? >> >> Thanks, >> >> >> _______________________________________________ >> PySide mailing list >> PySide at qt-project.org >> http://lists.qt-project.org/mailman/listinfo/pyside > > > -- > Sebastian Elsner - pipeline td - r i s e | fx > > t:+49 30 20180300 sebastian at risefx.com > www.risefx.com > > r i s e | fx GmbH > Schlesische Strasse 28 Aufgang B, 10997 Berlin > Geschäftsführer: Sven Pannicke, Robert Pinnow > > Handelsregister Berlin HRB 106667 B > > > _______________________________________________ > PySide mailing list > PySide at qt-project.org > http://lists.qt-project.org/mailman/listinfo/pyside > > > > > -- > William Marques Dias > > > > > -- > William Dias -------------- next part -------------- An HTML attachment was scrubbed... URL: From frank at ohufx.com Fri Jun 8 01:52:40 2012 From: frank at ohufx.com (Frank Rueter | OHUfx) Date: Fri, 08 Jun 2012 11:52:40 +1200 Subject: [PySide] search widget In-Reply-To: References: <4FD03143.1030802@ohufx.com> <4FD049EC.60206@ohufx.com> Message-ID: <4FD13EC8.4070505@ohufx.com> Thanks Christofer and Boris, that works fine now. Great little example! That goes straight into my collection of cool reference code, thanks a lot! frank On 7/06/12 8:01 PM, boris at pohlers-web.de wrote: > > The example uses PyQt, which has QStrings as a datatype, PySide uses > normal strings instead. > > > > Christofer Bertonha schrieb am 07.06.12 09:41: > > You can crange to a list of strings eg: ['str1', 'str2'] > > A more pythonic way > > [ ]' s > Christofer Bertonha > > On Jun 7, 2012 3:28 AM, "Frank Rueter | OHUfx" > wrote: > > Oh cool, would love to see what it does, but QtCore.QStringList() > isn't > valid in my version of PySide it would seem. > Is there a quick fix? > > Anyway, it's late here, I will have a closer look tomorrow. Thanks > heaps > for the example! > > frank > > On 7/06/12 6:23 PM, simozack wrote: > > 2012/6/7 Frank Rueter | OHUfx >: > >> quick question for the more experienced: > >> Is there a core widget for text search? I'm after pretty > something that > >> looks pretty much like this one (at the top): > >> http://farm5.static.flickr.com/4042/4574583703_f7be03c653.jpg > > Some time ago, I wrote something like that. You can find it here: > > > https://bitbucket.org/simozack/pyqtexamples/src/f037651e8406/EvolutionSearch.py > > > > It uses the completion facility of the qt framework for > searching text > > inside a list of value and it has a callback function you can use to > > do something with the value selected, a delay parameter to make the > > callback function more or less responsive. > > > > It was developed with pyqt, but I think there's no problem to use it > > with pyside. > > > > HTH, > > Simone > _______________________________________________ > PySide mailing list > PySide at qt-project.org > http://lists.qt-project.org/mailman/listinfo/pyside > > > > > _______________________________________________ > PySide mailing list > PySide at qt-project.org > http://lists.qt-project.org/mailman/listinfo/pyside -------------- next part -------------- An HTML attachment was scrubbed... URL: From frank at ohufx.com Fri Jun 8 01:59:26 2012 From: frank at ohufx.com (Frank Rueter | OHUfx) Date: Fri, 08 Jun 2012 11:59:26 +1200 Subject: [PySide] search widget In-Reply-To: <4FD06A24.5070109@risefx.com> References: <4FD03143.1030802@ohufx.com> <4FD06A24.5070109@risefx.com> Message-ID: <4FD1405E.7040708@ohufx.com> Brilliant, just what I was after. Thanks Sebastian! On 7/06/12 8:45 PM, Sebastian Elner wrote: > This is the search line edit class I use. The only thing to do is pass > the SearchLineEdit two valid pixmaps for the icons. I use the icons from > the tango desktop project. Notice that you can easily make the magnifier > icon a button with a menu, to have the user select the "search engine" > (uncomment the lines below). Tested with PyQt only. > > from PySide import QtCore, QtGui > > class SearchLineEdit(QtGui.QLineEdit): > > def __init__(self, searchPixmap, clearPixmap, parent = None): > QtGui.QLineEdit.__init__(self, parent) > > self.clearButton = QtGui.QToolButton(self) > self.clearButton.setIcon(QtGui.QIcon(clearPixmap)) > self.clearButton.setIconSize(clearPixmap.size()) > self.clearButton.setCursor(QtCore.Qt.ArrowCursor) > self.clearButton.setStyleSheet("QToolButton { border: none; > padding: 0px; }") > self.clearButton.hide() > self.clearButton.clicked.connect(self.clear) > self.textChanged.connect(self.updateCloseButton) > > > self.searchButton = QtGui.QToolButton(self) > self.searchButton.setIcon(QtGui.QIcon(searchPixmap)) > self.searchButton.setIconSize(searchPixmap.size()) > self.searchButton.setStyleSheet("QToolButton { border: none; > padding: 0px; }") > > frameWidth = > self.style().pixelMetric(QtGui.QStyle.PM_DefaultFrameWidth) > self.setStyleSheet("QLineEdit { padding-left: %spx; > padding-right: %spx; } " % (self.searchButton.sizeHint().width() + > frameWidth + 1, self.clearButton.sizeHint().width() + frameWidth + 1)) > msz = self.minimumSizeHint() > self.setMinimumSize(max(msz.width(), > self.searchButton.sizeHint().width() + > self.clearButton.sizeHint().width() + frameWidth * 2 + 2), > max(msz.height(), > self.clearButton.sizeHint().height() + frameWidth * 2 + 2)) > > # self.searchMenu = QtGui.QMenu(self.searchButton) > # self.searchButton.setMenu(self.searchMenu) > # self.searchMenu.addAction("Google") > # self.searchButton.setPopupMode(QtGui.QToolButton.InstantPopup) > > > def resizeEvent(self, event): > sz = self.clearButton.sizeHint() > frameWidth = > self.style().pixelMetric(QtGui.QStyle.PM_DefaultFrameWidth) > self.clearButton.move(self.rect().right() - frameWidth - > sz.width(), > (self.rect().bottom() + 1 - sz.height()) / 2) > self.searchButton.move(self.rect().left() + 1, > (self.rect().bottom() + 1 - sz.height()) / 2) > > def updateCloseButton(self, text): > if text: > self.clearButton.setVisible(True) > else: > self.clearButton.setVisible(False) > > > app = QtGui.QApplication([]) > w = SearchLineEdit(QtGui.QPixmap(r"system-search.png"), > QtGui.QPixmap(r"process-stop.png")) > w.show() > app.exec_() > > > On 06/07/2012 06:42 AM, Frank Rueter | OHUfx wrote: >> Hi all, >> >> quick question for the more experienced: >> Is there a core widget for text search? I'm after pretty something that >> looks pretty much like this one (at the top): >> http://farm5.static.flickr.com/4042/4574583703_f7be03c653.jpg >> >> What I like is it's compactness. A little icon on one side inside the >> box to indicate what it does, and a little "clear" icon on the other >> side to quickly clear out the search field to return everything. >> >> I'm happy to try and write my own but thought I'd check if I'm missing >> the obvious. >> >> Cheers, >> frank >> _______________________________________________ >> PySide mailing list >> PySide at qt-project.org >> http://lists.qt-project.org/mailman/listinfo/pyside > From frank at ohufx.com Fri Jun 8 02:00:52 2012 From: frank at ohufx.com (Frank Rueter | OHUfx) Date: Fri, 08 Jun 2012 12:00:52 +1200 Subject: [PySide] search widget In-Reply-To: References: <4FD03143.1030802@ohufx.com> Message-ID: <4FD140B4.2080004@ohufx.com> Thanks Anatoly, I will keep all these goodies for reference. Thanks everyone for the awesome help, it's very much appreciated! On 8/06/12 2:15 AM, anatoly techtonik wrote: > On Thu, Jun 7, 2012 at 7:42 AM, Frank Rueter | OHUfx wrote: >> Hi all, >> >> quick question for the more experienced: >> Is there a core widget for text search? I'm after pretty something that >> looks pretty much like this one (at the top): >> http://farm5.static.flickr.com/4042/4574583703_f7be03c653.jpg >> >> What I like is it's compactness. A little icon on one side inside the >> box to indicate what it does, and a little "clear" icon on the other >> side to quickly clear out the search field to return everything. >> >> I'm happy to try and write my own but thought I'd check if I'm missing >> the obvious. > Here is the one used in Spyder IDE: > https://code.google.com/p/spyderlib/source/browse/spyderlib/widgets/findreplace.py > > hg clone https://code.google.com/p/spyderlib/ spyderlib > cd spyderlib; python bootstrap.py > > Ctrl-F to play with it. > -- > anatoly t. From william.dias at gmail.com Fri Jun 8 02:28:03 2012 From: william.dias at gmail.com (William Dias) Date: Thu, 7 Jun 2012 21:28:03 -0300 Subject: [PySide] QThread crash before emitting finished signal In-Reply-To: <4FD11CB8.8060303@risefx.com> References: <4FD06B48.7060302@risefx.com> <4FD11CB8.8060303@risefx.com> Message-ID: Thanks, Sebastian. I did what you've said. The only thing is that I must keep the references to both photoWorker and photoThread, otherwise it won't work. I thought about keeping the reference to the thread object inside the photoWorker and keep a list of photoWorkers in the main thread. Is it a good approach? Should I call thread.quit() to finish the thread execution? Regards, 2012/6/7 Sebastian Elsner > Hi, > > 1) I'd add an __init__ like this. > > def __init__(self,parent=None): > QObject.__init__(self,parent) > > 2) I'd move the work method stuff to the init. It looks like you are doing > the setup there. init is the place to be for this. > > 3) QMetaObject.invokeMethod(photoWorker, "work", Qt.QueuedConnection) > looks very strange > use: > photoThread.started.connect(photoWorker.doWork) > instead. place before photoThread.start(). > > > Apart from that, my threads are being destroyed as photoWorker and > photoThread objects run out of scope. How can I prevent python from doing > this? Making them instance objects is not an option since every time my > program reenters the method where they are declared it spawns new threads. > > > Make a list and add the photoWorker instances to the list. Clean the list > up now and then. > > > > Thanks, > > > 2012/6/7 William Dias > >> Thank you, Sebastian. I followed the procedures described in the document >> and it worked. But I have another question. >> Take a look at the code bellow: >> >> class PhotoWorker(QObject): >> >> photoStatus = Signal(str, str) >> >> @Slot() >> def work(self): >> self.db = sqlite_database.SQLiteDatabase("db1") >> self.timer = QTimer() >> self.timer.timeout.connect(self.__resendPhoto) >> logger.info("photo worker started") >> self.timer.start(10000) >> >> @Slot() >> def __resendPhoto(self): >> data = self.db.selectPhoto() >> if data != None: >> self.filename = data[0] >> self.tags = data[1] >> logger.info("trying to resend photo " + self.filename) >> status = sendPhoto(self.tags, self.filename) >> self.photoStatus.emit(self.filename, status) >> >> And in a GUI class, I do the following: >> >> photoWorker = http_connection.PhotoWorker(self) >> photoWorker.photoStatus.connect(self.photoStatus) >> photoThread = QThread() >> photoWorker.moveToThread(photoThread) >> photoThread.start() >> QMetaObject.invokeMethod(photoWorker, "work", Qt.QueuedConnection) >> >> I realized that when I create the photoWorker object, if I don't set >> its parent to self, my thread dies. Is this because my photoWorker doesn't >> have its own event loop? I am bit confused here. How should I proceed? >> >> Thank you. >> >> 2012/6/7 Sebastian Elner >> >>> Although it is in the documentation, QThread is not meant to be used >>> this way (subclassing). Have a look at this: >>> http://labs.qt.nokia.com/2010/06/17/youre-doing-it-wrong/ It helped me >>> a lot. Also a complete stripped down example would greatly help in a case >>> of a segfault. >>> >>> >>> >>> On 06/07/2012 09:59 AM, William Dias wrote: >>> >>> Hi, >>> >>> I have a subclass of QThread which uploads pictures to a webserver. >>> For each new picture created in the main thread, the program spawns a new >>> thread to handle the job. I've override the __init__ method to be able to >>> pass some parameters to the thread object, as you can see bellow. >>> >>> class PhotoConnection(QThread): >>>> photoStatus = Signal(str, str) >>> >>> def __init__(self, tags, filename, parent=None): >>>> QThread.__init__(self, parent) >>>> self.tags = tags >>>> self.filename = filename >>> >>> def run(self): >>>> status = sendPhoto(self.tags, self.filename) >>>> self.photoStatus.emit(self.filename, status) >>> >>> >>> In the GUI thread, the method responsible dor creating the threads is >>> the following: >>> >>> def sendPhoto(self): >>>> photoConnection = PhotoConnection(self.tags_to_string, self.filename, >>>> self) >>>> photoConnection.photoStatus.connect(self.photoStatus) >>>> photoConnection.finished.connect(self.threadFinished) >>>> photoConnection.start() >>>> >>> >>> In the PhotoConnection, if I don't set the parent of my Qthread object >>> to self (for example, if I set to None) or if I don't override the __init__ >>> method and create another method to pass the arguments, when the thread >>> finishes the execution I got a segfault. >>> Why is this happening? Can you help me? >>> >>> Thanks, >>> >>> >>> _______________________________________________ >>> PySide mailing listPySide at qt-project.orghttp://lists.qt-project.org/mailman/listinfo/pyside >>> >>> >>> >>> -- >>> Sebastian Elsner - pipeline td - r i s e | fx >>> >>> t: +49 30 20180300 sebastian at risefx.com >>> www.risefx.com >>> >>> r i s e | fx GmbH >>> Schlesische Strasse 28 Aufgang B, 10997 Berlin >>> Geschäftsführer: Sven Pannicke, Robert Pinnow >>> >>> Handelsregister Berlin HRB 106667 B >>> >>> >>> _______________________________________________ >>> PySide mailing list >>> PySide at qt-project.org >>> http://lists.qt-project.org/mailman/listinfo/pyside >>> >>> >> >> >> -- >> William Marques Dias >> > > > > -- > William Dias > > > > > _______________________________________________ > PySide mailing list > PySide at qt-project.org > http://lists.qt-project.org/mailman/listinfo/pyside > > -- William Dias -------------- next part -------------- An HTML attachment was scrubbed... URL: From sebastian at risefx.com Fri Jun 8 08:13:29 2012 From: sebastian at risefx.com (Sebastian Elsner) Date: Fri, 08 Jun 2012 08:13:29 +0200 Subject: [PySide] QThread crash before emitting finished signal In-Reply-To: References: <4FD06B48.7060302@risefx.com> <4FD11CB8.8060303@risefx.com> Message-ID: <4FD19809.5060804@risefx.com> Strange, actually you would just need to remember the the photoworker, because it automatically keeps a reference to the thred, which is available via the QObject.thread() member. If this does not work for you just make a list of tuples [(worker1,thread1),(worker2,thread2,...]. Ive used this multiple times before and I had no problems. you could also google for Qhtread queue, which sould give you advice on how to build a real queue of threads (I assume you would only have like 10 workers running, else it could blow your system with load) You dont have to call quit(). Its more for killing a thread forcibly. You should only do this in special cases. connect to the finished signal to see when its done and create a member variable like self.cancel which you can set to true from outside the thread and have the thread check regularily in the workerloop if the user wants to cancel. Am 08.06.2012 02:28, schrieb William Dias: > Thanks, Sebastian. > > I did what you've said. The only thing is that I must keep the > references to both photoWorker and photoThread, otherwise it won't > work. I thought about keeping the reference to the thread object > inside the photoWorker and keep a list of photoWorkers in the main > thread. Is it a good approach? > > Should I call thread.quit() to finish the thread execution? > > Regards, > > 2012/6/7 Sebastian Elsner > > > Hi, > > 1) I'd add an __init__ like this. > > def __init__(self,parent=None): > QObject.__init__(self,parent) > > 2) I'd move the work method stuff to the init. It looks like you > are doing the setup there. init is the place to be for this. > > 3) QMetaObject.invokeMethod(photoWorker, "work", > Qt.QueuedConnection) looks very strange > use: > photoThread.started.connect(photoWorker.doWork) > instead. place before photoThread.start(). > >> >> Apart from that, my threads are being destroyed as photoWorker >> and photoThread objects run out of scope. How can I prevent >> python from doing this? Making them instance objects is not an >> option since every time my program reenters the method where they >> are declared it spawns new threads. > > Make a list and add the photoWorker instances to the list. Clean > the list up now and then. > > >> >> Thanks, >> >> >> 2012/6/7 William Dias > > >> >> Thank you, Sebastian. I followed the procedures described in >> the document and it worked. But I have another question. >> Take a look at the code bellow: >> >> class PhotoWorker(QObject): >> >> photoStatus = Signal(str, str) >> >> @Slot() >> def work(self): >> self.db = sqlite_database.SQLiteDatabase("db1") >> self.timer = QTimer() >> self.timer.timeout.connect(self.__resendPhoto) >> logger.info ("photo worker started") >> self.timer.start(10000) >> >> @Slot() >> def __resendPhoto(self): >> data = self.db.selectPhoto() >> if data != None: >> self.filename = data[0] >> self.tags = data[1] >> logger.info ("trying to resend photo " + >> self.filename) >> status = sendPhoto(self.tags, self.filename) >> self.photoStatus.emit(self.filename, status) >> >> And in a GUI class, I do the following: >> >> photoWorker = http_connection.PhotoWorker(self) >> photoWorker.photoStatus.connect(self.photoStatus) >> photoThread = QThread() >> photoWorker.moveToThread(photoThread) >> photoThread.start() >> QMetaObject.invokeMethod(photoWorker, "work", >> Qt.QueuedConnection) >> >> I realized that when I create the photoWorker object, if I >> don't set its parent to self, my thread dies. Is this because >> my photoWorker doesn't have its own event loop? I am bit >> confused here. How should I proceed? >> >> Thank you. >> >> 2012/6/7 Sebastian Elner > > >> >> Although it is in the documentation, QThread is not meant >> to be used this way (subclassing). Have a look at this: >> http://labs.qt.nokia.com/2010/06/17/youre-doing-it-wrong/ >> It helped me a lot. Also a complete stripped down example >> would greatly help in a case of a segfault. >> >> >> >> On 06/07/2012 09:59 AM, William Dias wrote: >>> Hi, >>> >>> I have a subclass of QThread which uploads pictures to a >>> webserver. For each new picture created in the main >>> thread, the program spawns a new thread to handle the >>> job. I've override the __init__ method to be able to >>> pass some parameters to the thread object, as you can >>> see bellow. >>> >>> class PhotoConnection(QThread): >>> photoStatus = Signal(str, str) >>> >>> def __init__(self, tags, filename, parent=None): >>> QThread.__init__(self, parent) >>> self.tags = tags >>> self.filename = filename >>> >>> def run(self): >>> status = sendPhoto(self.tags, self.filename) >>> self.photoStatus.emit(self.filename, status) >>> >>> >>> In the GUI thread, the method responsible dor creating >>> the threads is the following: >>> >>> def sendPhoto(self): >>> photoConnection = >>> PhotoConnection(self.tags_to_string, self.filename, >>> self) >>> photoConnection.photoStatus.connect(self.photoStatus) >>> photoConnection.finished.connect(self.threadFinished) >>> photoConnection.start() >>> >>> >>> In the PhotoConnection, if I don't set the parent of my >>> Qthread object to self (for example, if I set to None) >>> or if I don't override the __init__ method and create >>> another method to pass the arguments, when the thread >>> finishes the execution I got a segfault. >>> Why is this happening? Can you help me? >>> >>> Thanks, >>> >>> >>> _______________________________________________ >>> PySide mailing list >>> PySide at qt-project.org >>> http://lists.qt-project.org/mailman/listinfo/pyside >> >> >> -- >> Sebastian Elsner - pipeline td - r i s e | fx >> >> t:+49 30 20180300 sebastian at risefx.com >> www.risefx.com >> >> r i s e | fx GmbH >> Schlesische Strasse 28 Aufgang B, 10997 Berlin >> Geschäftsführer: Sven Pannicke, Robert Pinnow >> >> Handelsregister Berlin HRB 106667 B >> >> >> _______________________________________________ >> PySide mailing list >> PySide at qt-project.org >> http://lists.qt-project.org/mailman/listinfo/pyside >> >> >> >> >> -- >> William Marques Dias >> >> >> >> >> -- >> William Dias > > > > _______________________________________________ > PySide mailing list > PySide at qt-project.org > http://lists.qt-project.org/mailman/listinfo/pyside > > > > > -- > William Dias -------------- next part -------------- An HTML attachment was scrubbed... URL: From backup.rlacko at gmail.com Fri Jun 8 13:02:20 2012 From: backup.rlacko at gmail.com (Roman Lacko) Date: Fri, 8 Jun 2012 13:02:20 +0200 Subject: [PySide] PySide setup scripts Message-ID: Hi list, new PySide setup scripts are available [1], with full support for distutils, pip and easy_install on Windows and Linux systems! With new scripts there is available also new "source" distribution, allready regitered on PyPI [2]. Detailed install instruction are availeble on PyPI page, here is short intro: Installing pyside from PyPI on Windows: $ easy_install pyside Installing pyside from PyPI on Linux (it will build binaries inplace): $ pip install pyside Installing from github repository on Windows (it will build binaries inplace): $ pip install git+https://github.com/PySide/pyside-setup.git --install-option="--qmake=c:\\Qt\\4.7.4\\bin\\qmake.exe" Installing from github repository on Linux (it will build binaries inplace): $ pip install git+https://github.com/PySide/pyside-setup.git Building egg packages on Linux: $ git clone https://github.com/PySide/pyside-setup.git pyside-setup $ cd pyside-setup $ python setup.py bdist_egg Building windows installer on Windows: $ git clone https://github.com/PySide/pyside-setup.git pyside-setup $ cd pyside-setup $ python setup.py bdist_wininst Creating source distribution: $ git clone https://github.com/PySide/pyside-setup.git pyside-setup $ cd pyside-setup $ python setup.py sdist The main difference between installing via pip and easy_install is, that easy_install installs binary packages if available and pip allways installs sourse distribution (and builds binaries inplace). Therefore, it is better to use easy_install on windows, if you want to use prebuilt binaries and pip if you want to build your own PySide binaries. Linux installation notes: --------------------------------- 1. I tested building and installing Linux binaries on Ubuntu 10.04LTS with Qt 4.6 and Ubuntu 12.04LTS with Qt 4.8. 2. By default, the linux binary distribution does not contain embedded Qt libs (like windows package), and uses the Qt libs installed in system. To build standalone linux package use option --standalone. Note that this is experimental option. To building binary egg, installable on system without Qt libs: $ python setup.py bdist_egg --standalone 3. The install script updates rpath elf header on PySide binaries so the right libs are allways found (libpyside.so and libshiboken.so, embedded Qt libs), and there is no need to install the libs to system path, they stay "private". Regards Roman [1] https://github.com/PySide/pyside-setup.git mirrored here: https://bitbucket.org/rlacko/pyside-setup.git [2] http://pypi.python.org/pypi/PySide From jpe at wingware.com Fri Jun 8 17:46:47 2012 From: jpe at wingware.com (John Ehresman) Date: Fri, 08 Jun 2012 11:46:47 -0400 Subject: [PySide] Is there a reason PySideSignalInstance source isn't incref'd? In-Reply-To: <4FC77FEF.4050106@wingware.com> References: <4FC67370.108@wingware.com> <9989556.3hZ014XOlW@hugodesktop> <4FC77FEF.4050106@wingware.com> Message-ID: <4FD21E67.10709@wingware.com> On 5/31/12 10:27 AM, John Ehresman wrote: > On 5/31/12 9:44 AM, Hugo Parente Lima wrote: >>> Stepping through the code in pysidesignal.cpp, it looks like d->source >>> of a PySideSignalInstance object isn't incref'd so when the temporary >>> ref returned by selectionModel is decref'd, the source is pointing at a >>> invalid object. The function that initializes a PySideSignalInstance is >>> instanceInitialize >> >> When we delete an QObject we want to have all their connections disconnected, >> e.g. >> >> o = QObject() >> o.connect(...) >> del o >> # The object must be destroyed and all connections disconnected. >> >> But if the connection holds a reference to the sender this will never happen, >> IIRC we currently hold a weakref. I created a bug report for this at https://bugreports.qt-project.org/browse/PYSIDE-79 It looks like just INCREFing the source isn't the solution. I'd appreciate any hints of what the right approach here might be. Is there any way to encourage more people to look at bugs? I'd like to get more feedback from developers who are familiar with pyside's implementation if possible. Thanks, John From jcummings2 at users.sf.net Fri Jun 8 20:09:49 2012 From: jcummings2 at users.sf.net (John Cummings) Date: Fri, 08 Jun 2012 13:09:49 -0500 Subject: [PySide] Invalid cast Message-ID: <4FD23FED.1030809@users.sf.net> I'm not sure what to do with this knowledge nor I am precisely sure of the issue. I was hoping others on the list would know the code better than I. While finding the cause of what became issue PYSIDE-80 (shiboken cannot handle "extern" variables in a namespace), I came across an invalid cast of a TypeEntry to a PrimitiveTypeEntry. Other than this one case, all casts of a TypeEntry to a PrimitiveTypeEntry are preceded by a call to TypeEntry::isPrimitive. In ShibokenGenerator::converterObject, checks are done on the type. However, the logic is slightly flawed. The code goes as follows: 1. Is it a CppPrimitive? If yes, then return the conversion. Otherwise continue. Note that this check does call TypeEntry::isPrimitive but only to make sure the object is not a CppPrimitive. 2. Is it a wrapper or enum or flag? Yes, then return the conversion. Otherwise continue. 3. Assume it is a primitive type and cast it appropriately The problem is, you really need to check TypeEntry::isPrimitive() before doing that cast. I'm just not sure what to return if it comes back false. I also struggle because it appears that all my test cases that led to the invalid cast are manifestations of PYSIDE-80. I'd be glad to submit a patch via gerrit if I new the correct conversion string to return. John Cummings From yann.lanthony at gmail.com Sun Jun 10 19:50:31 2012 From: yann.lanthony at gmail.com (Yann Lanthony) Date: Sun, 10 Jun 2012 19:50:31 +0200 Subject: [PySide] Shiboken - Segmentation fault with boost headers and shiboken include-paths Message-ID: Hi list, I am facing an issue while trying to bind a class that includes some boost headers. I am sorry for the long email, but it’s actually a 2 in 1 question. I am joining a minimal project that reproduces the bug, which structure is : Foo.h -> my class header typesystem.xml -> my typesystem file My config : Qt 4.8.1 (also tested on 4.7.2 and 4.7.4) Boost 1.49 (also tested on 1.48) PySide 1.1.1 Linux & Windows I have a class, Foo, and Foo.h includes . I’ve included this precise file since I’ve noticed that it was at the origin of the segmentation fault in my original project. My typesystem file only contains this class as an object-type. When I launch shiboken ( shiboken Foo.h typesystem.xml ), I get a lot of warnings of this type : ** WARNING unknown directive '#', due to boost inner includes. After some search, I’ve found out these warnings were corresponding to this bugfix : 1086generatorrunner segfault processing #include. But with this boost header and some others (), I still get a segmentation fault in the end, or incorrect parsing ending up with shiboken telling me that my class Foo is not defined (for example with ). This was the first part of my problem. The strange thing was that this problem appeared on Linux but not on Windows. The reason was actually quite simple. I looked at the code of apiextractor.cpp and found this : preprocess.push_include_path("."); foreach (QString include, includes) preprocess.push_include_path(QDir::convertSeparators(include).toStdString()); preprocess.push_include_path("/usr/include"); So in every cases, the current working directory and “/usr/include” are added to the include paths used by shiboken. Since “/usr/include” has no meaning on Windows, the only include paths that are used are the ones defined by the user with the include-paths parameter of the shiboken command line. If boost include directory is not explicitly given, boost headers are not found so not parsed. On Linux, boost headers are found in “/usr/include” so they are parsed. So my real question is : considering that the class I want to bind in python is using boost only for private members that I don’t want to expose, do I really need boost headers to be parsed ? It’s actually working great on Windows even if they are not, but it doesn’t seem possible to avoid that on Linux due to this automatic addition of “/usr/include”. I am maybe missing something here, but if I am not, it would be great to have an option to precise we don’t want to search inside standard include directories (like in gcc with the -nostdinc option). Or alternatively and less radical, a way to define headers we want to exclude from the parsing process ? Thanks in advance, Yann -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: minimalShibokenBoostInclude.tar.gz Type: application/x-gzip Size: 397 bytes Desc: not available URL: From jpe at wingware.com Wed Jun 13 22:45:20 2012 From: jpe at wingware.com (John Ehresman) Date: Wed, 13 Jun 2012 16:45:20 -0400 Subject: [PySide] Bug with new hash table feature In-Reply-To: <4FC6766C.9010909@wingware.com> References: <1705919.z2CsdCvgXW@hugodesktop> <4FC66915.7080601@wingware.com> <4FC66CA7.8060903@wingware.com> <4FC6766C.9010909@wingware.com> Message-ID: <4FD8FBE0.4040309@wingware.com> On 5/30/12 3:35 PM, John Ehresman wrote: >> Can we use the address of the Shiboken object as the hash value? That >> remains valid so long as there are references to the object, even after >> the object itself has been deleted in C++ land. > > This works if there can only be one wrapper at a time for a given > QObject. I don't know if this is the case. I just ran into this bug and tried to apply the patch locally, but ran into poblems. If the address of the PyObject* can be used, I think that would be preferable. Consider the following: o = QObject() d = {} d[o] = 1 def on_destroy(): d.pop(o) o.destroyed.connect(on_destroy) shiboken.delete(o) The pop in the destroy handler will fail with a RuntimeError and even if the RuntimeError is suppressed and a default hash value returned, the entry in the dictionary won't be found or removed. John From nathanjsmith at gmail.com Thu Jun 14 00:32:26 2012 From: nathanjsmith at gmail.com (Nathan Smith) Date: Wed, 13 Jun 2012 17:32:26 -0500 Subject: [PySide] Bug with new hash table feature In-Reply-To: <4FD8FBE0.4040309@wingware.com> References: <1705919.z2CsdCvgXW@hugodesktop> <4FC66915.7080601@wingware.com> <4FC66CA7.8060903@wingware.com> <4FC6766C.9010909@wingware.com> <4FD8FBE0.4040309@wingware.com> Message-ID: We don't want to raise a RuntimeError when calling the hash function in Shiboken because of the very reason you stated. Doing something that raises exceptions in the hash function will break any container that uses hashes (weak references, sets, dicts, weakref.WeakSet, probably many more). Returning default error values has a similar effect. My most recent approach was to return the address of the shiboken object, which is address of the PyObject. I tried this approach (I haven't submitted it yet) on the example you provided below, and it seems to work. I've been using it with my code for a few days now, and it's been working well. Note that using the address method has the drawback that two objects separated in time may have the same hash value because they may land at the same memory address. You can see this in the following test case: >>> hash(QtCore.QObject()) == hash(QtCore.QObject()) True The first QObject is created, the hash is taken of it, and then it is destroyed. The reference count drops to 0, so the Shiboken handle is cleaned up. A second QObject is created (at the same address as the first QObject), the hash is taken of it, and then it is destroyed. This could be avoided if we kept a running counter of SbkObject instances and used the counter as the hash value (which I think is overkill). Incidentally, what is the difference between shiboken.delete and shiboken.invalidate? There don't appear to be any docstrings in the shiboken module and invalidate isn't in the online documentation. Nathan On Wed, Jun 13, 2012 at 3:45 PM, John Ehresman wrote: > On 5/30/12 3:35 PM, John Ehresman wrote: > >> Can we use the address of the Shiboken object as the hash value? That >>> remains valid so long as there are references to the object, even after >>> the object itself has been deleted in C++ land. >>> >> >> This works if there can only be one wrapper at a time for a given >> QObject. I don't know if this is the case. >> > > I just ran into this bug and tried to apply the patch locally, but ran > into poblems. If the address of the PyObject* can be used, I think that > would be preferable. Consider the following: > > o = QObject() > d = {} > d[o] = 1 > def on_destroy(): > d.pop(o) > o.destroyed.connect(on_**destroy) > shiboken.delete(o) > > The pop in the destroy handler will fail with a RuntimeError and even if > the RuntimeError is suppressed and a default hash value returned, the entry > in the dictionary won't be found or removed. > > John > -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: hash.patch Type: application/octet-stream Size: 1381 bytes Desc: not available URL: From jpe at wingware.com Thu Jun 14 01:13:42 2012 From: jpe at wingware.com (John Ehresman) Date: Wed, 13 Jun 2012 19:13:42 -0400 Subject: [PySide] Bug with new hash table feature In-Reply-To: References: <1705919.z2CsdCvgXW@hugodesktop> <4FC66915.7080601@wingware.com> <4FC66CA7.8060903@wingware.com> <4FC6766C.9010909@wingware.com> <4FD8FBE0.4040309@wingware.com> Message-ID: <4FD91EA6.9070500@wingware.com> On 6/13/12 6:32 PM, Nathan Smith wrote: > My most recent approach was to return the address of the shiboken > object, which is address of the PyObject. I tried this approach (I > haven't submitted it yet) on the example you provided below, and it > seems to work. I've been using it with my code for a few days now, and > it's been working well. In Python 2, leaving the tp_hash slot set to NULL will result in the PyObject* address being used for hash and equality if the compare slots are also NULL which is what I think we want. This may be different in Python 3. The bug report that apparently prompted this change -- https://bugreports.qt-project.org/browse/PYSIDE-42 -- doesn't specify the Python version. The class in the bug report is QListWidgetItem, which isn't derived from QObject so there's no destroyed signal emitted when it's deleted. > Note that using the address method has the drawback that two objects > separated in time may have the same hash value because they may land at > the same memory address. You can see this in the following test case: > > >>> hash(QtCore.QObject()) == hash(QtCore.QObject()) > True That's fine -- equivalent hash values just mean that the 2 might be equal, but you can't compare the two with == since they don't exist at the same time. > Incidentally, what is the difference between shiboken.delete and > shiboken.invalidate? There don't appear to be any docstrings in the > shiboken module and invalidate isn't in the online documentation. The delete() function invokes C++ delete after invalidating the wrapper. The invalidate() function invalidates the wrapper but leaves the C++ object alone. The reason you may want invalidate is when working with non-QObject derived objects like QEvent, QStandardItem, and others where there's no destroyed signal that's emitted when the object is destroyed (or any other notification mechanism). With non-QObject objects, the wrapper may outlive the C++ object it refers to and the invalidate function can be used to invalidate the wrapper before the C++ object is destroyed. John From nathanjsmith at gmail.com Thu Jun 14 17:13:47 2012 From: nathanjsmith at gmail.com (Nathan Smith) Date: Thu, 14 Jun 2012 10:13:47 -0500 Subject: [PySide] Bug with new hash table feature In-Reply-To: <4FD91EA6.9070500@wingware.com> References: <1705919.z2CsdCvgXW@hugodesktop> <4FC66915.7080601@wingware.com> <4FC66CA7.8060903@wingware.com> <4FC6766C.9010909@wingware.com> <4FD8FBE0.4040309@wingware.com> <4FD91EA6.9070500@wingware.com> Message-ID: On Wed, Jun 13, 2012 at 6:13 PM, John Ehresman wrote: > > In Python 2, leaving the tp_hash slot set to NULL will result in the > PyObject* address being used for hash and equality if the compare slots are > also NULL which is what I think we want. This may be different in Python > 3. That's what's happening in the hash function I sent, but there's a little assertion logic before the return. On further reflection, the reinterpret_cast(pyObj) was unnecessary since we're just returning the address, so I've removed that in this patch. Looking at shiboken/cppgenerator.cpp, tp_compare is always set to 0 and tp_richcompare is set to the wrapped class' overloaded operator== if it exists, or 0 if it doesn't, so I *think* that's ok. The unit test I have uses shiboken.invalidate because shiboken.delete surprisingly leads to segfault when deleting a HandleHolder object (works fine with a QObject), but that's a different bug. I also found a segfault bug when calling shiboken.dump on deleted objects for which I plan to submit a bug and patch. > The class in the bug report is QListWidgetItem, which isn't derived from > QObject so there's no destroyed signal emitted when it's deleted. I'm not following. What's the relevance of the destroyed signal to the hash function? > >>> hash(QtCore.QObject()) == hash(QtCore.QObject()) >> True >> > > That's fine -- equivalent hash values just mean that the 2 might be equal, > but you can't compare the two with == since they don't exist at the same > time. I agree, I just thought it was interesting and should probably be documented somewhere because it might surprise somebody. Nathan -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: hash.patch Type: application/octet-stream Size: 1351 bytes Desc: not available URL: From jpe at wingware.com Thu Jun 14 17:40:44 2012 From: jpe at wingware.com (John Ehresman) Date: Thu, 14 Jun 2012 11:40:44 -0400 Subject: [PySide] Bug with new hash table feature In-Reply-To: References: <1705919.z2CsdCvgXW@hugodesktop> <4FC66915.7080601@wingware.com> <4FC66CA7.8060903@wingware.com> <4FC6766C.9010909@wingware.com> <4FD8FBE0.4040309@wingware.com> <4FD91EA6.9070500@wingware.com> Message-ID: <4FDA05FC.7060205@wingware.com> On 6/14/12 11:13 AM, Nathan Smith wrote: > Looking at shiboken/cppgenerator.cpp, tp_compare is always set to 0 and > tp_richcompare is set to the wrapped class' overloaded operator== if it > exists, or 0 if it doesn't, so I /think/ that's ok. What I've done locally is just set tp_hash to NULL, which is what was happening before the commit at http://qt.gitorious.org/pyside/shiboken/commit/54cce10fa8a9942450c9e1a9d9a9d2a1b688f243 I did this by commenting out lines 3388-3389 in cppgenerator.cpp. Hashes for QObject derived objects worked before that, at least in Python 2. > The unit test I have uses shiboken.invalidate because shiboken.delete > surprisingly leads to segfault when deleting a HandleHolder object > (works fine with a QObject), but that's a different bug. I also found a > segfault bug when calling shiboken.dump on deleted objects for which I > plan to submit a bug and patch. Thanks. > The class in the bug report is QListWidgetItem, which isn't derived > from QObject so there's no destroyed signal emitted when it's deleted. > > I'm not following. What's the relevance of the destroyed signal to the > hash function? It may not be relevant, but one of the real complications of wrapping Qt is the lack of notification when non-QObject objects are destroyed. Because of this, you can't mark PyObject* wrappers as invalid when the C++ object is destroyed. I think the Q*Item wrappers may essentially be temporary objects so you may get more than one PyObject* wrappers for a given C++ object, but I'm really not sure. I just know that it's something to be aware of. John From nathanjsmith at gmail.com Thu Jun 14 18:00:31 2012 From: nathanjsmith at gmail.com (Nathan Smith) Date: Thu, 14 Jun 2012 11:00:31 -0500 Subject: [PySide] Getting a gerrit account Message-ID: How does one go about getting a Gerrit account to submit a patch? I have an account at https://bugreports.qt-project.org, but apparently that isn't shared by https://codereview.qt-project.org. Nathan -------------- next part -------------- An HTML attachment was scrubbed... URL: From hugo.lima at openbossa.org Thu Jun 14 19:33:02 2012 From: hugo.lima at openbossa.org (Hugo Parente Lima) Date: Thu, 14 Jun 2012 14:33:02 -0300 Subject: [PySide] Bug with new hash table feature In-Reply-To: References: <4FD8FBE0.4040309@wingware.com> Message-ID: <3038828.BMWW6xYCf0@hugodesktop> On Wednesday, June 13, 2012 05:32:26 PM Nathan Smith wrote: > We don't want to raise a RuntimeError when calling the hash function in > Shiboken because of the very reason you stated. Doing something that > raises exceptions in the hash function will break any container that uses > hashes (weak references, sets, dicts, weakref.WeakSet, probably many more). > Returning default error values has a similar effect. > > My most recent approach was to return the address of the shiboken object, > which is address of the PyObject. I tried this approach (I haven't > submitted it yet) on the example you provided below, and it seems to work. > I've been using it with my code for a few days now, and it's been working > well. > > Note that using the address method has the drawback that two objects > separated in time may have the same hash value because they may land at the > > same memory address. You can see this in the following test case: > >>> hash(QtCore.QObject()) == hash(QtCore.QObject()) > > True > > > The first QObject is created, the hash is taken of it, and then it is > destroyed. The reference count drops to 0, so the Shiboken handle is > cleaned up. A second QObject is created (at the same address as the first > QObject), the hash is taken of it, and then it is destroyed. This could be > avoided if we kept a running counter of SbkObject instances and used the > counter as the hash value (which I think is overkill). > > Incidentally, what is the difference between shiboken.delete and > shiboken.invalidate? There don't appear to be any docstrings in the > shiboken module and invalidate isn't in the online documentation. The docs are on the PSEP[1] and on Shiboken docs[2]. delete really deletes the underlying C++ object then invalidate the Python object, i.e. any use of this object will raise a exception. invalidate only invalidates the Python object, causing it to raise an exception when used. [1] http://www.pyside.org/docs/pseps/psep-0106.html [2] http://www.pyside.org/docs/shiboken/shibokenmodule.html > Nathan > > On Wed, Jun 13, 2012 at 3:45 PM, John Ehresman wrote: > > On 5/30/12 3:35 PM, John Ehresman wrote: > >> Can we use the address of the Shiboken object as the hash value? That > >> > >>> remains valid so long as there are references to the object, even after > >>> the object itself has been deleted in C++ land. > >> > >> This works if there can only be one wrapper at a time for a given > >> QObject. I don't know if this is the case. > > > > I just ran into this bug and tried to apply the patch locally, but ran > > into poblems. If the address of the PyObject* can be used, I think that > > > > would be preferable. Consider the following: > > o = QObject() > > d = {} > > d[o] = 1 > > > > def on_destroy(): > > d.pop(o) > > > > o.destroyed.connect(on_**destroy) > > shiboken.delete(o) > > > > The pop in the destroy handler will fail with a RuntimeError and even if > > the RuntimeError is suppressed and a default hash value returned, the > > entry > > in the dictionary won't be found or removed. > > > > John -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 198 bytes Desc: This is a digitally signed message part. URL: From hugo.lima at openbossa.org Thu Jun 14 19:33:02 2012 From: hugo.lima at openbossa.org (Hugo Parente Lima) Date: Thu, 14 Jun 2012 14:33:02 -0300 Subject: [PySide] Bug with new hash table feature In-Reply-To: References: <4FD8FBE0.4040309@wingware.com> Message-ID: <3038828.BMWW6xYCf0@hugodesktop> On Wednesday, June 13, 2012 05:32:26 PM Nathan Smith wrote: > We don't want to raise a RuntimeError when calling the hash function in > Shiboken because of the very reason you stated. Doing something that > raises exceptions in the hash function will break any container that uses > hashes (weak references, sets, dicts, weakref.WeakSet, probably many more). > Returning default error values has a similar effect. > > My most recent approach was to return the address of the shiboken object, > which is address of the PyObject. I tried this approach (I haven't > submitted it yet) on the example you provided below, and it seems to work. > I've been using it with my code for a few days now, and it's been working > well. > > Note that using the address method has the drawback that two objects > separated in time may have the same hash value because they may land at the > > same memory address. You can see this in the following test case: > >>> hash(QtCore.QObject()) == hash(QtCore.QObject()) > > True > > > The first QObject is created, the hash is taken of it, and then it is > destroyed. The reference count drops to 0, so the Shiboken handle is > cleaned up. A second QObject is created (at the same address as the first > QObject), the hash is taken of it, and then it is destroyed. This could be > avoided if we kept a running counter of SbkObject instances and used the > counter as the hash value (which I think is overkill). > > Incidentally, what is the difference between shiboken.delete and > shiboken.invalidate? There don't appear to be any docstrings in the > shiboken module and invalidate isn't in the online documentation. The docs are on the PSEP[1] and on Shiboken docs[2]. delete really deletes the underlying C++ object then invalidate the Python object, i.e. any use of this object will raise a exception. invalidate only invalidates the Python object, causing it to raise an exception when used. [1] http://www.pyside.org/docs/pseps/psep-0106.html [2] http://www.pyside.org/docs/shiboken/shibokenmodule.html > Nathan > > On Wed, Jun 13, 2012 at 3:45 PM, John Ehresman wrote: > > On 5/30/12 3:35 PM, John Ehresman wrote: > >> Can we use the address of the Shiboken object as the hash value? That > >> > >>> remains valid so long as there are references to the object, even after > >>> the object itself has been deleted in C++ land. > >> > >> This works if there can only be one wrapper at a time for a given > >> QObject. I don't know if this is the case. > > > > I just ran into this bug and tried to apply the patch locally, but ran > > into poblems. If the address of the PyObject* can be used, I think that > > > > would be preferable. Consider the following: > > o = QObject() > > d = {} > > d[o] = 1 > > > > def on_destroy(): > > d.pop(o) > > > > o.destroyed.connect(on_**destroy) > > shiboken.delete(o) > > > > The pop in the destroy handler will fail with a RuntimeError and even if > > the RuntimeError is suppressed and a default hash value returned, the > > entry > > in the dictionary won't be found or removed. > > > > John -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 198 bytes Desc: This is a digitally signed message part. URL: From nathanjsmith at gmail.com Thu Jun 14 20:08:40 2012 From: nathanjsmith at gmail.com (Nathan Smith) Date: Thu, 14 Jun 2012 13:08:40 -0500 Subject: [PySide] Bug with new hash table feature In-Reply-To: <3038828.BMWW6xYCf0@hugodesktop> References: <4FD8FBE0.4040309@wingware.com> <3038828.BMWW6xYCf0@hugodesktop> Message-ID: Thanks. The Shiboken module documentation at [2] http://www.pyside.org/docs/shiboken/shibokenmodule.html is missing invalidate, __version__ and __version_info__. Also, the PSEP lists ownedByPython where the module implements it as isOwnedByPython (and adds wasCreatedByPython). Is there a process for updating PSEPs? Nathan On Thu, Jun 14, 2012 at 12:33 PM, Hugo Parente Lima wrote: > On Wednesday, June 13, 2012 05:32:26 PM Nathan Smith wrote: > > We don't want to raise a RuntimeError when calling the hash function in > > Shiboken because of the very reason you stated. Doing something that > > raises exceptions in the hash function will break any container that uses > > hashes (weak references, sets, dicts, weakref.WeakSet, probably many > more). > > Returning default error values has a similar effect. > > > > My most recent approach was to return the address of the shiboken object, > > which is address of the PyObject. I tried this approach (I haven't > > submitted it yet) on the example you provided below, and it seems to > work. > > I've been using it with my code for a few days now, and it's been > working > > well. > > > > Note that using the address method has the drawback that two objects > > separated in time may have the same hash value because they may land at > the > > > > same memory address. You can see this in the following test case: > > >>> hash(QtCore.QObject()) == hash(QtCore.QObject()) > > > > True > > > > > > The first QObject is created, the hash is taken of it, and then it is > > destroyed. The reference count drops to 0, so the Shiboken handle is > > cleaned up. A second QObject is created (at the same address as the > first > > QObject), the hash is taken of it, and then it is destroyed. This could > be > > avoided if we kept a running counter of SbkObject instances and used the > > counter as the hash value (which I think is overkill). > > > > Incidentally, what is the difference between shiboken.delete and > > shiboken.invalidate? There don't appear to be any docstrings in the > > shiboken module and invalidate isn't in the online documentation. > > The docs are on the PSEP[1] and on Shiboken docs[2]. > > delete really deletes the underlying C++ object then invalidate the Python > object, i.e. any use of this object will raise a exception. > > invalidate only invalidates the Python object, causing it to raise an > exception when used. > > [1] http://www.pyside.org/docs/pseps/psep-0106.html > [2] http://www.pyside.org/docs/shiboken/shibokenmodule.html > > > Nathan > > > > On Wed, Jun 13, 2012 at 3:45 PM, John Ehresman wrote: > > > On 5/30/12 3:35 PM, John Ehresman wrote: > > >> Can we use the address of the Shiboken object as the hash value? That > > >> > > >>> remains valid so long as there are references to the object, even > after > > >>> the object itself has been deleted in C++ land. > > >> > > >> This works if there can only be one wrapper at a time for a given > > >> QObject. I don't know if this is the case. > > > > > > I just ran into this bug and tried to apply the patch locally, but ran > > > into poblems. If the address of the PyObject* can be used, I think > that > > > > > > would be preferable. Consider the following: > > > o = QObject() > > > d = {} > > > d[o] = 1 > > > > > > def on_destroy(): > > > d.pop(o) > > > > > > o.destroyed.connect(on_**destroy) > > > shiboken.delete(o) > > > > > > The pop in the destroy handler will fail with a RuntimeError and even > if > > > the RuntimeError is suppressed and a default hash value returned, the > > > entry > > > in the dictionary won't be found or removed. > > > > > > John > -------------- next part -------------- An HTML attachment was scrubbed... URL: From nathanjsmith at gmail.com Thu Jun 14 20:08:40 2012 From: nathanjsmith at gmail.com (Nathan Smith) Date: Thu, 14 Jun 2012 13:08:40 -0500 Subject: [PySide] Bug with new hash table feature In-Reply-To: <3038828.BMWW6xYCf0@hugodesktop> References: <4FD8FBE0.4040309@wingware.com> <3038828.BMWW6xYCf0@hugodesktop> Message-ID: Thanks. The Shiboken module documentation at [2] http://www.pyside.org/docs/shiboken/shibokenmodule.html is missing invalidate, __version__ and __version_info__. Also, the PSEP lists ownedByPython where the module implements it as isOwnedByPython (and adds wasCreatedByPython). Is there a process for updating PSEPs? Nathan On Thu, Jun 14, 2012 at 12:33 PM, Hugo Parente Lima wrote: > On Wednesday, June 13, 2012 05:32:26 PM Nathan Smith wrote: > > We don't want to raise a RuntimeError when calling the hash function in > > Shiboken because of the very reason you stated. Doing something that > > raises exceptions in the hash function will break any container that uses > > hashes (weak references, sets, dicts, weakref.WeakSet, probably many > more). > > Returning default error values has a similar effect. > > > > My most recent approach was to return the address of the shiboken object, > > which is address of the PyObject. I tried this approach (I haven't > > submitted it yet) on the example you provided below, and it seems to > work. > > I've been using it with my code for a few days now, and it's been > working > > well. > > > > Note that using the address method has the drawback that two objects > > separated in time may have the same hash value because they may land at > the > > > > same memory address. You can see this in the following test case: > > >>> hash(QtCore.QObject()) == hash(QtCore.QObject()) > > > > True > > > > > > The first QObject is created, the hash is taken of it, and then it is > > destroyed. The reference count drops to 0, so the Shiboken handle is > > cleaned up. A second QObject is created (at the same address as the > first > > QObject), the hash is taken of it, and then it is destroyed. This could > be > > avoided if we kept a running counter of SbkObject instances and used the > > counter as the hash value (which I think is overkill). > > > > Incidentally, what is the difference between shiboken.delete and > > shiboken.invalidate? There don't appear to be any docstrings in the > > shiboken module and invalidate isn't in the online documentation. > > The docs are on the PSEP[1] and on Shiboken docs[2]. > > delete really deletes the underlying C++ object then invalidate the Python > object, i.e. any use of this object will raise a exception. > > invalidate only invalidates the Python object, causing it to raise an > exception when used. > > [1] http://www.pyside.org/docs/pseps/psep-0106.html > [2] http://www.pyside.org/docs/shiboken/shibokenmodule.html > > > Nathan > > > > On Wed, Jun 13, 2012 at 3:45 PM, John Ehresman wrote: > > > On 5/30/12 3:35 PM, John Ehresman wrote: > > >> Can we use the address of the Shiboken object as the hash value? That > > >> > > >>> remains valid so long as there are references to the object, even > after > > >>> the object itself has been deleted in C++ land. > > >> > > >> This works if there can only be one wrapper at a time for a given > > >> QObject. I don't know if this is the case. > > > > > > I just ran into this bug and tried to apply the patch locally, but ran > > > into poblems. If the address of the PyObject* can be used, I think > that > > > > > > would be preferable. Consider the following: > > > o = QObject() > > > d = {} > > > d[o] = 1 > > > > > > def on_destroy(): > > > d.pop(o) > > > > > > o.destroyed.connect(on_**destroy) > > > shiboken.delete(o) > > > > > > The pop in the destroy handler will fail with a RuntimeError and even > if > > > the RuntimeError is suppressed and a default hash value returned, the > > > entry > > > in the dictionary won't be found or removed. > > > > > > John > -------------- next part -------------- An HTML attachment was scrubbed... URL: From hugo.lima at openbossa.org Thu Jun 14 20:21:41 2012 From: hugo.lima at openbossa.org (Hugo Parente Lima) Date: Thu, 14 Jun 2012 15:21:41 -0300 Subject: [PySide] Bug with new hash table feature In-Reply-To: References: <3038828.BMWW6xYCf0@hugodesktop> Message-ID: <2330880.XBasvkuc6m@hugodesktop> On Thursday, June 14, 2012 01:08:40 PM Nathan Smith wrote: > Thanks. The Shiboken module documentation at [2] > http://www.pyside.org/docs/shiboken/shibokenmodule.html is missing > invalidate, __version__ and __version_info__. Also, the PSEP lists > ownedByPython where the module implements it as isOwnedByPython (and adds > wasCreatedByPython). Is there a process for updating PSEPs? Maybe the PSEP is out dated, there was a discussion about the API on the mailing list last year and the PSEP may not be modified to reflect the changes proposed in the mailing list. > Nathan > > On Thu, Jun 14, 2012 at 12:33 PM, Hugo Parente Lima > wrote: > > > > On Wednesday, June 13, 2012 05:32:26 PM Nathan Smith wrote: > > > We don't want to raise a RuntimeError when calling the hash function in > > > Shiboken because of the very reason you stated. Doing something that > > > raises exceptions in the hash function will break any container that > > > uses > > > hashes (weak references, sets, dicts, weakref.WeakSet, probably many > > > > more). > > > > > Returning default error values has a similar effect. > > > > > > My most recent approach was to return the address of the shiboken > > > object, > > > which is address of the PyObject. I tried this approach (I haven't > > > submitted it yet) on the example you provided below, and it seems to > > > > work. > > > > > I've been using it with my code for a few days now, and it's been > > > > working > > > > > well. > > > > > > Note that using the address method has the drawback that two objects > > > separated in time may have the same hash value because they may land at > > > > the > > > > > same memory address. You can see this in the following test case: > > > >>> hash(QtCore.QObject()) == hash(QtCore.QObject()) > > > > > > True > > > > > > > > > The first QObject is created, the hash is taken of it, and then it is > > > destroyed. The reference count drops to 0, so the Shiboken handle is > > > cleaned up. A second QObject is created (at the same address as the > > > > first > > > > > QObject), the hash is taken of it, and then it is destroyed. This could > > > > be > > > > > avoided if we kept a running counter of SbkObject instances and used the > > > counter as the hash value (which I think is overkill). > > > > > > Incidentally, what is the difference between shiboken.delete and > > > shiboken.invalidate? There don't appear to be any docstrings in the > > > shiboken module and invalidate isn't in the online documentation. > > > > The docs are on the PSEP[1] and on Shiboken docs[2]. > > > > delete really deletes the underlying C++ object then invalidate the Python > > object, i.e. any use of this object will raise a exception. > > > > invalidate only invalidates the Python object, causing it to raise an > > exception when used. > > > > [1] http://www.pyside.org/docs/pseps/psep-0106.html > > [2] http://www.pyside.org/docs/shiboken/shibokenmodule.html > > > > > Nathan > > > > > > On Wed, Jun 13, 2012 at 3:45 PM, John Ehresman wrote: > > > > On 5/30/12 3:35 PM, John Ehresman wrote: > > > >> Can we use the address of the Shiboken object as the hash value? > > > >> That > > > >> > > > >>> remains valid so long as there are references to the object, even > > > > after > > > > > >>> the object itself has been deleted in C++ land. > > > >> > > > >> This works if there can only be one wrapper at a time for a given > > > >> QObject. I don't know if this is the case. > > > > > > > > I just ran into this bug and tried to apply the patch locally, but ran > > > > into poblems. If the address of the PyObject* can be used, I think > > > > that > > > > > > would be preferable. Consider the following: > > > > o = QObject() > > > > d = {} > > > > d[o] = 1 > > > > > > > > def on_destroy(): > > > > d.pop(o) > > > > > > > > o.destroyed.connect(on_**destroy) > > > > shiboken.delete(o) > > > > > > > > The pop in the destroy handler will fail with a RuntimeError and even > > > > if > > > > > > the RuntimeError is suppressed and a default hash value returned, the > > > > entry > > > > in the dictionary won't be found or removed. > > > > > > > > John -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 198 bytes Desc: This is a digitally signed message part. URL: From hugo.lima at openbossa.org Thu Jun 14 20:21:41 2012 From: hugo.lima at openbossa.org (Hugo Parente Lima) Date: Thu, 14 Jun 2012 15:21:41 -0300 Subject: [PySide] Bug with new hash table feature In-Reply-To: References: <3038828.BMWW6xYCf0@hugodesktop> Message-ID: <2330880.XBasvkuc6m@hugodesktop> On Thursday, June 14, 2012 01:08:40 PM Nathan Smith wrote: > Thanks. The Shiboken module documentation at [2] > http://www.pyside.org/docs/shiboken/shibokenmodule.html is missing > invalidate, __version__ and __version_info__. Also, the PSEP lists > ownedByPython where the module implements it as isOwnedByPython (and adds > wasCreatedByPython). Is there a process for updating PSEPs? Maybe the PSEP is out dated, there was a discussion about the API on the mailing list last year and the PSEP may not be modified to reflect the changes proposed in the mailing list. > Nathan > > On Thu, Jun 14, 2012 at 12:33 PM, Hugo Parente Lima > wrote: > > > > On Wednesday, June 13, 2012 05:32:26 PM Nathan Smith wrote: > > > We don't want to raise a RuntimeError when calling the hash function in > > > Shiboken because of the very reason you stated. Doing something that > > > raises exceptions in the hash function will break any container that > > > uses > > > hashes (weak references, sets, dicts, weakref.WeakSet, probably many > > > > more). > > > > > Returning default error values has a similar effect. > > > > > > My most recent approach was to return the address of the shiboken > > > object, > > > which is address of the PyObject. I tried this approach (I haven't > > > submitted it yet) on the example you provided below, and it seems to > > > > work. > > > > > I've been using it with my code for a few days now, and it's been > > > > working > > > > > well. > > > > > > Note that using the address method has the drawback that two objects > > > separated in time may have the same hash value because they may land at > > > > the > > > > > same memory address. You can see this in the following test case: > > > >>> hash(QtCore.QObject()) == hash(QtCore.QObject()) > > > > > > True > > > > > > > > > The first QObject is created, the hash is taken of it, and then it is > > > destroyed. The reference count drops to 0, so the Shiboken handle is > > > cleaned up. A second QObject is created (at the same address as the > > > > first > > > > > QObject), the hash is taken of it, and then it is destroyed. This could > > > > be > > > > > avoided if we kept a running counter of SbkObject instances and used the > > > counter as the hash value (which I think is overkill). > > > > > > Incidentally, what is the difference between shiboken.delete and > > > shiboken.invalidate? There don't appear to be any docstrings in the > > > shiboken module and invalidate isn't in the online documentation. > > > > The docs are on the PSEP[1] and on Shiboken docs[2]. > > > > delete really deletes the underlying C++ object then invalidate the Python > > object, i.e. any use of this object will raise a exception. > > > > invalidate only invalidates the Python object, causing it to raise an > > exception when used. > > > > [1] http://www.pyside.org/docs/pseps/psep-0106.html > > [2] http://www.pyside.org/docs/shiboken/shibokenmodule.html > > > > > Nathan > > > > > > On Wed, Jun 13, 2012 at 3:45 PM, John Ehresman wrote: > > > > On 5/30/12 3:35 PM, John Ehresman wrote: > > > >> Can we use the address of the Shiboken object as the hash value? > > > >> That > > > >> > > > >>> remains valid so long as there are references to the object, even > > > > after > > > > > >>> the object itself has been deleted in C++ land. > > > >> > > > >> This works if there can only be one wrapper at a time for a given > > > >> QObject. I don't know if this is the case. > > > > > > > > I just ran into this bug and tried to apply the patch locally, but ran > > > > into poblems. If the address of the PyObject* can be used, I think > > > > that > > > > > > would be preferable. Consider the following: > > > > o = QObject() > > > > d = {} > > > > d[o] = 1 > > > > > > > > def on_destroy(): > > > > d.pop(o) > > > > > > > > o.destroyed.connect(on_**destroy) > > > > shiboken.delete(o) > > > > > > > > The pop in the destroy handler will fail with a RuntimeError and even > > > > if > > > > > > the RuntimeError is suppressed and a default hash value returned, the > > > > entry > > > > in the dictionary won't be found or removed. > > > > > > > > John -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 198 bytes Desc: This is a digitally signed message part. URL: From techtonik at gmail.com Thu Jun 14 23:52:15 2012 From: techtonik at gmail.com (anatoly techtonik) Date: Fri, 15 Jun 2012 00:52:15 +0300 Subject: [PySide] Getting a gerrit account In-Reply-To: References: Message-ID: On Thu, Jun 14, 2012 at 7:00 PM, Nathan Smith wrote: > How does one go about getting a Gerrit account to submit a patch?  I have an > account at https://bugreports.qt-project.org, but apparently that isn't > shared by https://codereview.qt-project.org. If it doesn't shared - that's a bag that should be reported to https://bugreports.qt-project.org -- anatoly t. From frank at ohufx.com Fri Jun 15 01:50:31 2012 From: frank at ohufx.com (Frank Rueter | OHUfx) Date: Fri, 15 Jun 2012 11:50:31 +1200 Subject: [PySide] secure password handling Message-ID: <4FDA78C7.6030703@ohufx.com> Hi everyone, I'm wondering about the best way to handle password input in PySide. I know about python's hashlib, but am wondering if there is a better way to provide security between the user's input into a PySide widget and the hashing. A friend was wondering about a precompiled widget that does the hashing directly so the password is never once stored anywhere as plain text. What are people's approaches for this? Cheers, frank From paulo.alcantara at openbossa.org Fri Jun 15 02:27:46 2012 From: paulo.alcantara at openbossa.org (Paulo Alcantara) Date: Thu, 14 Jun 2012 21:27:46 -0300 Subject: [PySide] Announcement Message-ID: I'm officially removing myself as an approver of the PySide project. Would you like to be a PySide approver ? Feel free to contact the current maintainers.                Paulo From heng at cantab.net Fri Jun 15 09:52:36 2012 From: heng at cantab.net (Henry Gomersall) Date: Fri, 15 Jun 2012 08:52:36 +0100 Subject: [PySide] secure password handling In-Reply-To: <4FDA78C7.6030703@ohufx.com> References: <4FDA78C7.6030703@ohufx.com> Message-ID: <1339746756.12308.2.camel@farnsworth> On Fri, 2012-06-15 at 11:50 +1200, Frank Rueter | OHUfx wrote: > > I'm wondering about the best way to handle password input in PySide. > I know about python's hashlib, but am wondering if there is a better > way > to provide security between the user's input into a PySide widget and > the hashing. A friend was wondering about a precompiled widget that > does > the hashing directly so the password is never once stored anywhere as > plain text. > > What are people's approaches for this? so, in light of the recent LinkedIn debacle, the following was brought to my attention: http://codahale.com/how-to-safely-store-a-password/ I'm not a security expert, which is why I feel the need to listen to all the arguments! Cheers, Henry From anderson.lizardo at openbossa.org Fri Jun 15 12:45:55 2012 From: anderson.lizardo at openbossa.org (Anderson Lizardo) Date: Fri, 15 Jun 2012 06:45:55 -0400 Subject: [PySide] Announcement In-Reply-To: References: Message-ID: Hi Paulo, On Thu, Jun 14, 2012 at 8:27 PM, Paulo Alcantara wrote: > I'm officially removing myself as an approver of the PySide project. > > Would you like to be a PySide approver ? Feel free to contact the > current maintainers. Do you know how many approvers are currently active? I tried looking at codereview website but could not find any place where it lists who are the current approver(s). Thanks for you great job while working as approver! :) Hope we are able to find a suitable candidate soon. Best Regards, -- Anderson Lizardo Instituto Nokia de Tecnologia - INdT Manaus - Brazil From paulo.alcantara at openbossa.org Fri Jun 15 16:53:56 2012 From: paulo.alcantara at openbossa.org (Paulo Alcantara) Date: Fri, 15 Jun 2012 11:53:56 -0300 Subject: [PySide] Announcement In-Reply-To: References: Message-ID: Hi Lizardo, On Fri, Jun 15, 2012 at 7:45 AM, Anderson Lizardo wrote: > Hi Paulo, > > On Thu, Jun 14, 2012 at 8:27 PM, Paulo Alcantara > wrote: >> I'm officially removing myself as an approver of the PySide project. >> >> Would you like to be a PySide approver ? Feel free to contact the >> current maintainers. > > Do you know how many approvers are currently active? I tried looking > at codereview website but could not find any place where it lists who > are the current approver(s). I think it is what you're looking for: https://codereview.qt-project.org/#admin,group,12 > Thanks for you great job while working as approver! :) Hope we are > able to find a suitable candidate soon. Thanks! Why don't you give it a try ? I'd +1 at you. Heh :-)                Paulo From anderson.lizardo at openbossa.org Fri Jun 15 17:24:01 2012 From: anderson.lizardo at openbossa.org (Anderson Lizardo) Date: Fri, 15 Jun 2012 11:24:01 -0400 Subject: [PySide] Announcement In-Reply-To: References: Message-ID: Hi Paulo, On Fri, Jun 15, 2012 at 10:53 AM, Paulo Alcantara wrote: >> Do you know how many approvers are currently active? I tried looking >> at codereview website but could not find any place where it lists who >> are the current approver(s). > > I think it is what you're looking for: > > https://codereview.qt-project.org/#admin,group,12 Exactly! Unfortunately, it lists *all* approvers for all Qt projects, instead of per-project. But it is better than nothing :) > >> Thanks for you great job while working as approver! :) Hope we are >> able to find a suitable candidate soon. > > Thanks! > > Why don't you give it a try ? I'd +1 at you. Heh :-) I'd gladly help, but I'm quite busy with other projects at the moment. Is it possible to have more than one approver? It should help offloading work, assuming that the approver also does some review instead of simply "approving" :) Best Regards, -- Anderson Lizardo Instituto Nokia de Tecnologia - INdT Manaus - Brazil From paulo.alcantara at openbossa.org Fri Jun 15 18:55:01 2012 From: paulo.alcantara at openbossa.org (Paulo Alcantara) Date: Fri, 15 Jun 2012 13:55:01 -0300 Subject: [PySide] Announcement In-Reply-To: References: Message-ID: Hi Lizardo, On Fri, Jun 15, 2012 at 12:24 PM, Anderson Lizardo wrote: > Hi Paulo, > > On Fri, Jun 15, 2012 at 10:53 AM, Paulo Alcantara > wrote: >>> Do you know how many approvers are currently active? I tried looking >>> at codereview website but could not find any place where it lists who >>> are the current approver(s). >> >> I think it is what you're looking for: >> >> https://codereview.qt-project.org/#admin,group,12 > > Exactly! Unfortunately, it lists *all* approvers for all Qt projects, > instead of per-project. But it is better than nothing :) Yeah. :-) > I'd gladly help, but I'm quite busy with other projects at the moment. > Is it possible to have more than one approver? It should help > offloading work, assuming that the approver also does some review > instead of simply "approving" :) Yes - we can have more than one approver. Besides, you can also do reviews, as they are always appreciable, and not only approving things.                Paulo From william.dias at gmail.com Fri Jun 15 19:35:44 2012 From: william.dias at gmail.com (William Dias) Date: Fri, 15 Jun 2012 14:35:44 -0300 Subject: [PySide] Program received signal SIGPIPE, Broken pipe. Message-ID: Hi.. I have a pyside application which captures frames from a webcam using opencv and then sends the pictures to a webserver using a newly created thread. I ran an automatic test yesterday, and after 2 hours the program crashed with a SIGPIPE error. The backtrace is shown bellow. I using python 2.7.2, pyside 1.1.1 and opencv 2.3.1 on ubuntu 11.10. Any lead of what's is causing the problem? Thanks for the help. Program received signal SIGPIPE, Broken pipe. [Switching to Thread 0xb69feb70 (LWP 3728)] 0x00130416 in __kernel_vsyscall () #0 0x00130416 in __kernel_vsyscall () #1 0x0013ef38 in send () from /lib/i386-linux-gnu/libpthread.so.0 #2 0x08152a63 in ?? () #3 0x080fade1 in PyEval_EvalFrameEx () #4 0x080fd804 in PyEval_EvalCodeEx () #5 0x0808c512 in ?? () #6 0x0805dc31 in PyObject_Call () #7 0x08149cdd in ?? () #8 0x0805dc31 in PyObject_Call () #9 0x080f81c1 in PyEval_EvalFrameEx () #10 0x080f7e20 in PyEval_EvalFrameEx () #11 0x080fd804 in PyEval_EvalCodeEx () #12 0x080f7cdf in PyEval_EvalFrameEx () #13 0x080fd804 in PyEval_EvalCodeEx () #14 0x080f7cdf in PyEval_EvalFrameEx () #15 0x080f7e20 in PyEval_EvalFrameEx () #16 0x080fd804 in PyEval_EvalCodeEx () #17 0x080f7cdf in PyEval_EvalFrameEx () #18 0x080f7e20 in PyEval_EvalFrameEx () #19 0x080fd804 in PyEval_EvalCodeEx () #20 0x0808c512 in ?? () #21 0x0805dc31 in PyObject_Call () #22 0x080738bd in ?? () #23 0x0805dc31 in PyObject_Call () #24 0x080f704e in PyEval_CallObjectWithKeywords () #25 0x08069b9f in PyObject_CallObject () #26 0x0078d13d in PySide::SignalManager::callPythonMetaMethod(QMetaMethod const&, void**, _object*, bool) () from /usr/lib/i386-linux-gnu/libpyside-python2.7.so.1.1 #27 0x0079325b in ?? () from /usr/lib/i386-linux-gnu/libpyside-python2.7.so.1.1 #28 0x00c01b7d in QMetaObject::metacall(QObject*, QMetaObje#30 0x00c5f7d5 in QTimer::timeout() () from /usr/lib/i386-linux-gnu/libQtCore.so.4 #29 0x00c10a6a in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/i386-linux-gnu/libQtCore.so.4 #30 0x00c5f7d5 in QTimer::timeout() () from /usr/lib/i386-linux-gnu/libQtCore.so.4 #31 0x00c18286 in QTimer::timerEvent(QTimerEvent*) () from /usr/lib/i386-linux-gnu/libQtCore.so.4 #32 0x00687bdc in ?? () from /usr/lib/python2.7/dist-packages/PySide/QtCore.so #33 0x00c13994 in QObject::event(QEvent*) () from /usr/lib/i386-linux-gnu/libQtCore.so.4 #34 0x00686a48 in ?? () from /usr/lib/python2.7/dist-packages/PySide/QtCore.so #35 0x01bacd84 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/i386-linux-gnu/libQtGui.so.4 #36 0x01bb2133 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/i386-linux-gnu/libQtGui.so.4 #37 0x010d2ec0 in ?? () from /usr/lib/python2.7/dist-packages/PySide/QtGui.so #38 0x00bfb19e in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/i386-linux-gnu/libQtCore.so.4 #39 0x00c2bc10 in ?? () from /usr/lib/i386-linux-gnu/libQtCore.so.4 #40 0x00c29155 in ?? () from /usr/lib/i386-linux-gnu/libQtCore.so.4 #41 0x00e9125f in g_main_context_dispatch () from /lib/i386-linux-gnu/libglib-2.0.so.0 #42 0x00e91990 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0 #43 0x00e91c2a in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0 #44 0x00c29ada in QEventDispatcherGlib::processEvents(QFlags) () from /usr/lib/i386-linux-gnu/libQtCore.so.4 ct::Call, int, void**) () from /usr/lib/i386-linux-gnu/libQtCore.so.4#45 0x00bfa1dd in QEventLoop::processEvents(QFlags) () from /usr/lib/i386-linux-gnu/libQtCore.so.4 #46 0x00bfa421 in QEventLoop::exec(QFlags) () from /usr/lib/i386-linux-gnu/libQtCore.so.4 #47 0x00afd90b in QThread::exec() () from /usr/lib/i386-linux-gnu/libQtCore.so.4 #48 0x00afd9fb in QThread::run() () from /usr/lib/i386-linux-gnu/libQtCore.so.4 #49 0x0067b1d8 in ?? () from /usr/lib/python2.7/dist-packages/PySide/QtCore.so #50 0x00b007b3 in ?? () from /usr/lib/i386-linux-gnu/libQtCore.so.4 #51 0x00137d31 in start_thread () from /lib/i386-linux-gnu/libpthread.so.0 #52 0x004570ce in clone () from /lib/i386-linux-gnu/libc.so.6 Backtrace stopped: Not enough registers or memory available to unwind further William Dias -------------- next part -------------- An HTML attachment was scrubbed... URL: From hugo.lima at openbossa.org Fri Jun 15 19:38:15 2012 From: hugo.lima at openbossa.org (Hugo Parente Lima) Date: Fri, 15 Jun 2012 14:38:15 -0300 Subject: [PySide] Announcement In-Reply-To: References: Message-ID: <1418755.jkytW3vzce@hugodesktop> On Thursday, June 14, 2012 09:27:46 PM Paulo Alcantara wrote: > I'm officially removing myself as an approver of the PySide project. This mean you also plan to stop help us fixing bugs? :-/ If not, there's no reason to quit from your approver duty. > Would you like to be a PySide approver ? Feel free to contact the > current maintainers. > > > Paulo > _______________________________________________ > PySide mailing list > PySide at qt-project.org > http://lists.qt-project.org/mailman/listinfo/pyside -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 198 bytes Desc: This is a digitally signed message part. URL: From paulo.alcantara at openbossa.org Fri Jun 15 19:46:54 2012 From: paulo.alcantara at openbossa.org (Paulo Alcantara) Date: Fri, 15 Jun 2012 14:46:54 -0300 Subject: [PySide] Announcement In-Reply-To: <1418755.jkytW3vzce@hugodesktop> References: <1418755.jkytW3vzce@hugodesktop> Message-ID: Hi Hugo, On Fri, Jun 15, 2012 at 2:38 PM, Hugo Parente Lima wrote: > On Thursday, June 14, 2012 09:27:46 PM Paulo Alcantara wrote: >> I'm officially removing myself as an approver of the PySide project. > > This mean you also plan to stop help us fixing bugs? :-/ Not really. Help on fixing PySide bugs is already on my TODO list, and I pretend to do so once I get some free time. > If not, there's no reason to quit from your approver duty. Ok. I agree with you here and I won't quit anymore since I still pretend to hack it. Now that Qt 5.0 is there and on development, I'd love to help you guys with the Qt 5 porting, for example. You can please ignore my "Announcement" for now and let's hack PySide! :-)                Paulo From hugo.lima at openbossa.org Fri Jun 15 20:16:14 2012 From: hugo.lima at openbossa.org (Hugo Parente Lima) Date: Fri, 15 Jun 2012 15:16:14 -0300 Subject: [PySide] Announcement In-Reply-To: References: <1418755.jkytW3vzce@hugodesktop> Message-ID: <1400980.EBmpGL9joV@hugodesktop> On Friday, June 15, 2012 02:46:54 PM Paulo Alcantara wrote: > Hi Hugo, > > On Fri, Jun 15, 2012 at 2:38 PM, Hugo Parente Lima > > wrote: > > On Thursday, June 14, 2012 09:27:46 PM Paulo Alcantara wrote: > >> I'm officially removing myself as an approver of the PySide project. > > > > This mean you also plan to stop help us fixing bugs? :-/ > > Not really. Help on fixing PySide bugs is already on my TODO list, > and I pretend to do so once I get some free time. By "pretend" Paulo I guess meant "intend", that in portuguese is "pretender". > > If not, there's no reason to quit from your approver duty. > > Ok. I agree with you here and I won't quit anymore since I still > pretend to hack it. > > Now that Qt 5.0 is there and on development, I'd love to help you guys > with the Qt 5 porting, for example. > > You can please ignore my "Announcement" for now and let's hack > PySide! :-) > > > Paulo -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 198 bytes Desc: This is a digitally signed message part. URL: From paulo.alcantara at openbossa.org Fri Jun 15 20:17:45 2012 From: paulo.alcantara at openbossa.org (Paulo Alcantara) Date: Fri, 15 Jun 2012 15:17:45 -0300 Subject: [PySide] Announcement In-Reply-To: <1400980.EBmpGL9joV@hugodesktop> References: <1418755.jkytW3vzce@hugodesktop> <1400980.EBmpGL9joV@hugodesktop> Message-ID: Hi Hugo, On Fri, Jun 15, 2012 at 3:16 PM, Hugo Parente Lima wrote: > On Friday, June 15, 2012 02:46:54 PM Paulo Alcantara wrote: >> Hi Hugo, >> >> On Fri, Jun 15, 2012 at 2:38 PM, Hugo Parente Lima >> >> wrote: >> > On Thursday, June 14, 2012 09:27:46 PM Paulo Alcantara wrote: >> >> I'm officially removing myself as an approver of the PySide project. >> > >> > This mean you also plan to stop help us fixing bugs? :-/ >> >> Not really. Help on fixing PySide bugs is already on my TODO list, >> and I pretend to do so once I get some free time. > > By "pretend" Paulo I guess meant "intend", that in portuguese is "pretender". Exactly! LOL                Paulo From hugo.lima at openbossa.org Fri Jun 15 20:20:13 2012 From: hugo.lima at openbossa.org (Hugo Parente Lima) Date: Fri, 15 Jun 2012 15:20:13 -0300 Subject: [PySide] Program received signal SIGPIPE, Broken pipe. In-Reply-To: References: Message-ID: <1377959.gPW9c88mRI@hugodesktop> On Friday, June 15, 2012 02:35:44 PM William Dias wrote: > Hi.. > > I have a pyside application which captures frames from a webcam using > opencv and then sends the pictures to a webserver using a newly created > thread. > I ran an automatic test yesterday, and after 2 hours the program crashed > with a SIGPIPE error. The backtrace is shown bellow. > I using python 2.7.2, pyside 1.1.1 and opencv 2.3.1 on ubuntu 11.10. > > Any lead of what's is causing the problem? Is hard to say with just a stack trace and no code at all. > Thanks for the help. > > Program received signal SIGPIPE, Broken pipe. > [Switching to Thread 0xb69feb70 (LWP 3728)] > 0x00130416 in __kernel_vsyscall () > > #0 0x00130416 in __kernel_vsyscall () > #1 0x0013ef38 in send () from /lib/i386-linux-gnu/libpthread.so.0 > #2 0x08152a63 in ?? () > #3 0x080fade1 in PyEval_EvalFrameEx () > #4 0x080fd804 in PyEval_EvalCodeEx () > #5 0x0808c512 in ?? () > #6 0x0805dc31 in PyObject_Call () > #7 0x08149cdd in ?? () > #8 0x0805dc31 in PyObject_Call () > #9 0x080f81c1 in PyEval_EvalFrameEx () > #10 0x080f7e20 in PyEval_EvalFrameEx () > #11 0x080fd804 in PyEval_EvalCodeEx () > #12 0x080f7cdf in PyEval_EvalFrameEx () > #13 0x080fd804 in PyEval_EvalCodeEx () > #14 0x080f7cdf in PyEval_EvalFrameEx () > #15 0x080f7e20 in PyEval_EvalFrameEx () > #16 0x080fd804 in PyEval_EvalCodeEx () > #17 0x080f7cdf in PyEval_EvalFrameEx () > #18 0x080f7e20 in PyEval_EvalFrameEx () > #19 0x080fd804 in PyEval_EvalCodeEx () > #20 0x0808c512 in ?? () > #21 0x0805dc31 in PyObject_Call () > #22 0x080738bd in ?? () > #23 0x0805dc31 in PyObject_Call () > #24 0x080f704e in PyEval_CallObjectWithKeywords () > #25 0x08069b9f in PyObject_CallObject () > #26 0x0078d13d in PySide::SignalManager::callPythonMetaMethod(QMetaMethod > const&, void**, _object*, bool) () from > /usr/lib/i386-linux-gnu/libpyside-python2.7.so.1.1 > #27 0x0079325b in ?? () from > /usr/lib/i386-linux-gnu/libpyside-python2.7.so.1.1 > #28 0x00c01b7d in QMetaObject::metacall(QObject*, QMetaObje#30 0x00c5f7d5 > in QTimer::timeout() () from /usr/lib/i386-linux-gnu/libQtCore.so.4 > #29 0x00c10a6a in QMetaObject::activate(QObject*, QMetaObject const*, int, > void**) () from /usr/lib/i386-linux-gnu/libQtCore.so.4 > #30 0x00c5f7d5 in QTimer::timeout() () from > /usr/lib/i386-linux-gnu/libQtCore.so.4 > #31 0x00c18286 in QTimer::timerEvent(QTimerEvent*) () from > /usr/lib/i386-linux-gnu/libQtCore.so.4 > #32 0x00687bdc in ?? () from > /usr/lib/python2.7/dist-packages/PySide/QtCore.so > #33 0x00c13994 in QObject::event(QEvent*) () from > /usr/lib/i386-linux-gnu/libQtCore.so.4 > #34 0x00686a48 in ?? () from > /usr/lib/python2.7/dist-packages/PySide/QtCore.so > #35 0x01bacd84 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () > from /usr/lib/i386-linux-gnu/libQtGui.so.4 > #36 0x01bb2133 in QApplication::notify(QObject*, QEvent*) () from > /usr/lib/i386-linux-gnu/libQtGui.so.4 > #37 0x010d2ec0 in ?? () from > /usr/lib/python2.7/dist-packages/PySide/QtGui.so > #38 0x00bfb19e in QCoreApplication::notifyInternal(QObject*, QEvent*) () > from /usr/lib/i386-linux-gnu/libQtCore.so.4 > #39 0x00c2bc10 in ?? () from /usr/lib/i386-linux-gnu/libQtCore.so.4 > #40 0x00c29155 in ?? () from /usr/lib/i386-linux-gnu/libQtCore.so.4 > #41 0x00e9125f in g_main_context_dispatch () from > /lib/i386-linux-gnu/libglib-2.0.so.0 > #42 0x00e91990 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0 > #43 0x00e91c2a in g_main_context_iteration () from > /lib/i386-linux-gnu/libglib-2.0.so.0 > #44 0x00c29ada in > QEventDispatcherGlib::processEvents(QFlags) > () from /usr/lib/i386-linux-gnu/libQtCore.so.4 > ct::Call, int, void**) () from /usr/lib/i386-linux-gnu/libQtCore.so.4#45 > 0x00bfa1dd in > QEventLoop::processEvents(QFlags) () from > /usr/lib/i386-linux-gnu/libQtCore.so.4 > #46 0x00bfa421 in QEventLoop::exec(QFlags) > () from /usr/lib/i386-linux-gnu/libQtCore.so.4 > #47 0x00afd90b in QThread::exec() () from > /usr/lib/i386-linux-gnu/libQtCore.so.4 > #48 0x00afd9fb in QThread::run() () from > /usr/lib/i386-linux-gnu/libQtCore.so.4 > #49 0x0067b1d8 in ?? () from > /usr/lib/python2.7/dist-packages/PySide/QtCore.so > #50 0x00b007b3 in ?? () from /usr/lib/i386-linux-gnu/libQtCore.so.4 > #51 0x00137d31 in start_thread () from /lib/i386-linux-gnu/libpthread.so.0 > #52 0x004570ce in clone () from /lib/i386-linux-gnu/libc.so.6 > Backtrace stopped: Not enough registers or memory available to unwind > further > > > William Dias -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 198 bytes Desc: This is a digitally signed message part. URL: From frank at ohufx.com Sat Jun 16 07:58:16 2012 From: frank at ohufx.com (Frank Rueter | OHUfx) Date: Sat, 16 Jun 2012 17:58:16 +1200 Subject: [PySide] secure password handling In-Reply-To: <1339746756.12308.2.camel@farnsworth> References: <4FDA78C7.6030703@ohufx.com> <1339746756.12308.2.camel@farnsworth> Message-ID: <4FDC2078.20105@ohufx.com> thanks Henry On 15/06/12 7:52 PM, Henry Gomersall wrote: > On Fri, 2012-06-15 at 11:50 +1200, Frank Rueter | OHUfx wrote: >> I'm wondering about the best way to handle password input in PySide. >> I know about python's hashlib, but am wondering if there is a better >> way >> to provide security between the user's input into a PySide widget and >> the hashing. A friend was wondering about a precompiled widget that >> does >> the hashing directly so the password is never once stored anywhere as >> plain text. >> >> What are people's approaches for this? > so, in light of the recent LinkedIn debacle, the following was brought > to my attention: > > http://codahale.com/how-to-safely-store-a-password/ > > I'm not a security expert, which is why I feel the need to listen to all > the arguments! > > Cheers, > > Henry > From js.augustyn at gmail.com Sat Jun 16 18:29:33 2012 From: js.augustyn at gmail.com (Jason Augustyn) Date: Sat, 16 Jun 2012 12:29:33 -0400 Subject: [PySide] moving QGraphicsPixmapItem jumps to upper left corner of scene Message-ID: I am writing an application that allows a user to place images on a QGraphicsScene (contained within a QGraphicsView) by clicking on a blank area and then move them about using mousemoveevent. The images are created using a subclassed QGraphicsPixmapItem. Here's the problem: The very first attempt at moving an item works as expected. However, for all subsequent moves the selected item immediately jumps to the upper left corner of the scene. Here is the code: import sys from PySide import QtGui,QtCore class TestPixmapItem(QtGui.QGraphicsPixmapItem):     def __init__(self, imagename, position, parent=None):         QtGui.QGraphicsPixmapItem.__init__(self, parent)         px = QtGui.QPixmap(imagename)         self.setPixmap(px)         self.setFlag(QtGui.QGraphicsItem.ItemIsMovable, True)         self.setFlag(QtGui.QGraphicsItem.ItemIsSelectable, True)         # set position         self.setPos(position.x(),position.y())     def mouseReleaseEvent(self,e):         self.setSelected(False)     def mouseMoveEvent(self, e):         QtGui.QGraphicsPixmapItem.mouseMoveEvent(self, e) class GfxScene(QtGui.QGraphicsScene):     def __init__(self, parent=None):         #build parent user interface         super(GfxScene, self).__init__(parent) def mousePressEvent(self, e):         if(self.itemAt(e.scenePos().x(),e.scenePos().y()) == None):             pixmapItem = TestPixmapItem('test.png',e.scenePos())             self.addItem(pixmapItem)         else:             QtGui.QGraphicsScene.mousePressEvent(self,e); class MainForm(QtGui.QMainWindow):     def __init__(self, parent=None):         super(MainForm, self).__init__(parent)         scene = GfxScene(self)         scene.setSceneRect(QtCore.QRect(0, 0, 800, 800))         view = QtGui.QGraphicsView()         view.setScene(scene)         #view.setSceneRect(QtCore.QRect(0, 0, 800, 800))         #view.setGeometry(QtCore.QRect(0, 0, 800, 800))         self.setCentralWidget(view) def main():     #This function means this was run directly, not called from another python file.     app = QtGui.QApplication.instance()     if app == None:             app = QtGui.QApplication(sys.argv)     myapp = MainForm()     myapp.show()     sys.exit(app.exec_()) if __name__ == '__main__':     main() Any help would be appreciated! Thanks in advance! From vasure at gmail.com Sun Jun 17 19:44:29 2012 From: vasure at gmail.com (Srini Kommoori) Date: Sun, 17 Jun 2012 10:44:29 -0700 Subject: [PySide] secure password handling In-Reply-To: <1339746756.12308.2.camel@farnsworth> References: <4FDA78C7.6030703@ohufx.com> <1339746756.12308.2.camel@farnsworth> Message-ID: For a desktop application, I would recommend using keyring http://pypi.python.org/pypi/keyring For file level password application, I would use PBKDF2 with very high iteration count. For my application, Safebox, I have used this method. Here are the details. http://safebox.fabulasolutions.com/p/safebox-crypto-architecture.html all the best On Jun 15, 2012, at 12:52 AM, Henry Gomersall wrote: > On Fri, 2012-06-15 at 11:50 +1200, Frank Rueter | OHUfx wrote: >> >> I'm wondering about the best way to handle password input in PySide. >> I know about python's hashlib, but am wondering if there is a better >> way >> to provide security between the user's input into a PySide widget and >> the hashing. A friend was wondering about a precompiled widget that >> does >> the hashing directly so the password is never once stored anywhere as >> plain text. >> >> What are people's approaches for this? > > so, in light of the recent LinkedIn debacle, the following was brought > to my attention: > > http://codahale.com/how-to-safely-store-a-password/ > > I'm not a security expert, which is why I feel the need to listen to all > the arguments! > > Cheers, > > Henry > > _______________________________________________ > PySide mailing list > PySide at qt-project.org > http://lists.qt-project.org/mailman/listinfo/pyside From frank at ohufx.com Sun Jun 17 23:59:45 2012 From: frank at ohufx.com (Frank Rueter | OHUfx) Date: Mon, 18 Jun 2012 09:59:45 +1200 Subject: [PySide] secure password handling In-Reply-To: References: <4FDA78C7.6030703@ohufx.com> <1339746756.12308.2.camel@farnsworth> Message-ID: <4FDE5351.10502@ohufx.com> Thanks Srini. On 18/06/12 5:44 AM, Srini Kommoori wrote: > For a desktop application, I would recommend using keyring > http://pypi.python.org/pypi/keyring > > For file level password application, I would use PBKDF2 with very high > iteration count. For my application, Safebox, I have used this method. > Here are the details. > http://safebox.fabulasolutions.com/p/safebox-crypto-architecture.html > > all the best > > On Jun 15, 2012, at 12:52 AM, Henry Gomersall wrote: > >> On Fri, 2012-06-15 at 11:50 +1200, Frank Rueter | OHUfx wrote: >>> I'm wondering about the best way to handle password input in PySide. >>> I know about python's hashlib, but am wondering if there is a better >>> way >>> to provide security between the user's input into a PySide widget and >>> the hashing. A friend was wondering about a precompiled widget that >>> does >>> the hashing directly so the password is never once stored anywhere as >>> plain text. >>> >>> What are people's approaches for this? >> so, in light of the recent LinkedIn debacle, the following was brought >> to my attention: >> >> http://codahale.com/how-to-safely-store-a-password/ >> >> I'm not a security expert, which is why I feel the need to listen to all >> the arguments! >> >> Cheers, >> >> Henry >> >> _______________________________________________ >> PySide mailing list >> PySide at qt-project.org >> http://lists.qt-project.org/mailman/listinfo/pyside From frank at ohufx.com Mon Jun 18 02:48:16 2012 From: frank at ohufx.com (Frank Rueter | OHUfx) Date: Mon, 18 Jun 2012 12:48:16 +1200 Subject: [PySide] QPalette.BrightText not working under osx Message-ID: <4FDE7AD0.5090809@ohufx.com> Hello wise PySide people, I am looking at a confusing discrepancy between windows and osx when trying to simply change the main font colour of my app. I am using the "plastique" style to start with, then changing all sorts of values to custom tailor the look. For some reason this line has no effect on osx and my text remains black: palette.setBrush(QPalette.Active, QPalette.BrightText, brush) Under windows it seems ok. Here is a simple snippet that shows the problem: http://pastebin.com/rV9nDUSN Is this a bug or use error? Is there any way I can ship around this to ensure my font is the colour I'm specifying in the palette? I'm using PySide 1.0.9 Cheers, frank -------------- next part -------------- An HTML attachment was scrubbed... URL: From kandraitibold at gmail.com Mon Jun 18 09:23:02 2012 From: kandraitibold at gmail.com (Tibold Kandrai) Date: Mon, 18 Jun 2012 09:23:02 +0200 Subject: [PySide] QPalette.BrightText not working under osx In-Reply-To: <4FDE7AD0.5090809@ohufx.com> References: <4FDE7AD0.5090809@ohufx.com> Message-ID: Hi, Try to use stylesheets instead. They are simpler and not as confusing as the QPalette. Check this: http://pastebin.com/JhuX2WX8 It works on my Mac. :) Cheers, Tibold 2012/6/18 Frank Rueter | OHUfx > Hello wise PySide people, > > I am looking at a confusing discrepancy between windows and osx when > trying to simply change the main font colour of my app. > I am using the "plastique" style to start with, then changing all sorts of > values to custom tailor the look. > For some reason this line has no effect on osx and my text remains black: > palette.setBrush(QPalette.Active, QPalette.BrightText, brush) > > Under windows it seems ok. > > Here is a simple snippet that shows the problem: > http://pastebin.com/rV9nDUSN > > Is this a bug or use error? Is there any way I can ship around this to > ensure my font is the colour I'm specifying in the palette? > I'm using PySide 1.0.9 > > > Cheers, > frank > > > > _______________________________________________ > PySide mailing list > PySide at qt-project.org > http://lists.qt-project.org/mailman/listinfo/pyside > > -- Kandrai Tibold -------------- next part -------------- An HTML attachment was scrubbed... URL: From sekras at gmail.com Mon Jun 18 12:05:04 2012 From: sekras at gmail.com (Sergey Krasilnikov) Date: Mon, 18 Jun 2012 14:05:04 +0400 Subject: [PySide] moving QGraphicsPixmapItem jumps to upper left corner of scene In-Reply-To: References: Message-ID: you try to overload QGraphicsPixmapItem.mouseReleaseEvent(self, e) but forget call origin method def mouseReleaseEvent(self,e): self.setSelected(False) QtGui.QGraphicsPixmapItem.mouseReleaseEvent(self, e) *# << add this line* 2012/6/16 Jason Augustyn : > I am writing an application that allows a user to place images on a > QGraphicsScene (contained within a QGraphicsView) by clicking on a > blank area and then move them about using mousemoveevent. The images > are created using a subclassed QGraphicsPixmapItem. > > Here's the problem: The very first attempt at moving an item works as > expected. However, for all subsequent moves the selected item > immediately jumps to the upper left corner of the scene. Here is the > code: > > import sys > from PySide import QtGui,QtCore > > class TestPixmapItem(QtGui.QGraphicsPixmapItem): > def __init__(self, imagename, position, parent=None): > QtGui.QGraphicsPixmapItem.__init__(self, parent) > > px = QtGui.QPixmap(imagename) > self.setPixmap(px) > > self.setFlag(QtGui.QGraphicsItem.ItemIsMovable, True) > self.setFlag(QtGui.QGraphicsItem.ItemIsSelectable, True) > > # set position > self.setPos(position.x(),position.y()) > > def mouseReleaseEvent(self,e): > self.setSelected(False) > > def mouseMoveEvent(self, e): > QtGui.QGraphicsPixmapItem.mouseMoveEvent(self, e) > > > class GfxScene(QtGui.QGraphicsScene): > def __init__(self, parent=None): > #build parent user interface > super(GfxScene, self).__init__(parent) > > def mousePressEvent(self, e): > if(self.itemAt(e.scenePos().x(),e.scenePos().y()) == None): > pixmapItem = TestPixmapItem('test.png',e.scenePos()) > self.addItem(pixmapItem) > else: > QtGui.QGraphicsScene.mousePressEvent(self,e); > > > class MainForm(QtGui.QMainWindow): > def __init__(self, parent=None): > super(MainForm, self).__init__(parent) > > scene = GfxScene(self) > scene.setSceneRect(QtCore.QRect(0, 0, 800, 800)) > > view = QtGui.QGraphicsView() > view.setScene(scene) > #view.setSceneRect(QtCore.QRect(0, 0, 800, 800)) > #view.setGeometry(QtCore.QRect(0, 0, 800, 800)) > self.setCentralWidget(view) > > > def main(): > #This function means this was run directly, not called from > another python file. > app = QtGui.QApplication.instance() > if app == None: > app = QtGui.QApplication(sys.argv) > myapp = MainForm() > myapp.show() > > sys.exit(app.exec_()) > > > if __name__ == '__main__': > main() > > > Any help would be appreciated! > > Thanks in advance! > _______________________________________________ > PySide mailing list > PySide at qt-project.org > http://lists.qt-project.org/mailman/listinfo/pyside -- Regards Sergey Krasilnikov -------------- next part -------------- An HTML attachment was scrubbed... URL: From frank at ohufx.com Mon Jun 18 22:40:40 2012 From: frank at ohufx.com (Frank Rueter | OHUfx) Date: Tue, 19 Jun 2012 08:40:40 +1200 Subject: [PySide] QPalette.BrightText not working under osx In-Reply-To: References: <4FDE7AD0.5090809@ohufx.com> Message-ID: <4FDF9248.4020008@ohufx.com> Hi Tibold, I was under the impression that QPalettes were a cleaner way of doing this. We actually did use a stylesheet before and ditched it in favor of palettes. Sounds like we may have to rethink that step if we want full control over the look of the app cross platform. Thanks, frank On 18/06/12 7:23 PM, Tibold Kandrai wrote: > Hi, > > Try to use stylesheets instead. They are simpler and not as confusing > as the QPalette. > Check this: http://pastebin.com/JhuX2WX8 > It works on my Mac. :) > > Cheers, > Tibold > > 2012/6/18 Frank Rueter | OHUfx > > > Hello wise PySide people, > > I am looking at a confusing discrepancy between windows and osx > when trying to simply change the main font colour of my app. > I am using the "plastique" style to start with, then changing all > sorts of values to custom tailor the look. > For some reason this line has no effect on osx and my text remains > black: > palette.setBrush(QPalette.Active, QPalette.BrightText, brush) > > Under windows it seems ok. > > Here is a simple snippet that shows the problem: > http://pastebin.com/rV9nDUSN > > Is this a bug or use error? Is there any way I can ship around > this to ensure my font is the colour I'm specifying in the palette? > I'm using PySide 1.0.9 > > > Cheers, > frank > > > > _______________________________________________ > PySide mailing list > PySide at qt-project.org > http://lists.qt-project.org/mailman/listinfo/pyside > > > > > -- > Kandrai Tibold -------------- next part -------------- An HTML attachment was scrubbed... URL: From frank at ohufx.com Tue Jun 19 01:33:20 2012 From: frank at ohufx.com (Frank Rueter | OHUfx) Date: Tue, 19 Jun 2012 11:33:20 +1200 Subject: [PySide] inherited values that contribute to widgets position Message-ID: <4FDFBAC0.8010300@ohufx.com> Hi everyone, I am trying to learn what inherited value may contribute to a widget's real screen position. In my example I have a widget that I am animating out of frame, so I need to determine exactly what it's static position is to be able to set that as the animation's start value. If I just use QWidget.pos().x() I am 5 pixels off. So currently I'm just adding 5 pixels manually, but would love to understand where those come from and how to calculate the widget's position properly and reliably. Any ideas anyone? Cheers, frank From vasure at gmail.com Tue Jun 19 06:09:39 2012 From: vasure at gmail.com (Srini Kommoori) Date: Mon, 18 Jun 2012 21:09:39 -0700 Subject: [PySide] inherited values that contribute to widgets position In-Reply-To: <4FDFBAC0.8010300@ohufx.com> References: <4FDFBAC0.8010300@ohufx.com> Message-ID: As you are asking about animation, I am assuming you are using QtGui.QGraphicsView. Working with QGraphicsView, I found following few key things related to size/coordinates. 1. By default QtGui.QGraphicsView aligns the scene to center. So all resizes are set wrt center. To change the anchoring back to top, use following. setAlignment(QtCore.Qt.AlignTop) 2. If you are trying to get resizable scene, you may want to use resizeEvent of QtGui.QGraphicsView and adjust your widgets/layouts. 3. Have a default screen size so that widget reference starting point is something you can always control. You could also do relative distances based on the screen size - but it is some more initialization that you need to take care of. Hope above is what you are looking for. thanks -Srini On Mon, Jun 18, 2012 at 4:33 PM, Frank Rueter | OHUfx wrote: > Hi everyone, > > I am trying to learn what inherited value may contribute to a widget's > real screen position. > > In my example I have a widget that I am animating out of frame, so I > need to determine exactly what it's static position is to be able to set > that as the animation's start value. If I just use QWidget.pos().x() I > am 5 pixels off. So currently I'm just adding 5 pixels manually, but > would love to understand where those come from and how to calculate the > widget's position properly and reliably. > > Any ideas anyone? > > Cheers, > frank > _______________________________________________ > PySide mailing list > PySide at qt-project.org > http://lists.qt-project.org/mailman/listinfo/pyside > -------------- next part -------------- An HTML attachment was scrubbed... URL: From frank at ohufx.com Tue Jun 19 06:14:03 2012 From: frank at ohufx.com (Frank Rueter | OHUfx) Date: Tue, 19 Jun 2012 16:14:03 +1200 Subject: [PySide] inherited values that contribute to widgets position In-Reply-To: References: <4FDFBAC0.8010300@ohufx.com> Message-ID: <4FDFFC8B.6010105@ohufx.com> Hi Srini, thanks for the details but I'm not using QGraphicsView. This is a custom Widget with a stacked layout, that slides the old widgets out of frame and the new ones in. I'm thinking something like this might be what I need to collect and add to the widgets' position to get their true positional values (so the animation won't stutter): self.style().pixelMetric( QStyle.PM_DefaultFrameWidth ) On 19/06/12 4:08 PM, Srini Kommoori wrote: > As you are asking about animation, I am assuming you are > using QtGui.QGraphicsView. > > Working with QGraphicsView, I found following few key things related > to size/coordinates. > > 1. By default QtGui.QGraphicsView aligns the scene to center. So all > resizes are set wrt center. To change the anchoring back to top, use > following. > > setAlignment(QtCore.Qt.AlignTop) > > 2. If you are trying to get resizable scene, you may want to > use resizeEvent of QtGui.QGraphicsView and adjust your widgets/layouts. > > 3. Have a default screen size so that widget reference starting point > is something you can always control. You could also do relative > distances based on the screen size - but it is some more > initialization that you need to take care of. > > Hope above is what you are looking for. > > thanks > -Srini > > On Mon, Jun 18, 2012 at 4:33 PM, Frank Rueter | OHUfx > wrote: > > Hi everyone, > > I am trying to learn what inherited value may contribute to a widget's > real screen position. > > In my example I have a widget that I am animating out of frame, so I > need to determine exactly what it's static position is to be able > to set > that as the animation's start value. If I just use QWidget.pos().x() I > am 5 pixels off. So currently I'm just adding 5 pixels manually, but > would love to understand where those come from and how to > calculate the > widget's position properly and reliably. > > Any ideas anyone? > > Cheers, > frank > _______________________________________________ > PySide mailing list > PySide at qt-project.org > http://lists.qt-project.org/mailman/listinfo/pyside > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From frank at ohufx.com Tue Jun 19 07:11:57 2012 From: frank at ohufx.com (Frank Rueter | OHUfx) Date: Tue, 19 Jun 2012 17:11:57 +1200 Subject: [PySide] rearranging widgets in a QGridLayout Message-ID: <4FE00A1D.2060106@ohufx.com> Hi everyone, I'm wondering what the best way is to re-arrange items in a QGridLayout after it has been drawn. I've got a list of buttons in a QGridLayout which are meant to be hidden or displayed according to some search filters. The brute force way I tried first was to destroy the buttons ans rebuild them from scratch, but that tends to lead to crashes and is slow. So I'm hoping to change this to just hide the buttons that are not part of the filter result and re-organse the QGridLayout so there are no wholes where the hidden buttons are. Any advice on how to best tackle this? Cheers, frank From vasure at gmail.com Tue Jun 19 07:30:48 2012 From: vasure at gmail.com (Srini Kommoori) Date: Mon, 18 Jun 2012 22:30:48 -0700 Subject: [PySide] inherited values that contribute to widgets position In-Reply-To: <4FDFFC8B.6010105@ohufx.com> References: <4FDFBAC0.8010300@ohufx.com> <4FDFFC8B.6010105@ohufx.com> Message-ID: Frank, Pls disregard the previous info then. I tried doing my own animation but gave up after playing around with QGraphicsView as it has in-built animation controls. While trying to do my own custom animation, QPainterPath.cubicTo was very useful in getting bezier curve implementation for smooth animations. If you are not using this, it might be useful ( http://goo.gl/0qlBG - PySide docs to QtGui.QPainterPath.cubicTo) All the best. thanks, -Srini On Mon, Jun 18, 2012 at 9:14 PM, Frank Rueter | OHUfx wrote: > Hi Srini, > > thanks for the details but I'm not using QGraphicsView. > This is a custom Widget with a stacked layout, that slides the old widgets > out of frame and the new ones in. > I'm thinking something like this might be what I need to collect and add > to the widgets' position to get their true positional values (so the > animation won't stutter): > self.style().pixelMetric( QStyle.PM_DefaultFrameWidth ) > > > > > > > On 19/06/12 4:08 PM, Srini Kommoori wrote: > > As you are asking about animation, I am assuming you are > using QtGui.QGraphicsView. > > Working with QGraphicsView, I found following few key things related to > size/coordinates. > > 1. By default QtGui.QGraphicsView aligns the scene to center. So all > resizes are set wrt center. To change the anchoring back to top, use > following. > > setAlignment(QtCore.Qt.AlignTop) > > 2. If you are trying to get resizable scene, you may want to > use resizeEvent of QtGui.QGraphicsView and adjust your widgets/layouts. > > 3. Have a default screen size so that widget reference starting point is > something you can always control. You could also do relative distances > based on the screen size - but it is some more initialization that you need > to take care of. > > Hope above is what you are looking for. > > thanks > -Srini > > On Mon, Jun 18, 2012 at 4:33 PM, Frank Rueter | OHUfx wrote: > >> Hi everyone, >> >> I am trying to learn what inherited value may contribute to a widget's >> real screen position. >> >> In my example I have a widget that I am animating out of frame, so I >> need to determine exactly what it's static position is to be able to set >> that as the animation's start value. If I just use QWidget.pos().x() I >> am 5 pixels off. So currently I'm just adding 5 pixels manually, but >> would love to understand where those come from and how to calculate the >> widget's position properly and reliably. >> >> Any ideas anyone? >> >> Cheers, >> frank >> _______________________________________________ >> PySide mailing list >> PySide at qt-project.org >> http://lists.qt-project.org/mailman/listinfo/pyside >> > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From frank at ohufx.com Tue Jun 19 07:38:50 2012 From: frank at ohufx.com (Frank Rueter | OHUfx) Date: Tue, 19 Jun 2012 17:38:50 +1200 Subject: [PySide] inherited values that contribute to widgets position In-Reply-To: References: <4FDFBAC0.8010300@ohufx.com> <4FDFFC8B.6010105@ohufx.com> Message-ID: <4FE0106A.5060401@ohufx.com> Thanks Srini. I don't think the animation is the actual problem here but rather getting the actual widget's position. the animation just makes it obvious that widget.pos() is hot the true position of the widget, as it seems to get offset by parents' frame widths and other stuff (at least that's what it looks like). So in other words, I'm just after a 100% reliable way to get a widget's position on screen no matter what layout/parent widget it is part of. Sorry for not posting an example snippet, will try to extract a light weight bit a bit later if required. Cheers, frank On 19/06/12 5:30 PM, Srini Kommoori wrote: > Frank, Pls disregard the previous info then. > > I tried doing my own animation but gave up after playing around with > QGraphicsView as it has in-built animation controls. > > While trying to do my own custom animation, QPainterPath.cubicTo was > very useful in getting bezier curve implementation for smooth > animations. If you are not using this, it might be useful ( > http://goo.gl/0qlBG - PySide docs to QtGui.QPainterPath.cubicTo) > > All the best. > > thanks, > -Srini > > On Mon, Jun 18, 2012 at 9:14 PM, Frank Rueter | OHUfx > wrote: > > Hi Srini, > > thanks for the details but I'm not using QGraphicsView. > This is a custom Widget with a stacked layout, that slides the old > widgets out of frame and the new ones in. > I'm thinking something like this might be what I need to collect > and add to the widgets' position to get their true positional > values (so the animation won't stutter): > self.style().pixelMetric( QStyle.PM_DefaultFrameWidth ) > > > > > > > On 19/06/12 4:08 PM, Srini Kommoori wrote: >> As you are asking about animation, I am assuming you are >> using QtGui.QGraphicsView. >> >> Working with QGraphicsView, I found following few key things >> related to size/coordinates. >> >> 1. By default QtGui.QGraphicsView aligns the scene to center. So >> all resizes are set wrt center. To change the anchoring back to >> top, use following. >> >> setAlignment(QtCore.Qt.AlignTop) >> >> 2. If you are trying to get resizable scene, you may want to >> use resizeEvent of QtGui.QGraphicsView and adjust your >> widgets/layouts. >> >> 3. Have a default screen size so that widget reference starting >> point is something you can always control. You could also do >> relative distances based on the screen size - but it is some more >> initialization that you need to take care of. >> >> Hope above is what you are looking for. >> >> thanks >> -Srini >> >> On Mon, Jun 18, 2012 at 4:33 PM, Frank Rueter | OHUfx >> > wrote: >> >> Hi everyone, >> >> I am trying to learn what inherited value may contribute to a >> widget's >> real screen position. >> >> In my example I have a widget that I am animating out of >> frame, so I >> need to determine exactly what it's static position is to be >> able to set >> that as the animation's start value. If I just use >> QWidget.pos().x() I >> am 5 pixels off. So currently I'm just adding 5 pixels >> manually, but >> would love to understand where those come from and how to >> calculate the >> widget's position properly and reliably. >> >> Any ideas anyone? >> >> Cheers, >> frank >> _______________________________________________ >> PySide mailing list >> PySide at qt-project.org >> http://lists.qt-project.org/mailman/listinfo/pyside >> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From js.augustyn at gmail.com Thu Jun 21 23:56:09 2012 From: js.augustyn at gmail.com (Jason Augustyn) Date: Thu, 21 Jun 2012 17:56:09 -0400 Subject: [PySide] Rotation handles for QGraphicsPixmapItem Message-ID: Hello, I am writing an application that will allow users to select images placed on a QGraphicsScene (using a custom QGraphicsPixmapItem). Upon selection I would like a rotation handle to appear on the image that the user can "grab" with the mouse and rotate, thus rotating the QGraphicsPixmapItem. Basically, I am looking for the rotation handle feature you get in PowerPoint upon selecting a shape. This seems like a really basic feature that many people would have implemented, but I cannot find any good examples on the web. Can anyone point me in the right direction? Thanks! From th.perl at gmail.com Fri Jun 22 09:45:10 2012 From: th.perl at gmail.com (Thomas Perl) Date: Fri, 22 Jun 2012 09:45:10 +0200 Subject: [PySide] Rotation handles for QGraphicsPixmapItem In-Reply-To: References: Message-ID: Hi, 2012/6/21 Jason Augustyn : > Hello, I am writing an application that will allow users to select > images placed on a QGraphicsScene (using a custom > QGraphicsPixmapItem). Upon selection I would like a rotation handle to > appear on the image that the user can "grab" with the mouse and > rotate, thus rotating the QGraphicsPixmapItem. Basically, I am looking > for the rotation handle feature you get in PowerPoint upon selecting a > shape. This seems like a really basic feature that many people would > have implemented, but I cannot find any good examples on the web. Can > anyone point me in the right direction? Implement the mousePressEvent, mouseMoveEvent and mouseReleaseEvent on your subclass of the QGraphicsItem. You might also need grabMouse() and ungrabMouse() (not sure about that - I *think* it should work without that). Once you have done that, on mouse press, calculate the current mouse position from the center, and calculate the angle. Then, on mouseMoveEvent, calculate the angle again (with the new mouse coordinates). The difference of the angles will be the amount that you need to use in setRotation() of the graphics item. Obviously, the center that you calculate should be the same as the transformOriginPoint (transformOriginPoint() and setTransformOriginPoint()), otherwise it won't work correctly. HTH :) Thomas From serpulga at gmail.com Fri Jun 22 18:19:47 2012 From: serpulga at gmail.com (=?ISO-8859-1?Q?Sergio_Pulgar=EDn?=) Date: Fri, 22 Jun 2012 11:19:47 -0500 Subject: [PySide] Problem compiling PySide/Shiboken In-Reply-To: References: Message-ID: > > Hi everyone, > > I've been using Python for about three months, so > I'm still a beginner, > > *Background:* > Anyways, I came across the need to extend Python with > a couple of C .o objects that are 32 bit only. > I successfully created a shared object that can be imported > within a 32bit Python interpreter, otherwise I get a 'wrong ELFCLASS32' > error. > > *Problem:* > I'm using a *64bit Ubuntu 12.04* machine and I successfully compiled a > 32bit Python 2.7 interpreter; > I want to create an application that uses my 32bit Python-C module and > also PySide, so I figured I need to compile PySide for 32bit on my 64bit > machine, > the same way I compiled the 32bit Python interpreter. > > This is the command I'm using, to compile/install the sources in * > PySide-1.1.1.tar.gz* > * > * > >>sudo python32 setup.py install --qmake /usr/bin/qmake-qt4 > > This is the output I get: > > > **************************************************************************************************************************** > > **************************************************************************************************************************** > Removing /home/sergio/Downloads/PySide-1.1.1/PySide > Removing /home/sergio/Downloads/PySide-1.1.1/pysideuic > running install > running build > ============================== > Build type: Release > Package version: 1.1.1 > --- > Script directory: /home/sergio/Downloads/PySide-1.1.1 > Sources directory: /home/sergio/Downloads/PySide-1.1.1/sources > Build directory: > /home/sergio/Downloads/PySide-1.1.1/pyside_build/py2.7-qt4.8.1-32bit-release > Install directory: > /home/sergio/Downloads/PySide-1.1.1/pyside_install/py2.7-qt4.8.1-32bit-release > --- > Python executable: /usr/local/bin/python32 > Python includes: /opt/pym32/include/python2.7 > Python library: /opt/pym32/lib/libpython2.7.so > --- > Qt qmake: /usr/bin/qmake-qt4 > Qt bins: /usr/bin > Qt plugins: /usr/lib/i386-linux-gnu/qt4/plugins > --- > OpenSSL libs: None > ============================== > Building module shiboken... > Deleting module build folder > /home/sergio/Downloads/PySide-1.1.1/pyside_build/py2.7-qt4.8.1-32bit-release/shiboken... > Creating module build folder > /home/sergio/Downloads/PySide-1.1.1/pyside_build/py2.7-qt4.8.1-32bit-release/shiboken... > Configuring module shiboken > (/home/sergio/Downloads/PySide-1.1.1/sources/shiboken)... > -- The C compiler identification is GNU > -- The CXX compiler identification is GNU > -- Check for working C compiler: /usr/bin/gcc > -- Check for working C compiler: /usr/bin/gcc -- works > -- Detecting C compiler ABI info > -- Detecting C compiler ABI info - done > -- Check for working CXX compiler: /usr/bin/c++ > -- Check for working CXX compiler: /usr/bin/c++ -- works > -- Detecting CXX compiler ABI info > -- Detecting CXX compiler ABI info - done > -- Looking for Q_WS_X11 > -- Looking for Q_WS_X11 - found > -- Looking for Q_WS_WIN > -- Looking for Q_WS_WIN - not found. > -- Looking for Q_WS_QWS > -- Looking for Q_WS_QWS - not found. > -- Looking for Q_WS_MAC > -- Looking for Q_WS_MAC - not found. > -- Found Qt4: /usr/bin/qmake-qt4 (found suitable version "4.8.1", required > is "4.5.0") > -- Found PythonLibs: /usr/lib/libpython2.7.so (Required is at least > version "2.6") > -- Could NOT find LibXml2 (missing: LIBXML2_LIBRARIES) (Required is at > least version "2.6.32") > -- Could NOT find LibXslt (missing: LIBXSLT_LIBRARIES) (Required is at > least version "1.1.19") > -- sphinx-build - not found! doc target disabled > -- Configuring done > -- Generating done > -- Build files have been written to: > /home/sergio/Downloads/PySide-1.1.1/pyside_build/py2.7-qt4.8.1-32bit-release/shiboken > Compiling module shiboken... > [ 1%] Generating qrc_generator.cxx > Scanning dependencies of target apiextractor > [ 3%] > Building CXX object > ApiExtractor/CMakeFiles/apiextractor.dir/apiextractor.cpp.o > [ 5%] Building CXX object > ApiExtractor/CMakeFiles/apiextractor.dir/abstractmetabuilder.cpp.o > [ 7%] Building CXX object > ApiExtractor/CMakeFiles/apiextractor.dir/abstractmetalang.cpp.o > /usr/include/qt4/QtCore/qatomic_i386.h: Assembler messages: > /usr/include/qt4/QtCore/qatomic_i386.h:177: Error: incorrect register > `%rbx' used with `l' suffix > make[2]: *** > [ApiExtractor/CMakeFiles/apiextractor.dir/abstractmetalang.cpp.o] Error 1 > make[1]: *** [ApiExtractor/CMakeFiles/apiextractor.dir/all] Error 2 > make: *** [all] Error 2 > error: Error compiling shiboken > > > **************************************************************************************************************************** > > **************************************************************************************************************************** > > > I wonder I anyone had tumbled across this errror? > > Any help with this would be much appreciated. > > > Thanks, > > Sergio > -------------- next part -------------- An HTML attachment was scrubbed... URL: From diego at gaustein.com.ar Fri Jun 22 21:24:25 2012 From: diego at gaustein.com.ar (Diego Gaustein) Date: Fri, 22 Jun 2012 16:24:25 -0300 Subject: [PySide] Unit testing modal dialogs Message-ID: Hello, I'm trying to write unit tests for an application I developed. Using Python's unittest module and QTest helpers for simulating mouse and keyboard events works fine for simple widgets, but I'm having trouble testing the whole application, in particular modal dialogs, since they block the flow of execution until closed. Using QTimers for simple dialogs works fine, but the code becomes increasingly ugly for complex and nested dialogs. How can I test my application in a straightforward and reliable manner? Also, when using QMessageBox's static methods I find no way of getting a reference to the newly created dialog. Is there a way around this? Many thanks, Diego -------------- next part -------------- An HTML attachment was scrubbed... URL: From dthomas at willowgarage.com Sat Jun 23 02:41:23 2012 From: dthomas at willowgarage.com (Dirk Thomas) Date: Fri, 22 Jun 2012 19:41:23 -0500 Subject: [PySide] Regression with QGenericReturnArgument Message-ID: <4FE510B3.8030001@willowgarage.com> Since 1.1.0 Shiboken can no longer compile headers containing QGenericReturnArgument parameters. It was working with 1.0.6 (other versions in between not checked). This issue has been reported at https://bugreports.qt-project.org/browse/PYSIDE-76 with a mini-example to reproduce the problem. How high are the chances that this regression will get fixed for the near future / next release? - Dirk From backup.rlacko at gmail.com Sat Jun 23 10:00:49 2012 From: backup.rlacko at gmail.com (Roman Lacko) Date: Sat, 23 Jun 2012 10:00:49 +0200 Subject: [PySide] Problem compiling PySide/Shiboken In-Reply-To: References: Message-ID: Hi Sergio, You have compiled Python 2.7 interpreter, but the setup.py is running under Python32 interpreter: >>sudo python32 setup.py install --qmake /usr/bin/qmake-qt4 You should run setup.py with compiled Python 27 32bit. Also i would use virtualenv, instead of installing custom packages directly to system paths. Regards -Roman 2012/6/22 Sergio Pulgarín : > >> >> Hi everyone, >> >> I've been using Python for about three months, so >> I'm still a beginner, >> >> Background: >> Anyways, I came across the need to extend Python with >> a couple of C .o objects that are 32 bit only. >> I successfully created a shared object that can be imported >> within a 32bit Python interpreter, otherwise I get a 'wrong ELFCLASS32' >> error. >> >> Problem: >> I'm using a 64bit Ubuntu 12.04 machine and I successfully compiled a 32bit >> Python 2.7 interpreter; >> I want to create an application that uses my 32bit Python-C module and >> also PySide, so I figured I need to compile PySide for 32bit on my 64bit >> machine, >> the same way I compiled the 32bit Python interpreter. >> >> This is the command I'm using, to compile/install the sources >> in PySide-1.1.1.tar.gz >> >> >>sudo python32 setup.py install --qmake /usr/bin/qmake-qt4 >> >> This is the output I get: >> >> >> **************************************************************************************************************************** >> >> **************************************************************************************************************************** >> Removing /home/sergio/Downloads/PySide-1.1.1/PySide >> Removing /home/sergio/Downloads/PySide-1.1.1/pysideuic >> running install >> running build >> ============================== >> Build type: Release >> Package version: 1.1.1 >> --- >> Script directory: /home/sergio/Downloads/PySide-1.1.1 >> Sources directory: /home/sergio/Downloads/PySide-1.1.1/sources >> Build directory: >> /home/sergio/Downloads/PySide-1.1.1/pyside_build/py2.7-qt4.8.1-32bit-release >> Install directory: >> /home/sergio/Downloads/PySide-1.1.1/pyside_install/py2.7-qt4.8.1-32bit-release >> --- >> Python executable: /usr/local/bin/python32 >> Python includes: /opt/pym32/include/python2.7 >> Python library: /opt/pym32/lib/libpython2.7.so >> --- >> Qt qmake: /usr/bin/qmake-qt4 >> Qt bins: /usr/bin >> Qt plugins: /usr/lib/i386-linux-gnu/qt4/plugins >> --- >> OpenSSL libs: None >> ============================== >> Building module shiboken... >> Deleting module build folder >> /home/sergio/Downloads/PySide-1.1.1/pyside_build/py2.7-qt4.8.1-32bit-release/shiboken... >> Creating module build folder >> /home/sergio/Downloads/PySide-1.1.1/pyside_build/py2.7-qt4.8.1-32bit-release/shiboken... >> Configuring module shiboken >> (/home/sergio/Downloads/PySide-1.1.1/sources/shiboken)... >> -- The C compiler identification is GNU >> -- The CXX compiler identification is GNU >> -- Check for working C compiler: /usr/bin/gcc >> -- Check for working C compiler: /usr/bin/gcc -- works >> -- Detecting C compiler ABI info >> -- Detecting C compiler ABI info - done >> -- Check for working CXX compiler: /usr/bin/c++ >> -- Check for working CXX compiler: /usr/bin/c++ -- works >> -- Detecting CXX compiler ABI info >> -- Detecting CXX compiler ABI info - done >> -- Looking for Q_WS_X11 >> -- Looking for Q_WS_X11 - found >> -- Looking for Q_WS_WIN >> -- Looking for Q_WS_WIN - not found. >> -- Looking for Q_WS_QWS >> -- Looking for Q_WS_QWS - not found. >> -- Looking for Q_WS_MAC >> -- Looking for Q_WS_MAC - not found. >> -- Found Qt4: /usr/bin/qmake-qt4 (found suitable version "4.8.1", required >> is "4.5.0") >> -- Found PythonLibs: /usr/lib/libpython2.7.so (Required is at least >> version "2.6") >> -- Could NOT find LibXml2 (missing:  LIBXML2_LIBRARIES) (Required is at >> least version "2.6.32") >> -- Could NOT find LibXslt (missing:  LIBXSLT_LIBRARIES) (Required is at >> least version "1.1.19") >> -- sphinx-build - not found! doc target disabled >> -- Configuring done >> -- Generating done >> -- Build files have been written to: >> /home/sergio/Downloads/PySide-1.1.1/pyside_build/py2.7-qt4.8.1-32bit-release/shiboken >> Compiling module shiboken... >> [  1%] Generating qrc_generator.cxx >> Scanning dependencies of target apiextractor >> [  3%] >> Building CXX object >> ApiExtractor/CMakeFiles/apiextractor.dir/apiextractor.cpp.o >> [  5%] Building CXX object >> ApiExtractor/CMakeFiles/apiextractor.dir/abstractmetabuilder.cpp.o >> [  7%] Building CXX object >> ApiExtractor/CMakeFiles/apiextractor.dir/abstractmetalang.cpp.o >> /usr/include/qt4/QtCore/qatomic_i386.h: Assembler messages: >> /usr/include/qt4/QtCore/qatomic_i386.h:177: Error: incorrect register >> `%rbx' used with `l' suffix >> make[2]: *** >> [ApiExtractor/CMakeFiles/apiextractor.dir/abstractmetalang.cpp.o] Error 1 >> make[1]: *** [ApiExtractor/CMakeFiles/apiextractor.dir/all] Error 2 >> make: *** [all] Error 2 >> error: Error compiling shiboken >> >> >> **************************************************************************************************************************** >> >> **************************************************************************************************************************** >> >> >> I wonder I anyone had tumbled across this errror? >> >> Any help with this would be much appreciated. >> >> >> Thanks, >> >> Sergio > > > > _______________________________________________ > PySide mailing list > PySide at qt-project.org > http://lists.qt-project.org/mailman/listinfo/pyside > From backup.rlacko at gmail.com Sat Jun 23 10:06:30 2012 From: backup.rlacko at gmail.com (Roman Lacko) Date: Sat, 23 Jun 2012 10:06:30 +0200 Subject: [PySide] Problem compiling PySide/Shiboken In-Reply-To: References: Message-ID: Oh, just ignore my post, I see You are using Python 2.7: >>> /home/sergio/Downloads/PySide-1.1.1/pyside_build/py2.7-qt4.8.1-32bit-release I will try to compile 32bit PySide under 64bit ubuntu system when I have some free time... Regards R. 2012/6/23 Roman Lacko : > Hi Sergio, > > You have compiled Python 2.7 interpreter, but the setup.py is running > under Python32 interpreter: >>>sudo python32 setup.py install --qmake /usr/bin/qmake-qt4 > > You should run setup.py with compiled Python 27 32bit. > > Also i would use virtualenv, instead of installing custom packages > directly to system paths. > > Regards > -Roman > > 2012/6/22 Sergio Pulgarín : >> >>> >>> Hi everyone, >>> >>> I've been using Python for about three months, so >>> I'm still a beginner, >>> >>> Background: >>> Anyways, I came across the need to extend Python with >>> a couple of C .o objects that are 32 bit only. >>> I successfully created a shared object that can be imported >>> within a 32bit Python interpreter, otherwise I get a 'wrong ELFCLASS32' >>> error. >>> >>> Problem: >>> I'm using a 64bit Ubuntu 12.04 machine and I successfully compiled a 32bit >>> Python 2.7 interpreter; >>> I want to create an application that uses my 32bit Python-C module and >>> also PySide, so I figured I need to compile PySide for 32bit on my 64bit >>> machine, >>> the same way I compiled the 32bit Python interpreter. >>> >>> This is the command I'm using, to compile/install the sources >>> in PySide-1.1.1.tar.gz >>> >>> >>sudo python32 setup.py install --qmake /usr/bin/qmake-qt4 >>> >>> This is the output I get: >>> >>> >>> **************************************************************************************************************************** >>> >>> **************************************************************************************************************************** >>> Removing /home/sergio/Downloads/PySide-1.1.1/PySide >>> Removing /home/sergio/Downloads/PySide-1.1.1/pysideuic >>> running install >>> running build >>> ============================== >>> Build type: Release >>> Package version: 1.1.1 >>> --- >>> Script directory: /home/sergio/Downloads/PySide-1.1.1 >>> Sources directory: /home/sergio/Downloads/PySide-1.1.1/sources >>> Build directory: >>> /home/sergio/Downloads/PySide-1.1.1/pyside_build/py2.7-qt4.8.1-32bit-release >>> Install directory: >>> /home/sergio/Downloads/PySide-1.1.1/pyside_install/py2.7-qt4.8.1-32bit-release >>> --- >>> Python executable: /usr/local/bin/python32 >>> Python includes: /opt/pym32/include/python2.7 >>> Python library: /opt/pym32/lib/libpython2.7.so >>> --- >>> Qt qmake: /usr/bin/qmake-qt4 >>> Qt bins: /usr/bin >>> Qt plugins: /usr/lib/i386-linux-gnu/qt4/plugins >>> --- >>> OpenSSL libs: None >>> ============================== >>> Building module shiboken... >>> Deleting module build folder >>> /home/sergio/Downloads/PySide-1.1.1/pyside_build/py2.7-qt4.8.1-32bit-release/shiboken... >>> Creating module build folder >>> /home/sergio/Downloads/PySide-1.1.1/pyside_build/py2.7-qt4.8.1-32bit-release/shiboken... >>> Configuring module shiboken >>> (/home/sergio/Downloads/PySide-1.1.1/sources/shiboken)... >>> -- The C compiler identification is GNU >>> -- The CXX compiler identification is GNU >>> -- Check for working C compiler: /usr/bin/gcc >>> -- Check for working C compiler: /usr/bin/gcc -- works >>> -- Detecting C compiler ABI info >>> -- Detecting C compiler ABI info - done >>> -- Check for working CXX compiler: /usr/bin/c++ >>> -- Check for working CXX compiler: /usr/bin/c++ -- works >>> -- Detecting CXX compiler ABI info >>> -- Detecting CXX compiler ABI info - done >>> -- Looking for Q_WS_X11 >>> -- Looking for Q_WS_X11 - found >>> -- Looking for Q_WS_WIN >>> -- Looking for Q_WS_WIN - not found. >>> -- Looking for Q_WS_QWS >>> -- Looking for Q_WS_QWS - not found. >>> -- Looking for Q_WS_MAC >>> -- Looking for Q_WS_MAC - not found. >>> -- Found Qt4: /usr/bin/qmake-qt4 (found suitable version "4.8.1", required >>> is "4.5.0") >>> -- Found PythonLibs: /usr/lib/libpython2.7.so (Required is at least >>> version "2.6") >>> -- Could NOT find LibXml2 (missing:  LIBXML2_LIBRARIES) (Required is at >>> least version "2.6.32") >>> -- Could NOT find LibXslt (missing:  LIBXSLT_LIBRARIES) (Required is at >>> least version "1.1.19") >>> -- sphinx-build - not found! doc target disabled >>> -- Configuring done >>> -- Generating done >>> -- Build files have been written to: >>> /home/sergio/Downloads/PySide-1.1.1/pyside_build/py2.7-qt4.8.1-32bit-release/shiboken >>> Compiling module shiboken... >>> [  1%] Generating qrc_generator.cxx >>> Scanning dependencies of target apiextractor >>> [  3%] >>> Building CXX object >>> ApiExtractor/CMakeFiles/apiextractor.dir/apiextractor.cpp.o >>> [  5%] Building CXX object >>> ApiExtractor/CMakeFiles/apiextractor.dir/abstractmetabuilder.cpp.o >>> [  7%] Building CXX object >>> ApiExtractor/CMakeFiles/apiextractor.dir/abstractmetalang.cpp.o >>> /usr/include/qt4/QtCore/qatomic_i386.h: Assembler messages: >>> /usr/include/qt4/QtCore/qatomic_i386.h:177: Error: incorrect register >>> `%rbx' used with `l' suffix >>> make[2]: *** >>> [ApiExtractor/CMakeFiles/apiextractor.dir/abstractmetalang.cpp.o] Error 1 >>> make[1]: *** [ApiExtractor/CMakeFiles/apiextractor.dir/all] Error 2 >>> make: *** [all] Error 2 >>> error: Error compiling shiboken >>> >>> >>> **************************************************************************************************************************** >>> >>> **************************************************************************************************************************** >>> >>> >>> I wonder I anyone had tumbled across this errror? >>> >>> Any help with this would be much appreciated. >>> >>> >>> Thanks, >>> >>> Sergio >> >> >> >> _______________________________________________ >> PySide mailing list >> PySide at qt-project.org >> http://lists.qt-project.org/mailman/listinfo/pyside >> From serpulga at gmail.com Sat Jun 23 14:09:37 2012 From: serpulga at gmail.com (=?ISO-8859-1?Q?Sergio_Pulgar=EDn?=) Date: Sat, 23 Jun 2012 07:09:37 -0500 Subject: [PySide] Problem compiling PySide/Shiboken In-Reply-To: References: Message-ID: Hi, Thank you for your answer. The python32 is just a link I made to */opt/pym32/bin/python/* which is where my 32bit interpreter lives. Last night I actually finished compiling! I could write a how-to if anyone is interested. On 23 June 2012 03:06, Roman Lacko wrote: > Oh, just ignore my post, I see You are using Python 2.7: > >>> > /home/sergio/Downloads/PySide-1.1.1/pyside_build/py2.7-qt4.8.1-32bit-release > > I will try to compile 32bit PySide under 64bit ubuntu system when I > have some free time... > > Regards > R. > > > 2012/6/23 Roman Lacko : > > Hi Sergio, > > > > You have compiled Python 2.7 interpreter, but the setup.py is running > > under Python32 interpreter: > >>>sudo python32 setup.py install --qmake /usr/bin/qmake-qt4 > > > > You should run setup.py with compiled Python 27 32bit. > > > > Also i would use virtualenv, instead of installing custom packages > > directly to system paths. > > > > Regards > > -Roman > > > > 2012/6/22 Sergio Pulgarín : > >> > >>> > >>> Hi everyone, > >>> > >>> I've been using Python for about three months, so > >>> I'm still a beginner, > >>> > >>> Background: > >>> Anyways, I came across the need to extend Python with > >>> a couple of C .o objects that are 32 bit only. > >>> I successfully created a shared object that can be imported > >>> within a 32bit Python interpreter, otherwise I get a 'wrong ELFCLASS32' > >>> error. > >>> > >>> Problem: > >>> I'm using a 64bit Ubuntu 12.04 machine and I successfully compiled a > 32bit > >>> Python 2.7 interpreter; > >>> I want to create an application that uses my 32bit Python-C module and > >>> also PySide, so I figured I need to compile PySide for 32bit on my > 64bit > >>> machine, > >>> the same way I compiled the 32bit Python interpreter. > >>> > >>> This is the command I'm using, to compile/install the sources > >>> in PySide-1.1.1.tar.gz > >>> > >>> >>sudo python32 setup.py install --qmake /usr/bin/qmake-qt4 > >>> > >>> This is the output I get: > >>> > >>> > >>> > **************************************************************************************************************************** > >>> > >>> > **************************************************************************************************************************** > >>> Removing /home/sergio/Downloads/PySide-1.1.1/PySide > >>> Removing /home/sergio/Downloads/PySide-1.1.1/pysideuic > >>> running install > >>> running build > >>> ============================== > >>> Build type: Release > >>> Package version: 1.1.1 > >>> --- > >>> Script directory: /home/sergio/Downloads/PySide-1.1.1 > >>> Sources directory: /home/sergio/Downloads/PySide-1.1.1/sources > >>> Build directory: > >>> > /home/sergio/Downloads/PySide-1.1.1/pyside_build/py2.7-qt4.8.1-32bit-release > >>> Install directory: > >>> > /home/sergio/Downloads/PySide-1.1.1/pyside_install/py2.7-qt4.8.1-32bit-release > >>> --- > >>> Python executable: /usr/local/bin/python32 > >>> Python includes: /opt/pym32/include/python2.7 > >>> Python library: /opt/pym32/lib/libpython2.7.so > >>> --- > >>> Qt qmake: /usr/bin/qmake-qt4 > >>> Qt bins: /usr/bin > >>> Qt plugins: /usr/lib/i386-linux-gnu/qt4/plugins > >>> --- > >>> OpenSSL libs: None > >>> ============================== > >>> Building module shiboken... > >>> Deleting module build folder > >>> > /home/sergio/Downloads/PySide-1.1.1/pyside_build/py2.7-qt4.8.1-32bit-release/shiboken... > >>> Creating module build folder > >>> > /home/sergio/Downloads/PySide-1.1.1/pyside_build/py2.7-qt4.8.1-32bit-release/shiboken... > >>> Configuring module shiboken > >>> (/home/sergio/Downloads/PySide-1.1.1/sources/shiboken)... > >>> -- The C compiler identification is GNU > >>> -- The CXX compiler identification is GNU > >>> -- Check for working C compiler: /usr/bin/gcc > >>> -- Check for working C compiler: /usr/bin/gcc -- works > >>> -- Detecting C compiler ABI info > >>> -- Detecting C compiler ABI info - done > >>> -- Check for working CXX compiler: /usr/bin/c++ > >>> -- Check for working CXX compiler: /usr/bin/c++ -- works > >>> -- Detecting CXX compiler ABI info > >>> -- Detecting CXX compiler ABI info - done > >>> -- Looking for Q_WS_X11 > >>> -- Looking for Q_WS_X11 - found > >>> -- Looking for Q_WS_WIN > >>> -- Looking for Q_WS_WIN - not found. > >>> -- Looking for Q_WS_QWS > >>> -- Looking for Q_WS_QWS - not found. > >>> -- Looking for Q_WS_MAC > >>> -- Looking for Q_WS_MAC - not found. > >>> -- Found Qt4: /usr/bin/qmake-qt4 (found suitable version "4.8.1", > required > >>> is "4.5.0") > >>> -- Found PythonLibs: /usr/lib/libpython2.7.so (Required is at least > >>> version "2.6") > >>> -- Could NOT find LibXml2 (missing: LIBXML2_LIBRARIES) (Required is at > >>> least version "2.6.32") > >>> -- Could NOT find LibXslt (missing: LIBXSLT_LIBRARIES) (Required is at > >>> least version "1.1.19") > >>> -- sphinx-build - not found! doc target disabled > >>> -- Configuring done > >>> -- Generating done > >>> -- Build files have been written to: > >>> > /home/sergio/Downloads/PySide-1.1.1/pyside_build/py2.7-qt4.8.1-32bit-release/shiboken > >>> Compiling module shiboken... > >>> [ 1%] Generating qrc_generator.cxx > >>> Scanning dependencies of target apiextractor > >>> [ 3%] > >>> Building CXX object > >>> ApiExtractor/CMakeFiles/apiextractor.dir/apiextractor.cpp.o > >>> [ 5%] Building CXX object > >>> ApiExtractor/CMakeFiles/apiextractor.dir/abstractmetabuilder.cpp.o > >>> [ 7%] Building CXX object > >>> ApiExtractor/CMakeFiles/apiextractor.dir/abstractmetalang.cpp.o > >>> /usr/include/qt4/QtCore/qatomic_i386.h: Assembler messages: > >>> /usr/include/qt4/QtCore/qatomic_i386.h:177: Error: incorrect register > >>> `%rbx' used with `l' suffix > >>> make[2]: *** > >>> [ApiExtractor/CMakeFiles/apiextractor.dir/abstractmetalang.cpp.o] > Error 1 > >>> make[1]: *** [ApiExtractor/CMakeFiles/apiextractor.dir/all] Error 2 > >>> make: *** [all] Error 2 > >>> error: Error compiling shiboken > >>> > >>> > >>> > **************************************************************************************************************************** > >>> > >>> > **************************************************************************************************************************** > >>> > >>> > >>> I wonder I anyone had tumbled across this errror? > >>> > >>> Any help with this would be much appreciated. > >>> > >>> > >>> Thanks, > >>> > >>> Sergio > >> > >> > >> > >> _______________________________________________ > >> PySide mailing list > >> PySide at qt-project.org > >> http://lists.qt-project.org/mailman/listinfo/pyside > >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From a.richi at bluewin.ch Sat Jun 23 20:14:20 2012 From: a.richi at bluewin.ch (Aaron Richiger) Date: Sat, 23 Jun 2012 20:14:20 +0200 Subject: [PySide] Unit testing modal dialogs In-Reply-To: References: Message-ID: <4FE6077C.9090802@bluewin.ch> Hello Diego I ran into the same issues some time ago and couldn't solve it... But now, I tried again and found a way to get references of the objects you mentioned. Please check the following example to see how it works: http://pastebin.com/pL7uEXYG It shows both, modal dialogs and message boxes. For testing, it's always the same approach I guess: - Start a QTimer.singleShot() before triggering the message box or dialog, give it enough time to start the dialog and a callable where you grab the active widget - Then trigger the message box or dialog - The callable is executed automatically a few milliseconds later. Grab the active dialog and perform some actions or assert some properties on it as usual in tests... I think, there is not too much overhead like this, it's just always one line (...singleShot...) before performing the action that executes the dialog. I hope, it helps! Have a nice evening! Aaron Am 22.06.2012 21:24, schrieb Diego Gaustein: > Hello, I'm trying to write unit tests for an application I developed. > Using Python's unittest module and QTest helpers for simulating mouse > and keyboard events works fine for simple widgets, but I'm having > trouble testing the whole application, in particular modal dialogs, > since they block the flow of execution until closed. > Using QTimers for simple dialogs works fine, but the code becomes > increasingly ugly for complex and nested dialogs. > How can I test my application in a straightforward and reliable manner? > Also, when using QMessageBox's static methods I find no way of getting > a reference to the newly created dialog. Is there a way around this? > > Many thanks, > Diego > > > _______________________________________________ > PySide mailing list > PySide at qt-project.org > http://lists.qt-project.org/mailman/listinfo/pyside -------------- next part -------------- An HTML attachment was scrubbed... URL: From backup.rlacko at gmail.com Sat Jun 23 23:40:59 2012 From: backup.rlacko at gmail.com (Roman Lacko) Date: Sat, 23 Jun 2012 23:40:59 +0200 Subject: [PySide] Problem compiling PySide/Shiboken In-Reply-To: References: Message-ID: Hi, 2012/6/23 Sergio Pulgarín : > Hi, > Thank you for your answer. > The python32 is just a link I made to > /opt/pym32/bin/python/ which is where my > 32bit interpreter lives. > > Last night I actually finished compiling! > I could write a how-to if anyone is interested. Yes please, I'm interested! Regards Roman > > > > > On 23 June 2012 03:06, Roman Lacko wrote: >> >> Oh, just ignore my post, I see You are using Python 2.7: >> >>> >> >>> /home/sergio/Downloads/PySide-1.1.1/pyside_build/py2.7-qt4.8.1-32bit-release >> >> I will try to compile 32bit PySide under 64bit ubuntu system when I >> have some free time... >> >> Regards >> R. >> >> >> 2012/6/23 Roman Lacko : >> > Hi Sergio, >> > >> > You have compiled Python 2.7 interpreter, but the setup.py is running >> > under Python32 interpreter: >> >>>sudo python32 setup.py install --qmake /usr/bin/qmake-qt4 >> > >> > You should run setup.py with compiled Python 27 32bit. >> > >> > Also i would use virtualenv, instead of installing custom packages >> > directly to system paths. >> > >> > Regards >> > -Roman >> > >> > 2012/6/22 Sergio Pulgarín : >> >> >> >>> >> >>> Hi everyone, >> >>> >> >>> I've been using Python for about three months, so >> >>> I'm still a beginner, >> >>> >> >>> Background: >> >>> Anyways, I came across the need to extend Python with >> >>> a couple of C .o objects that are 32 bit only. >> >>> I successfully created a shared object that can be imported >> >>> within a 32bit Python interpreter, otherwise I get a 'wrong >> >>> ELFCLASS32' >> >>> error. >> >>> >> >>> Problem: >> >>> I'm using a 64bit Ubuntu 12.04 machine and I successfully compiled a >> >>> 32bit >> >>> Python 2.7 interpreter; >> >>> I want to create an application that uses my 32bit Python-C module and >> >>> also PySide, so I figured I need to compile PySide for 32bit on my >> >>> 64bit >> >>> machine, >> >>> the same way I compiled the 32bit Python interpreter. >> >>> >> >>> This is the command I'm using, to compile/install the sources >> >>> in PySide-1.1.1.tar.gz >> >>> >> >>> >>sudo python32 setup.py install --qmake /usr/bin/qmake-qt4 >> >>> >> >>> This is the output I get: >> >>> >> >>> >> >>> >> >>> **************************************************************************************************************************** >> >>> >> >>> >> >>> **************************************************************************************************************************** >> >>> Removing /home/sergio/Downloads/PySide-1.1.1/PySide >> >>> Removing /home/sergio/Downloads/PySide-1.1.1/pysideuic >> >>> running install >> >>> running build >> >>> ============================== >> >>> Build type: Release >> >>> Package version: 1.1.1 >> >>> --- >> >>> Script directory: /home/sergio/Downloads/PySide-1.1.1 >> >>> Sources directory: /home/sergio/Downloads/PySide-1.1.1/sources >> >>> Build directory: >> >>> >> >>> /home/sergio/Downloads/PySide-1.1.1/pyside_build/py2.7-qt4.8.1-32bit-release >> >>> Install directory: >> >>> >> >>> /home/sergio/Downloads/PySide-1.1.1/pyside_install/py2.7-qt4.8.1-32bit-release >> >>> --- >> >>> Python executable: /usr/local/bin/python32 >> >>> Python includes: /opt/pym32/include/python2.7 >> >>> Python library: /opt/pym32/lib/libpython2.7.so >> >>> --- >> >>> Qt qmake: /usr/bin/qmake-qt4 >> >>> Qt bins: /usr/bin >> >>> Qt plugins: /usr/lib/i386-linux-gnu/qt4/plugins >> >>> --- >> >>> OpenSSL libs: None >> >>> ============================== >> >>> Building module shiboken... >> >>> Deleting module build folder >> >>> >> >>> /home/sergio/Downloads/PySide-1.1.1/pyside_build/py2.7-qt4.8.1-32bit-release/shiboken... >> >>> Creating module build folder >> >>> >> >>> /home/sergio/Downloads/PySide-1.1.1/pyside_build/py2.7-qt4.8.1-32bit-release/shiboken... >> >>> Configuring module shiboken >> >>> (/home/sergio/Downloads/PySide-1.1.1/sources/shiboken)... >> >>> -- The C compiler identification is GNU >> >>> -- The CXX compiler identification is GNU >> >>> -- Check for working C compiler: /usr/bin/gcc >> >>> -- Check for working C compiler: /usr/bin/gcc -- works >> >>> -- Detecting C compiler ABI info >> >>> -- Detecting C compiler ABI info - done >> >>> -- Check for working CXX compiler: /usr/bin/c++ >> >>> -- Check for working CXX compiler: /usr/bin/c++ -- works >> >>> -- Detecting CXX compiler ABI info >> >>> -- Detecting CXX compiler ABI info - done >> >>> -- Looking for Q_WS_X11 >> >>> -- Looking for Q_WS_X11 - found >> >>> -- Looking for Q_WS_WIN >> >>> -- Looking for Q_WS_WIN - not found. >> >>> -- Looking for Q_WS_QWS >> >>> -- Looking for Q_WS_QWS - not found. >> >>> -- Looking for Q_WS_MAC >> >>> -- Looking for Q_WS_MAC - not found. >> >>> -- Found Qt4: /usr/bin/qmake-qt4 (found suitable version "4.8.1", >> >>> required >> >>> is "4.5.0") >> >>> -- Found PythonLibs: /usr/lib/libpython2.7.so (Required is at least >> >>> version "2.6") >> >>> -- Could NOT find LibXml2 (missing:  LIBXML2_LIBRARIES) (Required is >> >>> at >> >>> least version "2.6.32") >> >>> -- Could NOT find LibXslt (missing:  LIBXSLT_LIBRARIES) (Required is >> >>> at >> >>> least version "1.1.19") >> >>> -- sphinx-build - not found! doc target disabled >> >>> -- Configuring done >> >>> -- Generating done >> >>> -- Build files have been written to: >> >>> >> >>> /home/sergio/Downloads/PySide-1.1.1/pyside_build/py2.7-qt4.8.1-32bit-release/shiboken >> >>> Compiling module shiboken... >> >>> [  1%] Generating qrc_generator.cxx >> >>> Scanning dependencies of target apiextractor >> >>> [  3%] >> >>> Building CXX object >> >>> ApiExtractor/CMakeFiles/apiextractor.dir/apiextractor.cpp.o >> >>> [  5%] Building CXX object >> >>> ApiExtractor/CMakeFiles/apiextractor.dir/abstractmetabuilder.cpp.o >> >>> [  7%] Building CXX object >> >>> ApiExtractor/CMakeFiles/apiextractor.dir/abstractmetalang.cpp.o >> >>> /usr/include/qt4/QtCore/qatomic_i386.h: Assembler messages: >> >>> /usr/include/qt4/QtCore/qatomic_i386.h:177: Error: incorrect register >> >>> `%rbx' used with `l' suffix >> >>> make[2]: *** >> >>> [ApiExtractor/CMakeFiles/apiextractor.dir/abstractmetalang.cpp.o] >> >>> Error 1 >> >>> make[1]: *** [ApiExtractor/CMakeFiles/apiextractor.dir/all] Error 2 >> >>> make: *** [all] Error 2 >> >>> error: Error compiling shiboken >> >>> >> >>> >> >>> >> >>> **************************************************************************************************************************** >> >>> >> >>> >> >>> **************************************************************************************************************************** >> >>> >> >>> >> >>> I wonder I anyone had tumbled across this errror? >> >>> >> >>> Any help with this would be much appreciated. >> >>> >> >>> >> >>> Thanks, >> >>> >> >>> Sergio >> >> >> >> >> >> >> >> _______________________________________________ >> >> PySide mailing list >> >> PySide at qt-project.org >> >> http://lists.qt-project.org/mailman/listinfo/pyside >> >> > > From serpulga at gmail.com Sat Jun 23 23:55:14 2012 From: serpulga at gmail.com (=?ISO-8859-1?Q?Sergio_Pulgar=EDn?=) Date: Sat, 23 Jun 2012 16:55:14 -0500 Subject: [PySide] Problem compiling PySide/Shiboken In-Reply-To: References: Message-ID: Ok. Before I present my solutions, I'd like to ask everyone a *Question*: *What Python IDE do you use?* Now, 1 Solution. The solution to my immediate problem was installing *g++-4.5-multilib* on my computer. >From there, I had to edit the CMakefilelists.text file to the pyside and shiboken sources; adding a '*-m32' *to the CMAKE_CXX_FLAGS variables. 2 Solution Create a separate chroot environment that is 32bit: http://askubuntu.com/questions/29665/apt-get-32-bit-package-on-amd64-ubuntu-installation Following those instructions I created a 32bit installation and I've been doing my 32bit development there. On 23 June 2012 16:40, Roman Lacko wrote: > Hi, > > 2012/6/23 Sergio Pulgarín : > > Hi, > > Thank you for your answer. > > The python32 is just a link I made to > > /opt/pym32/bin/python/ which is where my > > 32bit interpreter lives. > > > > Last night I actually finished compiling! > > I could write a how-to if anyone is interested. > > Yes please, I'm interested! > > Regards > Roman > > > > > > > > > > > On 23 June 2012 03:06, Roman Lacko wrote: > >> > >> Oh, just ignore my post, I see You are using Python 2.7: > >> >>> > >> >>> > /home/sergio/Downloads/PySide-1.1.1/pyside_build/py2.7-qt4.8.1-32bit-release > >> > >> I will try to compile 32bit PySide under 64bit ubuntu system when I > >> have some free time... > >> > >> Regards > >> R. > >> > >> > >> 2012/6/23 Roman Lacko : > >> > Hi Sergio, > >> > > >> > You have compiled Python 2.7 interpreter, but the setup.py is running > >> > under Python32 interpreter: > >> >>>sudo python32 setup.py install --qmake /usr/bin/qmake-qt4 > >> > > >> > You should run setup.py with compiled Python 27 32bit. > >> > > >> > Also i would use virtualenv, instead of installing custom packages > >> > directly to system paths. > >> > > >> > Regards > >> > -Roman > >> > > >> > 2012/6/22 Sergio Pulgarín : > >> >> > >> >>> > >> >>> Hi everyone, > >> >>> > >> >>> I've been using Python for about three months, so > >> >>> I'm still a beginner, > >> >>> > >> >>> Background: > >> >>> Anyways, I came across the need to extend Python with > >> >>> a couple of C .o objects that are 32 bit only. > >> >>> I successfully created a shared object that can be imported > >> >>> within a 32bit Python interpreter, otherwise I get a 'wrong > >> >>> ELFCLASS32' > >> >>> error. > >> >>> > >> >>> Problem: > >> >>> I'm using a 64bit Ubuntu 12.04 machine and I successfully compiled a > >> >>> 32bit > >> >>> Python 2.7 interpreter; > >> >>> I want to create an application that uses my 32bit Python-C module > and > >> >>> also PySide, so I figured I need to compile PySide for 32bit on my > >> >>> 64bit > >> >>> machine, > >> >>> the same way I compiled the 32bit Python interpreter. > >> >>> > >> >>> This is the command I'm using, to compile/install the sources > >> >>> in PySide-1.1.1.tar.gz > >> >>> > >> >>> >>sudo python32 setup.py install --qmake /usr/bin/qmake-qt4 > >> >>> > >> >>> This is the output I get: > >> >>> > >> >>> > >> >>> > >> >>> > **************************************************************************************************************************** > >> >>> > >> >>> > >> >>> > **************************************************************************************************************************** > >> >>> Removing /home/sergio/Downloads/PySide-1.1.1/PySide > >> >>> Removing /home/sergio/Downloads/PySide-1.1.1/pysideuic > >> >>> running install > >> >>> running build > >> >>> ============================== > >> >>> Build type: Release > >> >>> Package version: 1.1.1 > >> >>> --- > >> >>> Script directory: /home/sergio/Downloads/PySide-1.1.1 > >> >>> Sources directory: /home/sergio/Downloads/PySide-1.1.1/sources > >> >>> Build directory: > >> >>> > >> >>> > /home/sergio/Downloads/PySide-1.1.1/pyside_build/py2.7-qt4.8.1-32bit-release > >> >>> Install directory: > >> >>> > >> >>> > /home/sergio/Downloads/PySide-1.1.1/pyside_install/py2.7-qt4.8.1-32bit-release > >> >>> --- > >> >>> Python executable: /usr/local/bin/python32 > >> >>> Python includes: /opt/pym32/include/python2.7 > >> >>> Python library: /opt/pym32/lib/libpython2.7.so > >> >>> --- > >> >>> Qt qmake: /usr/bin/qmake-qt4 > >> >>> Qt bins: /usr/bin > >> >>> Qt plugins: /usr/lib/i386-linux-gnu/qt4/plugins > >> >>> --- > >> >>> OpenSSL libs: None > >> >>> ============================== > >> >>> Building module shiboken... > >> >>> Deleting module build folder > >> >>> > >> >>> > /home/sergio/Downloads/PySide-1.1.1/pyside_build/py2.7-qt4.8.1-32bit-release/shiboken... > >> >>> Creating module build folder > >> >>> > >> >>> > /home/sergio/Downloads/PySide-1.1.1/pyside_build/py2.7-qt4.8.1-32bit-release/shiboken... > >> >>> Configuring module shiboken > >> >>> (/home/sergio/Downloads/PySide-1.1.1/sources/shiboken)... > >> >>> -- The C compiler identification is GNU > >> >>> -- The CXX compiler identification is GNU > >> >>> -- Check for working C compiler: /usr/bin/gcc > >> >>> -- Check for working C compiler: /usr/bin/gcc -- works > >> >>> -- Detecting C compiler ABI info > >> >>> -- Detecting C compiler ABI info - done > >> >>> -- Check for working CXX compiler: /usr/bin/c++ > >> >>> -- Check for working CXX compiler: /usr/bin/c++ -- works > >> >>> -- Detecting CXX compiler ABI info > >> >>> -- Detecting CXX compiler ABI info - done > >> >>> -- Looking for Q_WS_X11 > >> >>> -- Looking for Q_WS_X11 - found > >> >>> -- Looking for Q_WS_WIN > >> >>> -- Looking for Q_WS_WIN - not found. > >> >>> -- Looking for Q_WS_QWS > >> >>> -- Looking for Q_WS_QWS - not found. > >> >>> -- Looking for Q_WS_MAC > >> >>> -- Looking for Q_WS_MAC - not found. > >> >>> -- Found Qt4: /usr/bin/qmake-qt4 (found suitable version "4.8.1", > >> >>> required > >> >>> is "4.5.0") > >> >>> -- Found PythonLibs: /usr/lib/libpython2.7.so (Required is at least > >> >>> version "2.6") > >> >>> -- Could NOT find LibXml2 (missing: LIBXML2_LIBRARIES) (Required is > >> >>> at > >> >>> least version "2.6.32") > >> >>> -- Could NOT find LibXslt (missing: LIBXSLT_LIBRARIES) (Required is > >> >>> at > >> >>> least version "1.1.19") > >> >>> -- sphinx-build - not found! doc target disabled > >> >>> -- Configuring done > >> >>> -- Generating done > >> >>> -- Build files have been written to: > >> >>> > >> >>> > /home/sergio/Downloads/PySide-1.1.1/pyside_build/py2.7-qt4.8.1-32bit-release/shiboken > >> >>> Compiling module shiboken... > >> >>> [ 1%] Generating qrc_generator.cxx > >> >>> Scanning dependencies of target apiextractor > >> >>> [ 3%] > >> >>> Building CXX object > >> >>> ApiExtractor/CMakeFiles/apiextractor.dir/apiextractor.cpp.o > >> >>> [ 5%] Building CXX object > >> >>> ApiExtractor/CMakeFiles/apiextractor.dir/abstractmetabuilder.cpp.o > >> >>> [ 7%] Building CXX object > >> >>> ApiExtractor/CMakeFiles/apiextractor.dir/abstractmetalang.cpp.o > >> >>> /usr/include/qt4/QtCore/qatomic_i386.h: Assembler messages: > >> >>> /usr/include/qt4/QtCore/qatomic_i386.h:177: Error: incorrect > register > >> >>> `%rbx' used with `l' suffix > >> >>> make[2]: *** > >> >>> [ApiExtractor/CMakeFiles/apiextractor.dir/abstractmetalang.cpp.o] > >> >>> Error 1 > >> >>> make[1]: *** [ApiExtractor/CMakeFiles/apiextractor.dir/all] Error 2 > >> >>> make: *** [all] Error 2 > >> >>> error: Error compiling shiboken > >> >>> > >> >>> > >> >>> > >> >>> > **************************************************************************************************************************** > >> >>> > >> >>> > >> >>> > **************************************************************************************************************************** > >> >>> > >> >>> > >> >>> I wonder I anyone had tumbled across this errror? > >> >>> > >> >>> Any help with this would be much appreciated. > >> >>> > >> >>> > >> >>> Thanks, > >> >>> > >> >>> Sergio > >> >> > >> >> > >> >> > >> >> _______________________________________________ > >> >> PySide mailing list > >> >> PySide at qt-project.org > >> >> http://lists.qt-project.org/mailman/listinfo/pyside > >> >> > > > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From sdeibel at wingware.com Mon Jun 25 03:14:40 2012 From: sdeibel at wingware.com (Stephan Deibel) Date: Sun, 24 Jun 2012 21:14:40 -0400 Subject: [PySide] Problem compiling PySide/Shiboken In-Reply-To: References: Message-ID: <4FE7BB80.3000808@wingware.com> Sergio Pulgarín wrote: > Before I present my solutions, I'd like > to ask everyone a *Question*: *What Python IDE do you use?* Wing IDE , of course. :-) I'm actually one of the developers of Wing IDE ... and I'm on this email list because we're in the process of moving the source base for the IDE from GTK to Qt w/ PySide. BTW, we give free licenses for students and anyone that wants to use Wing IDE for non-income-producing open source development, in case that is helpful for anyone here. There are details at https://wingware.com/store/free - Stephan From frank at ohufx.com Mon Jun 25 05:47:25 2012 From: frank at ohufx.com (Frank Rueter | OHUfx) Date: Mon, 25 Jun 2012 15:47:25 +1200 Subject: [PySide] events for QStyledItemDelegate Message-ID: <4FE7DF4D.5000505@ohufx.com> Hi all, I'm just re-writing part of my existing code to use the mode/view approach. I already have a complex custom widget which is a large button that can be dragged and dropped, and that shows "sub buttons" on mouse over (i.e. smaller rectangles are displayed in the corners on mouse over which act as buttons in the in own right). The whole widget works exactly like I want it to, but now I'm wondering if it's possible to create a QStyledItemdelegate for the new model/view approach to do the same thing. It will need the same event handling as my custom widget, such as enterEvent, leaveEvent, mouseReleaseEvent, mousePressEvent, mouseReleaseEvent and mouseMoveEvent. Is this possible with a delegate? Or can it be achieved in other ways? Any pointers would be much appreciated. Cheers, frank From backup.rlacko at gmail.com Mon Jun 25 08:21:48 2012 From: backup.rlacko at gmail.com (Roman Lacko) Date: Mon, 25 Jun 2012 08:21:48 +0200 Subject: [PySide] Problem compiling PySide/Shiboken In-Reply-To: <4FE7BB80.3000808@wingware.com> References: <4FE7BB80.3000808@wingware.com> Message-ID: Hi, 2012/6/25 Stephan Deibel : > Sergio Pulgarín wrote: >> >> Before I present my solutions, I'd like >> to ask everyone a *Question*: *What Python IDE do you use?* > > > Wing IDE , of course. :-)  I'm actually one of the developers of Wing IDE > ... and I'm on this email list because we're in the process of moving the > source base for the IDE from GTK to Qt w/ PySide. > > BTW, we give free licenses for students and anyone that wants to use Wing > IDE for non-income-producing open source development, in case that is > helpful for anyone here.  There are details at > https://wingware.com/store/free I'm using Eclipse+PyDev, but will try free WingIDE -Roman > > - Stephan > From techtonik at gmail.com Mon Jun 25 08:38:55 2012 From: techtonik at gmail.com (anatoly techtonik) Date: Mon, 25 Jun 2012 09:38:55 +0300 Subject: [PySide] Problem compiling PySide/Shiboken In-Reply-To: References: Message-ID: On Sun, Jun 24, 2012 at 12:55 AM, Sergio Pulgarín wrote: > > Ok. > Before I present my solutions, I'd like > to ask everyone a Question: What Python IDE do you use? Spyder, because: 1. Fully written in Python + Qt (PySide AND PyQt4 compatible) - you can actually see how things work and test if the bug is in PyQt4, in PySide or in Qt 2. Open source - you can fix the things you don't like if you're a hacker enough 3. Aim to be a bunch of reusable widgets 4. MIT license - once you understood how things work - you can copy/paste them into your projects 5. Works out of the box and doesn't require installation -- anatoly t. From a.richi at bluewin.ch Mon Jun 25 09:45:08 2012 From: a.richi at bluewin.ch (Aaron Richiger) Date: Mon, 25 Jun 2012 09:45:08 +0200 Subject: [PySide] Problem compiling PySide/Shiboken In-Reply-To: References: Message-ID: <4FE81704.2050000@bluewin.ch> I used eclipse for many projects and languages, but a few months ago, I discovered sublime and never wanted to switch back (except for Android development). It's just incredibly lightweight, but powerfull, fast and well designed. It's somewhere between a text editor and an ide, but using or writing plugins (in Python!) makes it a full ide with everything I need. It's for free at the moment and works on Linux, MacOS and Windows and may be used for many different languages. Give it a chance: http://www.sublimetext.com/ Aaron > On Sun, Jun 24, 2012 at 12:55 AM, Sergio Pulgarín > wrote: >> Ok. >> Before I present my solutions, I'd like >> to ask everyone a Question: What Python IDE do you use? > Spyder, because: > 1. Fully written in Python + Qt (PySide AND PyQt4 compatible) - you > can actually see how things work and test if the bug is in PyQt4, in > PySide or in Qt > 2. Open source - you can fix the things you don't like if you're a > hacker enough > 3. Aim to be a bunch of reusable widgets > 4. MIT license - once you understood how things work - you can > copy/paste them into your projects > 5. Works out of the box and doesn't require installation > -- > anatoly t. > _______________________________________________ > PySide mailing list > PySide at qt-project.org > http://lists.qt-project.org/mailman/listinfo/pyside From alberto.soto at lmsintl.com Mon Jun 25 17:50:38 2012 From: alberto.soto at lmsintl.com (Alberto Soto) Date: Mon, 25 Jun 2012 17:50:38 +0200 Subject: [PySide] pysideuic tool with custom widgets Message-ID: <405C1CC9FAF496428CDF79BE775E05B7A41CE9153E@ROAP-EXMSG01.lmsintl.com> Hi, I'm trying to use the pysideuic tool to generate code from an UI that contains some custom plugins. I created a file to deal with the custom module import, and it works well. But now, I've got a problem regarding a custom widget which inherits from QComboBox. When I add some items using the QtDesigner, the .ui file correctly mentions these items, but the generated python code doesn't write the "setItemText" call,  resulting in an empty combo box. I tried to figure out why this line is not written, and it seems that this case is not handled by pysideuic :  the handleItem() function in the uiparser.py script only deals with qtproxies.QComboBox and doesn't handle the case of derived classes  (same thing for QListWidget, QTreeWidget, .). Do you have a generic solution to manage this case or is this a limitation of the tool ? Thanks, Alberto. From frank at ohufx.com Tue Jun 26 09:32:32 2012 From: frank at ohufx.com (Frank Rueter | OHUfx) Date: Tue, 26 Jun 2012 19:32:32 +1200 Subject: [PySide] problem with custom sorting in QSortFilterProxyModel Message-ID: <4FE96590.5070205@ohufx.com> Hi all, I'm trying to implement a custom sort behaviour on my first model/view structure and am hitting a road block (undoubtedly human error). My model is just a list of dictionaries all living in column 0 of their respective rows. I am not splitting up the dictionaries' keys into their own columns as I need to draw each one as a single custom widget/delegate eventually (maybe this is possible anyway??). The sorting code in my proxy model code like like this: def sortBy( self, attr ): self.__sortBy = attr self.sort( 0, Qt.AscendingOrder ) # THIS DOES NOT GET CALLED WHEN THE COMBO BOX CHANGES A SECOND TIME def lessThan( self, left, right ): '''Custom sorting behaviour''' leftTool = ( self.sourceModel().itemFromIndex( left ) ) rightTool = ( self.sourceModel().itemFromIndex( right ) ) leftData = leftTool.data()[ self.__sortBy ] rightData = rightTool.data()[ self.__sortBy ] return leftData < rightData As the comment in the code says, the first time I call sort() it works fine, but subsequent calls do nothing. It's like nothing exists in column 0 anymore after things were sorted once?! I'm sure I'm missing something very obvious here. Here is the entire test code: http://pastebin.com/iuqXbdtm I'm not sure if I'm even going about this in the right way so any help would be greatly appreciated as usual. Cheers, frank -------------- next part -------------- An HTML attachment was scrubbed... URL: From chris at techworks.ie Tue Jun 26 18:18:54 2012 From: chris at techworks.ie (Christian Gagneraud) Date: Tue, 26 Jun 2012 17:18:54 +0100 Subject: [PySide] shiboken-1.1.1 fails to build on OpenSuse Message-ID: <4FE9E0EE.8020305@techworks.ie> Hi there, I'm trying to build shiboken, but i got this error: cd /home/cgagneraud/work/octopus/shiboken/generator && /usr/bin/cmake -E cmake_link_script CMakeFiles/shiboken.dir/link.txt --verbose=y /usr/bin/c++ -Wall -fvisibility=hidden -Wno-strict-aliasing CMakeFiles/shiboken.dir/generator.cpp.o CMakeFiles/shiboken.dir/shiboken/cppgenerator.cpp.o CMakeFiles/shiboken.dir/shiboken/headergenerator.cpp.o CMakeFiles/shiboken.dir/shiboken/overloaddata.cpp.o CMakeFiles/shiboken.dir/shiboken/shibokengenerator.cpp.o CMakeFiles/shiboken.dir/shiboken/shibokennormalize.cpp.o CMakeFiles/shiboken.dir/main.cpp.o CMakeFiles/shiboken.dir/qtdoc/qtdocgenerator.cpp.o -o shiboken -rdynamic ../tests/libapiextractor.a -lQtCore -lQtXml -lxslt -lxml2 -lQtCore -lQtXmlPatterns -lQtXml /usr/lib/gcc/i586-suse-linux/4.6/../../../../i586-suse-linux/bin/ld: cannot open output file shiboken: Is a directory collect2: ld returned 1 exit status make[2]: *** [generator/shiboken] Error 1 make[2]: Leaving directory `/home/cgagneraud/work/octopus/shiboken' make[1]: *** [generator/CMakeFiles/shiboken.dir/all] Error 2 make[1]: Leaving directory `/home/cgagneraud/work/octopus/shiboken' make: *** [all] Error 2 It seems that the problem is that make tries to generate a "shiboken" executable in the generator folder, but this folder already contains a folder named "shiboken" as well.... I wonder I anyone had tumbled across this weird error? Any help greatly appreciated. Chris -- Christian Gagneraud, Embedded systems engineer. Techworks Marine 1 Harbour road Dun Laoghaire Co. Dublin Ireland Tel: + 353 (0) 1 236 5990 Web: http://www.techworks.ie/ From hugo.lima at openbossa.org Tue Jun 26 23:22:07 2012 From: hugo.lima at openbossa.org (Hugo Parente Lima) Date: Tue, 26 Jun 2012 18:22:07 -0300 Subject: [PySide] Regression with QGenericReturnArgument In-Reply-To: <4FE510B3.8030001@willowgarage.com> References: <4FE510B3.8030001@willowgarage.com> Message-ID: <11173736.y8eGmC0HVV@hugodesktop> On Friday, June 22, 2012 07:41:23 PM Dirk Thomas wrote: > Since 1.1.0 Shiboken can no longer compile headers containing > QGenericReturnArgument parameters. It was working with 1.0.6 (other > versions in between not checked). This issue has been reported at > https://bugreports.qt-project.org/browse/PYSIDE-76 with a mini-example to > reproduce the problem. > > How high are the chances that this regression will get fixed for the near > future / next release? Bug fixes is currently in a low pace since the beginning of the year, so I can't promise anything related to dates and bugs. But I'll always be available to review patches. > - Dirk > _______________________________________________ > PySide mailing list > PySide at qt-project.org > http://lists.qt-project.org/mailman/listinfo/pyside -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 198 bytes Desc: This is a digitally signed message part. URL: From frank at ohufx.com Wed Jun 27 06:45:02 2012 From: frank at ohufx.com (Frank Rueter | OHUfx) Date: Wed, 27 Jun 2012 16:45:02 +1200 Subject: [PySide] problem with custom sorting in QSortFilterProxyModel In-Reply-To: <4FE96590.5070205@ohufx.com> References: <4FE96590.5070205@ohufx.com> Message-ID: <4FEA8FCE.1030403@ohufx.com> HI all, just for future reference (if people have the same problem), the solution was to simply call self.invalidate() right before calling self.sort() in the proxy model. Cheers, frank On 26/06/12 7:32 PM, Frank Rueter | OHUfx wrote: > Hi all, > > I'm trying to implement a custom sort behaviour on my first model/view > structure and am hitting a road block (undoubtedly human error). > My model is just a list of dictionaries all living in column 0 of > their respective rows. I am not splitting up the dictionaries' keys > into their own columns as I need to draw each one as a single custom > widget/delegate eventually (maybe this is possible anyway??). > > The sorting code in my proxy model code like like this: > > def sortBy( self, attr ): > self.__sortBy = attr > self.sort( 0, Qt.AscendingOrder ) # THIS DOES NOT GET CALLED > WHEN THE COMBO BOX CHANGES A SECOND TIME > > def lessThan( self, left, right ): > '''Custom sorting behaviour''' > leftTool = ( self.sourceModel().itemFromIndex( left ) ) > rightTool = ( self.sourceModel().itemFromIndex( right ) ) > leftData = leftTool.data()[ self.__sortBy ] > rightData = rightTool.data()[ self.__sortBy ] > return leftData < rightData > > > As the comment in the code says, the first time I call sort() it works > fine, but subsequent calls do nothing. It's like nothing exists in > column 0 anymore after things were sorted once?! > > I'm sure I'm missing something very obvious here. > > Here is the entire test code: > http://pastebin.com/iuqXbdtm > > I'm not sure if I'm even going about this in the right way so any help > would be greatly appreciated as usual. > > Cheers, > frank > > > _______________________________________________ > PySide mailing list > PySide at qt-project.org > http://lists.qt-project.org/mailman/listinfo/pyside -------------- next part -------------- An HTML attachment was scrubbed... URL: From frank at ohufx.com Fri Jun 29 08:58:38 2012 From: frank at ohufx.com (Frank Rueter | OHUfx) Date: Fri, 29 Jun 2012 18:58:38 +1200 Subject: [PySide] restricting a widget to only be visible inside it's layout's geometry Message-ID: <4FED521E.3080300@ohufx.com> Hi all, I am trying to build an animated version of the QStackedLayout where the requested widget pushes the previous one out of frame. I got it all working so far but the one thing I don't know how to do is to restrict the widgets's visibility to the layout's geometry, so that when they animate away, they get cropped and disappear from view, rather than just being drawn on top of everything else around the parent layout. Below is a very simple example of what I'm trying to "fix". The button is manually moved but somehow I need it to not be visible where it's outside the layout. Any ideas? Cheers, frank The actual code is here: http://pastebin.com/p64hG1VS import sys from PySide.QtGui import * from PySide.QtCore import * app = QApplication( sys.argv ) mainWidget = QWidget() frame = QFrame() frame.setFrameStyle( QFrame.Box ) label = QPushButton( 'this should only be visible inside the layout geo' ) label.setParent( mainWidget ) label.resize( 500, 50 ) layout = QVBoxLayout() mainWidget.setLayout( layout ) layout.addWidget( frame ) mainWidget.resize( 500, 200 ) mainWidget.show() sys.exit( app.exec_() ) From a.richi at bluewin.ch Fri Jun 29 18:14:57 2012 From: a.richi at bluewin.ch (Aaron Richiger) Date: Fri, 29 Jun 2012 18:14:57 +0200 Subject: [PySide] restricting a widget to only be visible inside it's layout's geometry In-Reply-To: <4FED521E.3080300@ohufx.com> References: <4FED521E.3080300@ohufx.com> Message-ID: <4FEDD481.1070708@bluewin.ch> Hello Frank! This time, I'm not quite sure, whether I understood your task correctly... If I got it right, you want the button to be visible only within the frame box!? A widget is only visible within it's parents geometry, so you can use this behaviour. In your short example, the layouts and buttons parent is the mainWidget an have therefore the same geometry as the mainWidget. I changed the code slightly, you will find it below. Please tell me, if this is not, what you were after! Additionally, note the following: - (Knowing, that this may be the beginning of a holy war :-)): in python, you don't write spaces after opening and before closing brackets (see PEP8 or the Google Python Style Guide). - I replaced your setParent() calls by using the constructors parameter. This makes the code shorter and is to prefer in my opinion, most PySiders do it this way, but again, this is just a question of personal taste... :-) Cheers Aaron ########## Code ########### import sys from PySide.QtGui import * from PySide.QtCore import * app = QApplication( sys.argv ) mainWidget = QWidget() frame = QFrame(mainWidget) frame.setFrameStyle( QFrame.Box ) label = QPushButton( 'this should only be visible inside the layout geo', frame ) label.resize( 500, 50 ) layout = QVBoxLayout( mainWidget ) layout.addWidget( frame ) mainWidget.resize( 500, 200 ) mainWidget.show() sys.exit( app.exec_() ) From dthomas at willowgarage.com Sat Jun 30 04:58:38 2012 From: dthomas at willowgarage.com (Dirk Thomas) Date: Fri, 29 Jun 2012 19:58:38 -0700 Subject: [PySide] Regression with QGenericReturnArgument In-Reply-To: <11173736.y8eGmC0HVV@hugodesktop> References: <4FE510B3.8030001@willowgarage.com> <11173736.y8eGmC0HVV@hugodesktop> Message-ID: <4FEE6B5E.9030005@willowgarage.com> On 26.06.2012 14:22, Hugo Parente Lima wrote: > On Friday, June 22, 2012 07:41:23 PM Dirk Thomas wrote: >> Since 1.1.0 Shiboken can no longer compile headers containing >> QGenericReturnArgument parameters. It was working with 1.0.6 (other >> versions in between not checked). This issue has been reported at >> https://bugreports.qt-project.org/browse/PYSIDE-76 with a mini-example to >> reproduce the problem. >> >> How high are the chances that this regression will get fixed for the near >> future / next release? > > Bug fixes is currently in a low pace since the beginning of the year, so I > can't promise anything related to dates and bugs. > > But I'll always be available to review patches. I added a comment to the issue containing a work around (specifying the default-constructor attribute in typesystem_core_common.xml). I suppose that this is not the supposed way to fix the source of the problem since the default constructor should be guessed correctly automatically. Can someone give me any hint where to look further? If not, is it possible that this work around makes it into the next patch release? - Dirk