From 5513c2ca1a4b4e69f7c7010fb4fbfb1df6bf88c9 Mon Sep 17 00:00:00 2001 From: Vintar Rok Date: Wed, 16 Sep 2015 09:01:16 +0200 Subject: [PATCH] COSYLAB-360 packagin as anaconda package + some minor things --- launcher_model.pyc | Bin 10924 -> 0 bytes pylauncher/__init__.py | 0 {config => pylauncher/config}/config.json | 2 +- launcher.py => pylauncher/launcher.py | 44 ++++++++++++------ pylauncher/launcher.pyc | Bin 0 -> 41387 bytes .../launcher_model.py | 30 ++++++------ pylauncher/launcher_model.pyc | Bin 0 -> 11233 bytes {menus => pylauncher/menus}/menu_1.json | 0 {menus => pylauncher/menus}/menu_2.json | 0 {menus => pylauncher/menus}/menu_3.json | 0 {qss => pylauncher/qss}/green.qss | 0 .../res}/images/caret-right.png | Bin {res => pylauncher/res}/images/delete-2x.png | Bin .../res}/images/magnifying-glass-2x.png | Bin {res => pylauncher/res}/qss/default.qss | 0 pylauncher/run.pyc | Bin 0 -> 473 bytes setup.py | 22 ++++----- utils/__inti__.py | 0 utils/conda_package/pylauncher/bld.bat | 2 + utils/conda_package/pylauncher/build.sh | 1 + utils/conda_package/pylauncher/meta.yaml | 20 ++++++++ 21 files changed, 81 insertions(+), 40 deletions(-) delete mode 100644 launcher_model.pyc create mode 100644 pylauncher/__init__.py rename {config => pylauncher/config}/config.json (96%) rename launcher.py => pylauncher/launcher.py (96%) create mode 100644 pylauncher/launcher.pyc rename launcher_model.py => pylauncher/launcher_model.py (93%) create mode 100644 pylauncher/launcher_model.pyc rename {menus => pylauncher/menus}/menu_1.json (100%) rename {menus => pylauncher/menus}/menu_2.json (100%) rename {menus => pylauncher/menus}/menu_3.json (100%) rename {qss => pylauncher/qss}/green.qss (100%) rename {res => pylauncher/res}/images/caret-right.png (100%) rename {res => pylauncher/res}/images/delete-2x.png (100%) rename {res => pylauncher/res}/images/magnifying-glass-2x.png (100%) rename {res => pylauncher/res}/qss/default.qss (100%) create mode 100644 pylauncher/run.pyc mode change 100644 => 100755 setup.py create mode 100644 utils/__inti__.py create mode 100644 utils/conda_package/pylauncher/bld.bat create mode 100644 utils/conda_package/pylauncher/build.sh create mode 100644 utils/conda_package/pylauncher/meta.yaml diff --git a/launcher_model.pyc b/launcher_model.pyc deleted file mode 100644 index 6383f000167619f243a2293389b5fbb6464351ca..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10924 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 azed5eSe{?_?!q(6<>l$+MSSL$=l%t$&tv5P diff --git a/pylauncher/__init__.py b/pylauncher/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/config/config.json b/pylauncher/config/config.json similarity index 96% rename from config/config.json rename to pylauncher/config/config.json index e2acef1..e6006e4 100644 --- a/config/config.json +++ b/pylauncher/config/config.json @@ -1,6 +1,6 @@ { "Linux": { - "theme_base": "./qss/", + "theme_base": "../qss", "cmd": { "command": "" }, diff --git a/launcher.py b/pylauncher/launcher.py similarity index 96% rename from launcher.py rename to pylauncher/launcher.py index f7b7959..45a0224 100755 --- a/launcher.py +++ b/pylauncher/launcher.py @@ -9,6 +9,8 @@ import json import copy import enum import urllib2 +import urlparse +import logging from PyQt4 import QtGui, QtCore from PyQt4.QtCore import pyqtSlot, Qt @@ -38,9 +40,10 @@ class LauncherWindow(QtGui.QMainWindow): try: cfgFile = open_launcher_file(cfgFilePath) except IOError: - errMsg = "Err: Configuration file \"" + cfgFilePath + \ + errMsg = "Configuration file \"" + cfgFilePath + \ "\" not found." - sys.exit(errMsg) + logging.error(errMsg) + sys.exit() cfg = json.load(cfgFile) cfgFile.close() # Get configuration for current system. platform.system() returns: @@ -57,6 +60,8 @@ class LauncherWindow(QtGui.QMainWindow): path_tuple = os.path.split(rootFilePath) self.launcherCfg["launcher_base"] = path_tuple[0] rootFilePath = path_tuple[1] + # Get defined theme base. If it is not url or absolute dir, make it + # relative to config file. self.menuModel = self.buildMenuModel(rootFilePath) self.setWindowTitle(self.menuModel.mainTitle) @@ -122,8 +127,9 @@ class LauncherWindow(QtGui.QMainWindow): try: rootMenuFile = open_launcher_file(rootMeniFullPath) except IOError: - errMsg = "Err: File \"" + rootMenuPath + "\" not found." - sys.exit(errMsg) + errMsg = "File \"" + rootMenuPath + "\" not found." + logging.error(errMsg) + sys.exit() rootMenu = launcher_menu_model(None, rootMenuFile, 0, self.launcherCfg) rootMenuFile.close() return rootMenu @@ -445,6 +451,7 @@ class LauncherSearchMenuView(LauncherMenu): addPrefix = True elif item.__class__.__name__ == "launcher_sub_menu_item": # Take subemnu model and build (visualize) it below + cSubMenuItems = copy.copy(item.sub_menu.menu_items) cMenuItems.extend(cSubMenuItems) elif item.__class__.__name__ == "launcher_title_item": @@ -982,11 +989,17 @@ class LauncherStyle: def appendThemeStyle(self, theme): mainWindow = self.item.parent().getLauncherWindow() - theme_file = open_launcher_file( - mainWindow.launcherCfg.get("theme_base") + theme + ".qss") - self.styleString = self.styleString + theme_file.read() - theme_file.close() - self.style = QtCore.QLatin1String(self.styleString) + try: + theme_file = open_launcher_file( + os.path.join(mainWindow.launcherCfg.get("theme_base"), + theme + ".qss")) + self.styleString = self.styleString + theme_file.read() + theme_file.close() + self.style = QtCore.QLatin1String(self.styleString) + except IOError: + warnMsg = "Theme \"" + theme + \ + "\" was not found. Theme ignored." + logging.warning(warnMsg) def appendStyle(self, style, item): self.styleString = self.styleString + item.__class__.__name__ +\ @@ -997,8 +1010,8 @@ class LauncherStyle: self.styleString = self.styleString + style self.style = QtCore.QLatin1String(self.styleString) -if __name__ == '__main__': +def main(): # Usage: launcher.py menu config argsPars = argparse.ArgumentParser() argsPars.add_argument('config', @@ -1014,8 +1027,9 @@ if __name__ == '__main__': app.setStyle("cleanlooks") currDir = os.path.dirname(os.path.realpath(__file__)) + print currDir styleFile = open_launcher_file(os.path.join(currDir, - "res/qss/default.qss")) + "res/qss/default.qss")) app.setStyleSheet(styleFile.read()) styleFile.close() launcherWindow = LauncherWindow(args.launcher, args.config) @@ -1025,9 +1039,13 @@ if __name__ == '__main__': launcherWindow.setStyleSheet(userStyle.read()) userStyle.close() except IOError: - errMsg = "Err: Style file \"" + args.style + "\" not found." - sys.exit(errMsg) + errMsg = "Style file \"" + args.style + "\" not found." + logging.error(errMsg) + sys.exit() launcherWindow.setGeometry(0, 0, 150, 0) launcherWindow.show() sys.exit(app.exec_()) + +if __name__ == '__main__': + main() diff --git a/pylauncher/launcher.pyc b/pylauncher/launcher.pyc new file mode 100644 index 0000000000000000000000000000000000000000..3f4e7d8c03cdf139c0a01df4824c98f098f2477d GIT binary patch literal 41387 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 L-+M1-p4a{#@AbJy literal 0 HcmV?d00001 diff --git a/launcher_model.py b/pylauncher/launcher_model.py similarity index 93% rename from launcher_model.py rename to pylauncher/launcher_model.py index 046787c..e6179c4 100644 --- a/launcher_model.py +++ b/pylauncher/launcher_model.py @@ -75,17 +75,18 @@ class launcher_menu_model: text, file_name)) except IOError: - err_msg = "ParseErr: " + menu_file.geturl() + ": File \"" +\ - file_name + "\" not found." - logging.warning(err_msg) + warn_msg = "Parser: " + menu_file.geturl() + ": File \"" +\ + file_name + "\" not found. Skipped" + logging.warning(warn_msg) # Build menu model. Report error if menu is not defined. list_of_menu_items = menu.get("menu", list()) if not list_of_menu_items: - err_msg = "ParseErr: " + menu_file.geturl() +\ - ": Launcher menu is not defined." - sys.exit(err_msg) + err_msg = "Parser: " + menu_file.geturl() +\ + ": Launcher menu is empty." + logging.error(err_msg) + sys.exit() for item in list_of_menu_items: menu_item = None @@ -140,9 +141,9 @@ class launcher_menu_model: None) sub_file.close() except IOError: - err_msg = "ParseErr: " + menu_file.geturl() + \ - ": File \"" + file_name + "\" not found." - logging.warning(err_msg) + warn_msg = "Parser: " + menu_file.geturl() + \ + ": File \"" + file_name + "\" not found. Skipped" + logging.warning(warn_msg) elif item_type == "title": self.check_item_format_json(item, ["text"]) @@ -153,9 +154,9 @@ class launcher_menu_model: menu_item = launcher_item_separator(self, theme, style) else: - err_msg = "ParseErr:" + menu_file.geturl() + \ - ": Unknown type \"" + item_type + "\"." - logging.warning(err_msg) + warn_msg = "Parser:" + menu_file.geturl() + \ + ": Unknown type \"" + item_type + "\". Skipped" + logging.warning(warn_msg) if menu_item != None: self.menu_items.append(menu_item) @@ -169,9 +170,10 @@ class launcher_menu_model: for param in mandatory_param: if not item.get(param): - err_msg = "ParseErr: Parameter \"" + param + \ + err_msg = "Parser Parameter \"" + param + \ "\" is mandatory in configuration \"" + item + "\"." - sys.exit(err_msg) + logging.error(err_msg) + sys.exit() class launcher_menu_model_item: diff --git a/pylauncher/launcher_model.pyc b/pylauncher/launcher_model.pyc new file mode 100644 index 0000000000000000000000000000000000000000..cb69520703ff3ca6f4814d7e4ede1e453a0b8e84 GIT binary patch literal 11233 zcmdT~O^h5z6|SDyo!uGldhPui$8kurk z*_rOy?jElP?Orev2oQoC;2coIfeQyXa_5MI1QOzaxFN&=apHjB`(91={A3;TlQm{% zyQlhf)vH&pzIyfEt113+3;?YwNL+eSt&sN03C zTvWGE>xeH9I-l?VEY@}~HBPpNlrmy`$Us`5%XX-0W7%AZjU@Se@7v&t)H z)Jje*EALcBoy(~e<;`c*(>e8&@)k1cnVdSOyt5f~F{jQeZz-cL=hV~Gz;>+)l?4C5 z-C|zow?rqS~vd_*=>_jQ*=Col>o7 z)hcDR3K?Za9Tub=7!=f(UPI6Lt{$O+=BnR<>;4bHbym23om^4=ilIQg6;|^%KN!9V z4Rz~~<0wGZtz;JWM$q;*H#RnEWjsJ6(4){#XHe+H?RK#9Y*voCewbE3f5&O}{Ht*s z#VPqji8SjvX%qb`6-IGK9>~MlN%HcwH>FXHT1(j-`?lrvJf7N4FLaxJY?GWWPEw>| z4OAt!fYKDBeSFuD@|*`}#)CF822~c7t@I+s{a&#f)ZmBF}Hv zyM5`IW3}^F6o>;)KE>{hl2J64jCtG_@tHO%@-z=hrI0S6M&7XFhds^MWlR1MHebY* zT*S@C%8+Hm1!NFxTs?ZlVCfWvGOeub8Yd>{LfvmUapIe96gGn0UhJen6q-)xnLE9p z?V0S*)FY`>O#B@qirFQL#7vu$d^pY_GhL${B&iuSgqd&;Qoobb&8v>vJeGU3)AHTa zY({M_F{7~EHyv}p#FVze%JUmR=zC@mf|yKiE_MH^$sTuN*{e~a=q3fG?nWRyScTgNuAk16`NDp_-0Rs_N=8gi_wI*f2B2Cjt zHl-OAEJNDNM>tebUZdj#p`8XP)|qI99Z~l}f@r@k84G7PyoArAA;*gu3LBWPSAuh&!+$8F1!oj6|u^flD<}h2al1y~Z`H_2%msBU)+E<+l9uoi;Dnh;Sx?5CE@)!n+fuWY zMB$K2;

t8SS$_EW`&Bn z`v*?KEARbQ9Zj=M>y$dwd-0UoMSqwbJhQ7Jx181-*&LxaO~m}=#F%eGhxpqU>Uqv56UQ z2=c*J;Sf|&w+ertdQ?%cudQWuSYamy8s5TnbD*s9h!!x+Q!4r91g{Es%n6Sbb%>#Y zN4lz7RS`2(>h3R#X!go`zbGET4LGlkFrIlCDm)0($2b=<6>L&*kHv6yi`D|%hZ9v9_tS*4GS=oFP94Z26QWs#=L zF@(P^P@p9dXtp>e&=3Y6BhWYu1}YILj~*!B`4Rcx*?d&Qiir4}h`1~w{`et_`1rpj z;&%*cu`D8fIQ0o>F`L%D{ea~)Tw5zDy)Ys%pqx!Q@TdRpiBb<&vL$$P|HbKSjeRin zZ>_Nxr*DPd6F{%X$p11n@?AsQkmJCUJ|R+KHH&;$?!@Bj!fRD{El#JOk~+FVQ7T+i zUUk#}oPz;afB|^yqXytmmfT)Z#qW!id6HHJL@^HU8~g7YH=&R1+T*mupT_FmBK`kruOugPPmv1wi(xWZaKxGa9BoA&Fv zcgT$`1N(;TrA@!%ODReFkfw+iZpRY}wo<1flr-oj+#s8NyL$9Aj?!?w+_U zb_4N;liGRTNg4-TElw1K7MqJqZaYeJUk>IV^k7Lx{DqMogsnvhB@}8$ySwn=qL%$dcemcI_(PR!ZuMekBdqi~U z#={PQu5QABHE+V2c0R8bJ*ygdS`1n&N@K0?b{;p4YdC3k)UfXa{(&A6OBR{R%!raW zWfswuarVMh)4WWLF1t1AgMDi7P5vgyy6Q;UJ^Qow@u;L?_&=Cs4^^AZD4o zaaD^f#I`NiX1CN1rK_QQ!U3bj+4?N|{0TcNt{^B}!F>(^;i|D>tW2%I_bcMLVl3dh zXq-0Y3m1f5LY*00^M!eYm5W6Ll!ZCn3U&FJlaKJpDP?e-tTj$6qDC2<=yme0dt3%( z32)Bfdu8eZdY#igDd9`tUcn`S_1!nDHH;CxgdWXJ-`w;2 z$sp)rgr#c}0A_92=As!i5PS{dOvW)23>ZH;p>RXcmq$aLAW5)d*G(=?3B9^;vN$GV6Ii(s)n z$J_I~eI7Saj$Vha;!&cWoGVfv=v3qVDl6kUX;3qG`4E>FcQrF_EEHA&)EaHGq6-i(K2b#JEs-7TFEOmePr3a4c@gG!wGUQn+ZIY12t1GotaGM&^!h-U*VP(+ zO`|XYHQ(CTbru5ooNK8Wbh>SL6Je^k0p-mIIUMFt1b{?6Q#G9qQzsEo-)HVYM(bnA za<#g%Pz5i-{tDId0d9=>5RamulLcZzND-640?Z5?MHG-YK$w66;#CP*?JOK@ArWkd z-}qgzNw7FGip0Wzh<$*z3jY!xl1YWE7=0ojlvi{OL&Sg*FY6kTp5P2_339BLP^{5S zkd02#3nRPEHM|f924-rw``ET<0hqtehT^Eu-lZ|}k=C;))un+@5fynLTRtXp9&v7MO7^=XnBL9@Ih2gVW7?>>?)ElT~ZSlqivbcwGp0KcQqQ{@& zN@#ydGbQX?*2^fmxa5z%gDhMV1%EWJny*@{R~%0a*DKp^cYQZ-?w$`FWba+MR%i~C&%cp2-rV^LaGxw0(M}F*hl0qhXYKA&5k9+h&zj;)5a2o(Y-*B zG6c!PgvM_mNkXkE0O3)A0jKO&nP8nNqD!`>m8zu13hX7mFljP5Rik286!1GedloNsxAYBAes%lFn z9=@PSJbZfa@^-|qjawkuIFO0nEo%*TYn#$Z(#3J($ZoWqUF!yD;x@y_E}*>jG3e${M|Ra5-8vZ6nqwd+ zA$o^>+!yi|SFZIAZ#Qv!SV;df`jQBPp`%9nLZM_-5uQCNh$p)LNHJ+(X?9Ckj@FBK z_yjTk4A|wEN76%k!ulLh&MGs&Ga>SS2=}KjK7qTS>yrUF7rEqz2yyFO_AvAo#tr)a z2;B^d9&vON$A8B)j&4Q){|UN%`OOP`3s`hHyDyUWpKyDFQJ5q$#Hkz}N+Xy;93?^8 zv4{6#xjuc=&lB+j9oHQ+14MZU8AlG)^A-e#j?9n`@%)s>_Lnc4H{u>npqprfnwO;K zq#5<_69Pn#PA`p+LJhdZ^aqW2Rp4*Kl|zxm7h+`ealQ~1%=D-W^fT0dO@2f|pvMsoO$4T+r#1SQ8P~JZ z64wa{-?iA6U&E}KjX3JaIvF+}u7`ZDA!%@!FuCXORrafkF)<|9Q6pQOglENz6B&>k z`g8*)pg#x)v$#M!Fb(p7uTOYyO*-|U@r+%m@s1}`3%L_yA>*P`Y1y31wED~AME!x$taNkF?d3JEcH z8VNLd!|-l$#wDJ+-_Bn{)00jYGnw=})hZbSglvz>d~zpyvM{NObbrPO( zTbvb(`qn9WhV?onC|eAZ50Y)}oGKl&cYqBA zmUnI+v$MPY-%~Vw{$FnC^!a#aFg*ce_yfuW{Sy5Uty07u2dSXUr$mMz8E)A$?L|T$ zeuwE1Aa`W4T^_}Wh1Ypqo6EhR(AzC=$axD>%Z8HHpotIxO#d$pdG;RH| zKbQx&N)>fsl(I~gAt8CeQ?XuGxl$&w%<4O9ON22KI!WvGbYoPBr8L99yE^pl^1Ji$ ntk4bUX&aW@RYRavC$Vrm&fCE;*Sg-@3Q3Qs*W literal 0 HcmV?d00001 diff --git a/setup.py b/setup.py old mode 100644 new mode 100755 index 349215c..91505cb --- a/setup.py +++ b/setup.py @@ -6,28 +6,26 @@ from setuptools import setup, find_packages here = os.path.abspath(os.path.dirname(__file__)) README = open(os.path.join(here, 'Readme.md')).read() -version = '1.0.00' setup(name='pylauncher', - version=version, + version='1.0.00', description="Standard PSI tool for accessing GUIs", long_description=README, + author='PSI', + url='https://github.psi.ch/projects/COS/repos/pylauncher/browse', + licence='GPLv3+', + keywords='launcher, caqtdm, medm, PSI', classifiers=[ # Get strings from # http://pypi.python.org/pypi?%3Aaction=list_classifiers 'Development Status :: 3 - Alpha', 'Environment :: Console', 'Intended Audience :: Developers', - 'Programming Language :: Python', 'Programming Language :: Python :: 2', - 'Topic :: Software Development :: Libraries :: Python Modules', - 'Topic :: Software Development :: Testing', - 'Topic :: Utilities', - 'License :: OSI Approved :: MIT License' + 'License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)' ], - keywords='launcher, caqtdm, medm, PSI', - author='PSI', - url='https://github.psi.ch/projects/COS/repos/pylauncher/browse', - license='MIT License', - packages=find_packages(exclude=['*.tests']), + #packages=find_packages(exclude=['*.tests']), + packages=['pylauncher'], + package_dir={'pylauncher': 'pylauncher'}, + package_data={'pylauncher': ['res/images/*.png', 'res/qss/*.qss']}, platforms=["any"], ) diff --git a/utils/__inti__.py b/utils/__inti__.py new file mode 100644 index 0000000..e69de29 diff --git a/utils/conda_package/pylauncher/bld.bat b/utils/conda_package/pylauncher/bld.bat new file mode 100644 index 0000000..6021130 --- /dev/null +++ b/utils/conda_package/pylauncher/bld.bat @@ -0,0 +1,2 @@ +"%PYTHON%" setup.py install +if errorlevel 1 exit 1 \ No newline at end of file diff --git a/utils/conda_package/pylauncher/build.sh b/utils/conda_package/pylauncher/build.sh new file mode 100644 index 0000000..31dc669 --- /dev/null +++ b/utils/conda_package/pylauncher/build.sh @@ -0,0 +1 @@ +$PYTHON setup.py install # Python command to install the script \ No newline at end of file diff --git a/utils/conda_package/pylauncher/meta.yaml b/utils/conda_package/pylauncher/meta.yaml new file mode 100644 index 0000000..651a126 --- /dev/null +++ b/utils/conda_package/pylauncher/meta.yaml @@ -0,0 +1,20 @@ +package: + name: pylauncher + version: 1.0.0 +source: + git_url: file:///home/rvintar/workspace/CSL/launcher_req/git/pylauncher +build: + entry_points: + - pylauncher = pylauncher.launcher:main +requirements: + build: + - python + - setuptools + - pyqt + run: + - python + - pyqt +about: + home: https://github.psi.ch/projects/COS/repos/pylauncher/browse + license: MIT + summary: "Standard PSI launcher application." \ No newline at end of file