Compatibility with Python 3.4
This change allows compilation under python 3.4. In addition: - spec file added for pyinstaller with required hidden imports - changed default pathes for compiled exe file - added requirements for ppms under windows compilation Change-Id: I63d805a984d6a2c045df527303f46c8440994aad Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/22170 Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de> Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch> Reviewed-by: Petr Cermak <cermak@mag.mff.cuni.cz> Tested-by: JenkinsCodeReview <bjoern_pedersen@frm2.tum.de> Tested-by: Petr Cermak <cermak@mag.mff.cuni.cz>
This commit is contained in:
parent
859bf5e1a2
commit
8466a159fe
3
.gitignore
vendored
3
.gitignore
vendored
@ -19,3 +19,6 @@ doc/_build
|
||||
.cache
|
||||
.coverage
|
||||
._*
|
||||
|
||||
# pyinstaller
|
||||
dist/
|
@ -8,3 +8,8 @@ psutil
|
||||
python-daemon >=2.0
|
||||
# for zmq interface
|
||||
#pyzmq>=13.1.0
|
||||
#for ppms on windows
|
||||
# don't forget to run
|
||||
# 'python Scripts/pywin32_postinstall.py -install'
|
||||
# from elevated prompt after install
|
||||
#pywin32
|
||||
|
38
secop-server.spec
Normal file
38
secop-server.spec
Normal file
@ -0,0 +1,38 @@
|
||||
# -*- mode: python ; coding: utf-8 -*-
|
||||
|
||||
block_cipher = None
|
||||
|
||||
|
||||
a = Analysis(['bin\\secop-server'],
|
||||
pathex=['.'],
|
||||
binaries=[],
|
||||
datas=[],
|
||||
hiddenimports=['secop.protocol', 'secop.protocol.dispatcher', 'secop.protocol.interface', 'secop.protocol.interface.tcp',
|
||||
'secop_psi.ppmssim', 'secop_psi.ppmswindows', 'secop_psi.ppms'],
|
||||
hookspath=[],
|
||||
runtime_hooks=[],
|
||||
excludes=[],
|
||||
win_no_prefer_redirects=False,
|
||||
win_private_assemblies=False,
|
||||
cipher=block_cipher,
|
||||
noarchive=False)
|
||||
pyz = PYZ(a.pure, a.zipped_data,
|
||||
cipher=block_cipher)
|
||||
exe = EXE(pyz,
|
||||
a.scripts,
|
||||
[],
|
||||
exclude_binaries=True,
|
||||
name='secop-server',
|
||||
debug=False,
|
||||
bootloader_ignore_signals=False,
|
||||
strip=False,
|
||||
upx=True,
|
||||
console=True )
|
||||
coll = COLLECT(exe,
|
||||
a.binaries,
|
||||
a.zipfiles,
|
||||
a.datas,
|
||||
strip=False,
|
||||
upx=True,
|
||||
upx_exclude=[],
|
||||
name='secop-server')
|
@ -30,11 +30,3 @@ from secop.params import Parameter, Command, Override
|
||||
from secop.metaclass import Done
|
||||
from secop.iohandler import IOHandler, IOHandlerBase
|
||||
from secop.stringio import StringIO, HasIodev
|
||||
|
||||
|
||||
try:
|
||||
import sip
|
||||
sip.setapi('QString', 2)
|
||||
sip.setapi('QVariant', 2)
|
||||
except ImportError:
|
||||
pass
|
||||
|
@ -42,12 +42,21 @@ CONFIG = {
|
||||
'logdir': os.path.join(repodir, 'log'),
|
||||
'confdir': os.path.join(repodir, 'cfg'),
|
||||
'basedir': repodir,
|
||||
} if os.path.exists(os.path.join(repodir, '.git')) else {
|
||||
'piddir': '/var/run/secop',
|
||||
'logdir': '/var/log',
|
||||
'confdir': '/etc/secop',
|
||||
'basedir': repodir,
|
||||
}
|
||||
if path.splitext(sys.executable)[1] == ".exe":
|
||||
CONFIG = {
|
||||
'piddir': './',
|
||||
'logdir': './log',
|
||||
'confdir': './',
|
||||
'basedir': path.dirname(sys.executable),
|
||||
}
|
||||
elif not os.path.exists(os.path.join(repodir, '.git')):
|
||||
CONFIG = {
|
||||
'piddir': '/var/run/secop',
|
||||
'logdir': '/var/log',
|
||||
'confdir': '/etc/secop',
|
||||
'basedir': repodir,
|
||||
}
|
||||
|
||||
|
||||
unset_value = object()
|
||||
|
@ -162,7 +162,9 @@ class Parameter(Accessible):
|
||||
|
||||
def getProperties(self):
|
||||
"""get also properties of datatype"""
|
||||
return {**super().getProperties(), **self.datatype.getProperties()}
|
||||
superProp = super().getProperties().copy()
|
||||
superProp.update(self.datatype.getProperties())
|
||||
return superProp
|
||||
|
||||
def setProperty(self, key, value):
|
||||
"""set also properties of datatype"""
|
||||
|
Loading…
x
Reference in New Issue
Block a user