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
|
.cache
|
||||||
.coverage
|
.coverage
|
||||||
._*
|
._*
|
||||||
|
|
||||||
|
# pyinstaller
|
||||||
|
dist/
|
@ -8,3 +8,8 @@ psutil
|
|||||||
python-daemon >=2.0
|
python-daemon >=2.0
|
||||||
# for zmq interface
|
# for zmq interface
|
||||||
#pyzmq>=13.1.0
|
#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.metaclass import Done
|
||||||
from secop.iohandler import IOHandler, IOHandlerBase
|
from secop.iohandler import IOHandler, IOHandlerBase
|
||||||
from secop.stringio import StringIO, HasIodev
|
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'),
|
'logdir': os.path.join(repodir, 'log'),
|
||||||
'confdir': os.path.join(repodir, 'cfg'),
|
'confdir': os.path.join(repodir, 'cfg'),
|
||||||
'basedir': repodir,
|
'basedir': repodir,
|
||||||
} if os.path.exists(os.path.join(repodir, '.git')) else {
|
}
|
||||||
|
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',
|
'piddir': '/var/run/secop',
|
||||||
'logdir': '/var/log',
|
'logdir': '/var/log',
|
||||||
'confdir': '/etc/secop',
|
'confdir': '/etc/secop',
|
||||||
'basedir': repodir,
|
'basedir': repodir,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
unset_value = object()
|
unset_value = object()
|
||||||
|
@ -162,7 +162,9 @@ class Parameter(Accessible):
|
|||||||
|
|
||||||
def getProperties(self):
|
def getProperties(self):
|
||||||
"""get also properties of datatype"""
|
"""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):
|
def setProperty(self, key, value):
|
||||||
"""set also properties of datatype"""
|
"""set also properties of datatype"""
|
||||||
|
Loading…
x
Reference in New Issue
Block a user