From 99d751d5563407f7cdbb8e704916f5021799c16f Mon Sep 17 00:00:00 2001 From: Roberto Javier Homs Puron Date: Mon, 30 Mar 2020 18:59:58 +0200 Subject: [PATCH 01/10] Adapt to use entry points Adapt setup.py and scripts to use entry point instead of scripts --- fandango/scripts/{csv2tango => csv2tango.py} | 0 fandango/scripts/{ctds => ctds.py} | 0 .../scripts/{fandango => fandango_script.py} | 5 +- fandango/scripts/folder-gui | 4 -- fandango/scripts/folder-gui.py | 10 +++ fandango/scripts/{sardanact => sardanact.py} | 0 fandango/scripts/{tango2csv => tango2csv.py} | 51 +++++++------- fandango/scripts/tango2json | 64 ----------------- fandango/scripts/tango2json.py | 70 +++++++++++++++++++ fandango/scripts/tango_host | 14 ---- fandango/scripts/tango_host.py | 18 +++++ .../{tango_monitor => tango_monitor.py} | 4 +- .../{tango_property => tango_property.py} | 8 ++- .../{tango_servers => tango_servers.py} | 6 +- setup.py | 47 ++++++++----- 15 files changed, 171 insertions(+), 130 deletions(-) rename fandango/scripts/{csv2tango => csv2tango.py} (100%) rename fandango/scripts/{ctds => ctds.py} (100%) rename fandango/scripts/{fandango => fandango_script.py} (99%) delete mode 100755 fandango/scripts/folder-gui create mode 100755 fandango/scripts/folder-gui.py rename fandango/scripts/{sardanact => sardanact.py} (100%) rename fandango/scripts/{tango2csv => tango2csv.py} (90%) delete mode 100755 fandango/scripts/tango2json create mode 100755 fandango/scripts/tango2json.py delete mode 100755 fandango/scripts/tango_host create mode 100755 fandango/scripts/tango_host.py rename fandango/scripts/{tango_monitor => tango_monitor.py} (99%) rename fandango/scripts/{tango_property => tango_property.py} (98%) rename fandango/scripts/{tango_servers => tango_servers.py} (92%) diff --git a/fandango/scripts/csv2tango b/fandango/scripts/csv2tango.py similarity index 100% rename from fandango/scripts/csv2tango rename to fandango/scripts/csv2tango.py diff --git a/fandango/scripts/ctds b/fandango/scripts/ctds.py similarity index 100% rename from fandango/scripts/ctds rename to fandango/scripts/ctds.py diff --git a/fandango/scripts/fandango b/fandango/scripts/fandango_script.py similarity index 99% rename from fandango/scripts/fandango rename to fandango/scripts/fandango_script.py index ca776b709..18bd728ce 100755 --- a/fandango/scripts/fandango +++ b/fandango/scripts/fandango_script.py @@ -83,7 +83,7 @@ If it is problem is solved in the future, then will be moved to fandango.linos """ -if __name__ == '__main__': +def main(): import sys cmd = '' try: @@ -196,3 +196,6 @@ def get_module_name(o): sys.exit(1) sys.exit(0) + +if __name__ == '__main__': + main() diff --git a/fandango/scripts/folder-gui b/fandango/scripts/folder-gui deleted file mode 100755 index 15185dab2..000000000 --- a/fandango/scripts/folder-gui +++ /dev/null @@ -1,4 +0,0 @@ -#!/usr/bin/env python - -import fandango.device.FolderGUI -g = fandango.device.FolderGUI.main() diff --git a/fandango/scripts/folder-gui.py b/fandango/scripts/folder-gui.py new file mode 100755 index 000000000..da6c8bc95 --- /dev/null +++ b/fandango/scripts/folder-gui.py @@ -0,0 +1,10 @@ +#!/usr/bin/env python + + +def main(): + import fandango.device.FolderGUI + g = fandango.device.FolderGUI.main() + + +if __name__ == '__main__': + main() \ No newline at end of file diff --git a/fandango/scripts/sardanact b/fandango/scripts/sardanact.py similarity index 100% rename from fandango/scripts/sardanact rename to fandango/scripts/sardanact.py diff --git a/fandango/scripts/tango2csv b/fandango/scripts/tango2csv.py similarity index 90% rename from fandango/scripts/tango2csv rename to fandango/scripts/tango2csv.py index ea714d268..7a40bfd23 100755 --- a/fandango/scripts/tango2csv +++ b/fandango/scripts/tango2csv.py @@ -165,29 +165,32 @@ def tango2csv(filters,options=[]): except Exception,e: print '-------> An unforeseen exception occured....',traceback.format_exc() - -if __name__ == '__main__': - - opts = [a for a in sys.argv[1:] if a.startswith('-')] - args = [a for a in sys.argv[1:] if not a.startswith('-')] - if not args: - print(__doc__) - elif '--tree' not in opts: - tango2csv(args,opts) + + +def main(): + opts = [a for a in sys.argv[1:] if a.startswith('-')] + args = [a for a in sys.argv[1:] if not a.startswith('-')] + if not args: + print(__doc__) + elif '--tree' not in opts: + tango2csv(args, opts) + else: + if len(args) > 1: + fout = args[-1] + args = args[:-1] else: - if len(args)>1: - fout = args[-1] - args = args[:-1] - else: - fout = '' + fout = '' + + text = fd.tango.tango2table(args, opts=opts + ['--text']) + + if fout: + fout = open(fout, 'w') + fout.write(text) + fout.close() + else: + print(text) + +if __name__ == '__main__': + main() + - text = fd.tango.tango2table(args,opts=opts+['--text']) - - if fout: - fout = open(fout,'w') - fout.write(text) - fout.close() - else: - print(text) - - diff --git a/fandango/scripts/tango2json b/fandango/scripts/tango2json deleted file mode 100755 index 7af0c9ce5..000000000 --- a/fandango/scripts/tango2json +++ /dev/null @@ -1,64 +0,0 @@ -#!/usr/bin/env python - -import fandango as fn -import sys,json,gzip - -__doc__ = """ -Usage: - - > tango2json.py [--compress] [--commands] [--properties] [--attributes] "filename.json" dev/name/1 "dev/exp/*" -""" - -args,params,devs,data = [],[],[],fn.CaselessDict() - -t0 = fn.now() -i = 1 -source = '' - -while i tango2json.py [--compress] [--commands] [--properties] [--attributes] "filename.json" dev/name/1 "dev/exp/*" +""" + + +def main(): + args,params,devs,data = [],[],[],fn.CaselessDict() + + t0 = fn.now() + i = 1 + source = '' + + while i Date: Mon, 30 Mar 2020 19:02:19 +0200 Subject: [PATCH 02/10] Update ignore file --- .gitignore | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.gitignore b/.gitignore index 349f22cc7..ee2b39ca2 100644 --- a/.gitignore +++ b/.gitignore @@ -5,3 +5,5 @@ *egg* *dist* *tar.gz* +.idea +build \ No newline at end of file From 39cb2c0e98c18b7d2de3bb2341c8f532bc561461 Mon Sep 17 00:00:00 2001 From: Roberto Javier Homs Puron Date: Mon, 30 Mar 2020 19:10:53 +0200 Subject: [PATCH 03/10] Add conda package configuration --- conda/conda_build_config.yaml | 6 +++++ conda/meta.yaml | 51 +++++++++++++++++++++++++++++++++++ 2 files changed, 57 insertions(+) create mode 100644 conda/conda_build_config.yaml create mode 100644 conda/meta.yaml diff --git a/conda/conda_build_config.yaml b/conda/conda_build_config.yaml new file mode 100644 index 000000000..b5d49c7ba --- /dev/null +++ b/conda/conda_build_config.yaml @@ -0,0 +1,6 @@ +python: + - 2.7 + +numpy: + - 1.11 + diff --git a/conda/meta.yaml b/conda/meta.yaml new file mode 100644 index 000000000..1515462a4 --- /dev/null +++ b/conda/meta.yaml @@ -0,0 +1,51 @@ +{% set data = load_setup_py_data(setup_file="../setup.py", + from_recipe_dir=True) %} + +package: + name: {{ data.get('name') }} + version: {{ data.get('version') }} + +source: + path: .. + +build: + noarch: python + script: '{{PYTHON}} setup.py install --single-version-externally-managed + --record=record.txt' + + string: 'py{{CONDA_PY}}_{{GIT_DESCRIBE_HASH}}' + entry_points: + - ctds = fandango.scripts.ctds:main + - csv2tango = fandango.scripts.csv2tango:main + - tango2csv = fandango.scripts.tango2csv:main + - tango2json = fandango.scripts.tango2json:main + - sardanact = fandango.scripts.sardanact:main + - folder-gui = fandango.scripts.folder-gui:main + - fandango = fandango.scripts.fandango_script:main + - tango_servers = fandango.scripts.tango_servers:main + - tango_host = fandango.scripts.tango_host:main + - tango_property = fandango.scripts.tango_property:main_script + - tango_monitor = fandango.scripts.tango_monitor:main + +requirements: + host: + - python {{python}} + - setuptools + run: + - python {{python}} + - future + - pytango + +test: + import: + - fandango + +about: + home: {{ data.get('url')}} + license: {{ data.get('license')}} + summary: {{ data.get('description')}} + author: {{ data.get('author')}} + description: {{ data.get('long_description')}} + + + From 629d8213783c1172d4068428f2027b36086418b6 Mon Sep 17 00:00:00 2001 From: Roberto Javier Homs Puron Date: Tue, 31 Mar 2020 09:29:19 +0200 Subject: [PATCH 04/10] Rename entry point Use the previous script name and create the same entry point in conda. --- conda/meta.yaml | 2 +- fandango/scripts/folder-gui.py | 10 ---------- setup.py | 2 +- 3 files changed, 2 insertions(+), 12 deletions(-) delete mode 100755 fandango/scripts/folder-gui.py diff --git a/conda/meta.yaml b/conda/meta.yaml index 1515462a4..999bfd77a 100644 --- a/conda/meta.yaml +++ b/conda/meta.yaml @@ -20,7 +20,7 @@ build: - tango2csv = fandango.scripts.tango2csv:main - tango2json = fandango.scripts.tango2json:main - sardanact = fandango.scripts.sardanact:main - - folder-gui = fandango.scripts.folder-gui:main + - folder-gui = fandango.device.FolderGUI:main - fandango = fandango.scripts.fandango_script:main - tango_servers = fandango.scripts.tango_servers:main - tango_host = fandango.scripts.tango_host:main diff --git a/fandango/scripts/folder-gui.py b/fandango/scripts/folder-gui.py deleted file mode 100755 index da6c8bc95..000000000 --- a/fandango/scripts/folder-gui.py +++ /dev/null @@ -1,10 +0,0 @@ -#!/usr/bin/env python - - -def main(): - import fandango.device.FolderGUI - g = fandango.device.FolderGUI.main() - - -if __name__ == '__main__': - main() \ No newline at end of file diff --git a/setup.py b/setup.py index 042593658..31b007be2 100644 --- a/setup.py +++ b/setup.py @@ -61,7 +61,7 @@ 'tango2csv = fandango.scripts.tango2csv:main', 'tango2json = fandango.scripts.tango2json:main', 'sardanact = fandango.scripts.sardanact:main', - 'folder_gui = fandango.device.FolderGUI:main', + 'folder-gui = fandango.device.FolderGUI:main', 'fandango = fandango.scripts.fandango:main', 'tango_servers = fandango.scripts.tango_servers:main', 'tango_host = fandango.scripts.tango_host:main', From 983ae4e5266dff70c447dc1118087052ad5c893a Mon Sep 17 00:00:00 2001 From: Roberto Javier Homs Puron Date: Wed, 1 Apr 2020 10:55:26 +0200 Subject: [PATCH 05/10] Add build number to the package name --- conda/meta.yaml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/conda/meta.yaml b/conda/meta.yaml index 999bfd77a..286a8d80a 100644 --- a/conda/meta.yaml +++ b/conda/meta.yaml @@ -9,11 +9,13 @@ source: path: .. build: + number: {{environ.get('BUILD_NUMBER',0)}} noarch: python script: '{{PYTHON}} setup.py install --single-version-externally-managed --record=record.txt' - string: 'py{{CONDA_PY}}_{{GIT_DESCRIBE_HASH}}' + string: 'py{{CONDA_PY}}_{{ PKG_BUILDNUM }}_{{environ.get + ("GIT_DESCRIBE_HASH",0) }}' entry_points: - ctds = fandango.scripts.ctds:main - csv2tango = fandango.scripts.csv2tango:main From d1f3724c615cce611e360ed93d493ac3d5dc91e7 Mon Sep 17 00:00:00 2001 From: Roberto Javier Homs Puron Date: Wed, 1 Apr 2020 17:04:50 +0200 Subject: [PATCH 06/10] Extract entry points from setup.py --- conda/meta.yaml | 22 ++++++---------------- 1 file changed, 6 insertions(+), 16 deletions(-) diff --git a/conda/meta.yaml b/conda/meta.yaml index 286a8d80a..3562aee0c 100644 --- a/conda/meta.yaml +++ b/conda/meta.yaml @@ -2,8 +2,8 @@ from_recipe_dir=True) %} package: - name: {{ data.get('name') }} - version: {{ data.get('version') }} + name: {{data.get('name').lower().replace(' ', '_')}} + version: {{data.get('version')}} source: path: .. @@ -16,18 +16,7 @@ build: string: 'py{{CONDA_PY}}_{{ PKG_BUILDNUM }}_{{environ.get ("GIT_DESCRIBE_HASH",0) }}' - entry_points: - - ctds = fandango.scripts.ctds:main - - csv2tango = fandango.scripts.csv2tango:main - - tango2csv = fandango.scripts.tango2csv:main - - tango2json = fandango.scripts.tango2json:main - - sardanact = fandango.scripts.sardanact:main - - folder-gui = fandango.device.FolderGUI:main - - fandango = fandango.scripts.fandango_script:main - - tango_servers = fandango.scripts.tango_servers:main - - tango_host = fandango.scripts.tango_host:main - - tango_property = fandango.scripts.tango_property:main_script - - tango_monitor = fandango.scripts.tango_monitor:main + entry_points: {{data.get('entry_points', {}).get('console_scripts', [])}} requirements: host: @@ -39,8 +28,9 @@ requirements: - pytango test: - import: - - fandango + requirementes: + -pytango + import: {{data.get('packages')}} about: home: {{ data.get('url')}} From 9f0985046bcd3de1c9751be54209c9dc9e81ad22 Mon Sep 17 00:00:00 2001 From: Roberto Javier Homs Puron Date: Wed, 1 Apr 2020 17:38:49 +0200 Subject: [PATCH 07/10] Add protection to get the git hash --- conda/meta.yaml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/conda/meta.yaml b/conda/meta.yaml index 3562aee0c..c4436f43b 100644 --- a/conda/meta.yaml +++ b/conda/meta.yaml @@ -1,6 +1,8 @@ {% set data = load_setup_py_data(setup_file="../setup.py", from_recipe_dir=True) %} +{% set GIT_HASHTAG = os.popen("git describe --always").read().strip()%} + package: name: {{data.get('name').lower().replace(' ', '_')}} version: {{data.get('version')}} @@ -14,8 +16,7 @@ build: script: '{{PYTHON}} setup.py install --single-version-externally-managed --record=record.txt' - string: 'py{{CONDA_PY}}_{{ PKG_BUILDNUM }}_{{environ.get - ("GIT_DESCRIBE_HASH",0) }}' + string: 'py{{CONDA_PY}}_{{ PKG_BUILDNUM }}_g{{GIT_HASHTAG}}' entry_points: {{data.get('entry_points', {}).get('console_scripts', [])}} requirements: From 45a1ac8e1ab8ff6009fe52aa4fd52ee5a7667d71 Mon Sep 17 00:00:00 2001 From: Roberto Javier Homs Puron Date: Wed, 1 Apr 2020 17:50:03 +0200 Subject: [PATCH 08/10] Fix mistake --- conda/meta.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/conda/meta.yaml b/conda/meta.yaml index c4436f43b..acc119f32 100644 --- a/conda/meta.yaml +++ b/conda/meta.yaml @@ -29,8 +29,8 @@ requirements: - pytango test: - requirementes: - -pytango + requires: + - pytango import: {{data.get('packages')}} about: From 0305d8a0b683d0c983c20c532f06f52d7a7cffc4 Mon Sep 17 00:00:00 2001 From: Roberto Javier Homs Puron Date: Fri, 3 Apr 2020 13:47:54 +0200 Subject: [PATCH 09/10] Fix mistake --- conda/meta.yaml | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/conda/meta.yaml b/conda/meta.yaml index acc119f32..3c0294292 100644 --- a/conda/meta.yaml +++ b/conda/meta.yaml @@ -31,8 +31,11 @@ requirements: test: requires: - pytango - import: {{data.get('packages')}} - + - future + imports: + {% for pack in data['packages'] %} + - {{pack}} + {% endfor %} about: home: {{ data.get('url')}} license: {{ data.get('license')}} From 97e32904b31120dc1c6c58e6b31919c5d97e754a Mon Sep 17 00:00:00 2001 From: Roberto Javier Homs Puron Date: Fri, 3 Apr 2020 17:21:25 +0200 Subject: [PATCH 10/10] Add more robust way to get the git hash --- conda/meta.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/conda/meta.yaml b/conda/meta.yaml index 3c0294292..f968f155f 100644 --- a/conda/meta.yaml +++ b/conda/meta.yaml @@ -1,7 +1,8 @@ {% set data = load_setup_py_data(setup_file="../setup.py", from_recipe_dir=True) %} -{% set GIT_HASHTAG = os.popen("git describe --always").read().strip()%} +{% set GIT_HASHTAG = os.popen("git log --pretty=format:'%h' -n 1") + .read().strip()%} package: name: {{data.get('name').lower().replace(' ', '_')}}