Skip to content

Commit

Permalink
Address review comments.
Browse files Browse the repository at this point in the history
  • Loading branch information
apollo13 committed Mar 12, 2024
1 parent 9c14eb8 commit 5d6580c
Show file tree
Hide file tree
Showing 4 changed files with 10 additions and 19 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/build.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ jobs:
- name: Install dependencies (macOS)
if: matrix.os == 'macos-latest'
run: |
brew install qt@5 python@3.8
brew install qt@5 python@3.12
echo PATH=/usr/local/opt/qt@5/bin:$PATH >> ${GITHUB_ENV}
- run: qmake
- run: make
Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ Requirements
------------

* Qt 5.1.0 or newer (Qt 6.x also supported)
* Python 3.3.0 or newer
* Python 3.8.0 or newer


Building
Expand All @@ -28,7 +28,7 @@ make install
To build against a specific Python version, use:

```
qmake PYTHON_CONFIG=python3.3-config # use "qmake6" for Qt 6
qmake PYTHON_CONFIG=python3.8-config # use "qmake6" for Qt 6
make
make install
```
Expand Down
6 changes: 4 additions & 2 deletions docs/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -1169,7 +1169,7 @@ Building PyOtherSide
The following build requirements have to be satisfied to build PyOtherSide:

* Qt 5.1.0 or newer (Qt 6.x also supported)
* Python 3.3.0 or newer
* Python 3.8.0 or newer

If you have the required build-dependencies installed, building and installing
the PyOtherSide plugin should be as simple as:
Expand All @@ -1185,7 +1185,7 @@ pass a suitable ``python-config`` to ``qmake`` at configure time:

.. code-block:: sh
qmake PYTHON_CONFIG=python3.3-config # For Qt 6, use "qmake6"
qmake PYTHON_CONFIG=python3.8-config # For Qt 6, use "qmake6"
make
make install
Expand All @@ -1199,6 +1199,8 @@ ChangeLog
Version UNRELEASED (YYYY-MM-DD)
-------------------------------

* Dropped support for Python < 3.8 (PR#131)
* Added support for Python 3.12 (PR#131)
* Support for Qt 6.5 and newer (backwards-incompatible ``Q_RETURN_ARG()`` change) (fixes #128)

Version 1.6.0 (2022-08-05)
Expand Down
17 changes: 3 additions & 14 deletions src/qrc_importer.py
Original file line number Diff line number Diff line change
Expand Up @@ -27,26 +27,21 @@ def __init__(self, filepath):
self.filepath = filepath

def create_module(self, spec):
return
return None

def exec_module(self, module):
data = pyotherside.qrc_get_file_contents(self.filepath[len('qrc:') :])
code = compile(data, self.filepath, 'exec')
exec(code, module.__dict__)


class PyOtherSideQtRCImporter(abc.MetaPathFinder, abc.SourceLoader):
class PyOtherSideQtRCImporter(abc.MetaPathFinder):
def find_spec(self, fullname, path, target=None):
if path is None:
fname = self.get_filename(fullname)
if fname:
return spec_from_loader(fullname, PyOtherSideQtRCLoader(fname))
return

def find_module(self, fullname, path):
if path is None or all(x.startswith('qrc:') for x in path):
if self.get_filename(fullname):
return self
return None

def get_filename(self, fullname):
basename = fullname.replace('.', '/')
Expand All @@ -60,10 +55,4 @@ def get_filename(self, fullname):
if pyotherside.qrc_is_file(filename[len('qrc:'):]):
return filename

def get_data(self, path):
return pyotherside.qrc_get_file_contents(path[len('qrc:'):])

def module_repr(self, m):
return "<module '{}' from '{}'>".format(m.__name__, m.__file__)

sys.meta_path.append(PyOtherSideQtRCImporter())

0 comments on commit 5d6580c

Please sign in to comment.