From c1c9c0395fa846f9f669a71be4d3c2926c4585f8 Mon Sep 17 00:00:00 2001 From: Ludovic Claude Date: Wed, 4 Mar 2020 18:31:02 +0100 Subject: [PATCH 1/3] Add installer --- bids_manager.desktop | 7 +++++++ bids_manager.py | 5 ++++- setup.py | 36 ++++++++++++++++++++++++++++++++++++ 3 files changed, 47 insertions(+), 1 deletion(-) create mode 100644 bids_manager.desktop create mode 100644 setup.py diff --git a/bids_manager.desktop b/bids_manager.desktop new file mode 100644 index 0000000..bb2f026 --- /dev/null +++ b/bids_manager.desktop @@ -0,0 +1,7 @@ +[Desktop Entry] +Type=Application +Name=BIDSManager +Icon=bids_manager.ico +Exec=bids_manager +Terminal=false +Categories=Utility;Science;MedicalSoftware; diff --git a/bids_manager.py b/bids_manager.py index 90b3fe7..bae7544 100644 --- a/bids_manager.py +++ b/bids_manager.py @@ -3305,7 +3305,7 @@ def make_splash(): return splash + ['Version ' + BidsManager.version] -if __name__ == '__main__': +def main(): from time import sleep splsh = make_splash() @@ -3337,3 +3337,6 @@ def make_splash(): # root.update() # root.deiconify() root.mainloop() + +if __name__ == '__main__': + main() \ No newline at end of file diff --git a/setup.py b/setup.py new file mode 100644 index 0000000..dc02a4e --- /dev/null +++ b/setup.py @@ -0,0 +1,36 @@ +from setuptools import setup, find_packages +from os import path + +here = path.abspath(path.dirname(__file__)) + +setup( + name='bids-manager', + version='0.2.5', + zip_safe=False, + url='https://github.com/LREN-CHUV/data-tracking', + description='Extract meta-data from DICOM and NIFTI files', + author='Roehri', + license='GPL 3.0', + packages=['', 'generic_uploader'], + keywords='bids mri dicom nifti eeg ieeg', + install_requires=[ + 'QtPy', + 'pydicom', + 'future', + ], + include_package_data=True, + data_files = [ + ('share/applications', ['install/usr/share/applications/bids_manager.desktop']), + ('share/pixmaps', ['src/bids_manager.ico']), + ('', ['src/Tutorial_BIDS_Manager.pdf']), + ], + entry_points={'console_scripts': ['bids_manager=bids_manager:main']}, + classifiers=( + 'Intended Audience :: Developers', + 'Intended Audience :: Science/Research', + 'Operating System :: Unix', + 'License :: OSI Approved :: Gnu General Public License 3.0', + 'Topic :: Scientific/Engineering :: Bio-Informatics', + 'Programming Language :: Python :: 3 :: Only', + ) +) \ No newline at end of file From e586700c7454416712de99a52c61e47d727d322e Mon Sep 17 00:00:00 2001 From: Ludovic Claude Date: Thu, 5 Mar 2020 12:04:36 +0100 Subject: [PATCH 2/3] Move bids_manager into its own package --- .gitignore | 3 ++- bids_manager/__init__.py | 4 ++++ bids_manager.py => bids_manager/bids_manager.py | 10 +++++----- brainvision_hdr.py => bids_manager/brainvision_hdr.py | 0 ins_bids_class.py => bids_manager/ins_bids_class.py | 2 +- generic_uploader/__init__.py | 1 + generic_uploader/generic_uploader.py | 2 +- generic_uploader/import_by_modality.py | 2 +- setup.py | 8 ++++---- 9 files changed, 19 insertions(+), 13 deletions(-) create mode 100644 bids_manager/__init__.py rename bids_manager.py => bids_manager/bids_manager.py (99%) rename brainvision_hdr.py => bids_manager/brainvision_hdr.py (100%) rename ins_bids_class.py => bids_manager/ins_bids_class.py (99%) create mode 100644 generic_uploader/__init__.py diff --git a/.gitignore b/.gitignore index cefa54a..b425e60 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,7 @@ # Distribution / packaging .Python env/ +venv/ build/ develop-eggs/ dist/ @@ -27,4 +28,4 @@ generic_uploader/__pycache__/ *.spec # other stuff: -*.log \ No newline at end of file +*.log diff --git a/bids_manager/__init__.py b/bids_manager/__init__.py new file mode 100644 index 0000000..6465a7a --- /dev/null +++ b/bids_manager/__init__.py @@ -0,0 +1,4 @@ +from .bids_manager import * + +def main(): + run_app() \ No newline at end of file diff --git a/bids_manager.py b/bids_manager/bids_manager.py similarity index 99% rename from bids_manager.py rename to bids_manager/bids_manager.py index bae7544..71f6d79 100644 --- a/bids_manager.py +++ b/bids_manager/bids_manager.py @@ -34,7 +34,7 @@ from builtins import str from builtins import object from future import standard_library -import ins_bids_class as bids +import bids_manager.ins_bids_class as bids import os import platform from generic_uploader.generic_uploader import call_generic_uplader @@ -57,7 +57,7 @@ class BidsManager(Frame, object): # !!!!!!!!!! object is used to make the class bids_startfile = '' import_startfile = '' - def __init__(self, monitor_width, monitor_height): + def __init__(self, root, monitor_width, monitor_height): super().__init__() self.monitor_width = monitor_width self.monitor_height = monitor_height @@ -3305,7 +3305,7 @@ def make_splash(): return splash + ['Version ' + BidsManager.version] -def main(): +def run_app(): from time import sleep splsh = make_splash() @@ -3323,7 +3323,7 @@ def main(): width = root.winfo_screenwidth() height = root.winfo_screenheight() root.option_add("*Font", "10") - my_gui = BidsManager(width, height) + my_gui = BidsManager(root, width, height) root.protocol("WM_DELETE_WINDOW", my_gui.close_window) if not bids.BidsBrick.curr_user.lower() == 'jegou': if platform.system() == 'Windows': @@ -3339,4 +3339,4 @@ def main(): root.mainloop() if __name__ == '__main__': - main() \ No newline at end of file + run_app() \ No newline at end of file diff --git a/brainvision_hdr.py b/bids_manager/brainvision_hdr.py similarity index 100% rename from brainvision_hdr.py rename to bids_manager/brainvision_hdr.py diff --git a/ins_bids_class.py b/bids_manager/ins_bids_class.py similarity index 99% rename from ins_bids_class.py rename to bids_manager/ins_bids_class.py index b0befee..913a110 100644 --- a/ins_bids_class.py +++ b/bids_manager/ins_bids_class.py @@ -37,7 +37,7 @@ from sys import argv, modules, exc_info #from sys import modules import json -import brainvision_hdr as bv_hdr +import bids_manager.brainvision_hdr as bv_hdr from datetime import datetime import pprint import gzip diff --git a/generic_uploader/__init__.py b/generic_uploader/__init__.py new file mode 100644 index 0000000..c6a1725 --- /dev/null +++ b/generic_uploader/__init__.py @@ -0,0 +1 @@ +from generic_uploader import * \ No newline at end of file diff --git a/generic_uploader/generic_uploader.py b/generic_uploader/generic_uploader.py index cbc30cf..769c5d6 100644 --- a/generic_uploader/generic_uploader.py +++ b/generic_uploader/generic_uploader.py @@ -40,7 +40,7 @@ from generic_uploader.anonymizeDicom import anonymize as anonymize_dcm # import pysftp # import paramiko -import ins_bids_class +import bids_manager.ins_bids_class from generic_uploader import patient_requirements_class from generic_uploader.modality_gui import ModalityGui from generic_uploader.import_by_modality import import_by_modality diff --git a/generic_uploader/import_by_modality.py b/generic_uploader/import_by_modality.py index 11e037b..315d2e7 100644 --- a/generic_uploader/import_by_modality.py +++ b/generic_uploader/import_by_modality.py @@ -22,7 +22,7 @@ from PyQt5 import QtWidgets import os -import ins_bids_class +import bids_manager.ins_bids_class from generic_uploader.meg_import_dialog import MegImportDialog diff --git a/setup.py b/setup.py index dc02a4e..0cfe410 100644 --- a/setup.py +++ b/setup.py @@ -11,7 +11,7 @@ description='Extract meta-data from DICOM and NIFTI files', author='Roehri', license='GPL 3.0', - packages=['', 'generic_uploader'], + packages=find_packages(), keywords='bids mri dicom nifti eeg ieeg', install_requires=[ 'QtPy', @@ -20,9 +20,9 @@ ], include_package_data=True, data_files = [ - ('share/applications', ['install/usr/share/applications/bids_manager.desktop']), - ('share/pixmaps', ['src/bids_manager.ico']), - ('', ['src/Tutorial_BIDS_Manager.pdf']), + ('share/applications', ['bids_manager.desktop']), + ('share/pixmaps', ['bids_manager.ico']), + ('.', ['Tutorial_BIDS_Manager.pdf']), ], entry_points={'console_scripts': ['bids_manager=bids_manager:main']}, classifiers=( From 31027e834d9bb6008b51b3caa8a22109c6fb3fbe Mon Sep 17 00:00:00 2001 From: Ludovic Claude Date: Thu, 5 Mar 2020 12:14:07 +0100 Subject: [PATCH 3/3] Define icon location --- bids_manager.desktop | 2 +- setup.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/bids_manager.desktop b/bids_manager.desktop index bb2f026..5cccfe6 100644 --- a/bids_manager.desktop +++ b/bids_manager.desktop @@ -1,7 +1,7 @@ [Desktop Entry] Type=Application Name=BIDSManager -Icon=bids_manager.ico +Icon=/usr/local/share/icons/bids_manager.ico Exec=bids_manager Terminal=false Categories=Utility;Science;MedicalSoftware; diff --git a/setup.py b/setup.py index 0cfe410..884e4db 100644 --- a/setup.py +++ b/setup.py @@ -21,7 +21,7 @@ include_package_data=True, data_files = [ ('share/applications', ['bids_manager.desktop']), - ('share/pixmaps', ['bids_manager.ico']), + ('share/icons', ['bids_manager.ico']), ('.', ['Tutorial_BIDS_Manager.pdf']), ], entry_points={'console_scripts': ['bids_manager=bids_manager:main']},