ChangeLog for pysas =================== Version 0.9.1 - 2020-10-13 (EO) ------------- + src/pysas/parser.py: Removed left over wrong import statement (line 58). Version 0.9 - 2020-10-12 (EO) ----------- + These changes fix SPRs: 7567, 7568 and 7574. + src/pysas/parser.py: - Added method taskparser in class ParseArgs. Creates parser and parse args (options and parameters) entered in the command line. - Added method procopt in class ParseArgs. Identifies immediate options -m, -v, -d, -h, -p and set Exit to True. Identifies environment cumulative options and sets Exit to False. + src/pysas/sastask.py: - Added p.taskparser() and self.exit = p.procopt(), in method processargs of class MyTask. - Added checking of Exit after p.procopt() call in method processargs. Return from method on True. t avoids using sys.exit(0) which is catched as execption SystemExit by interactive ipython sessions. - Added check for Exit in runtask method of MyTask. Return on True. + src/pysas/runtask.py: - Included code from wrapper.py to handle running non Python tasks. + src/pysas/wrapper.py: - Included class Wrapper to handle runing non-python tasks from Jupyter Notebooks and interacctive ipython. + src/pysas/bin/wrapper: Removed. + Makefile: Updated. + setup.py: Updated. + README.md: Updated. Version 0.8 - 2020-10-02 (EO) ----------- + Makefile: Added src/pysas/bin to SUBDIRS. + src/pysas: - Added bin/wrapper script. First script in pysas. Aimed to run non Python SAS tasks, e.g. taskname, as wrapper task=taskname args where args can be any possible arguments to be used to run taskname. These arguments can be either of the form of param=value or param='value value value ....value' or any of the options available for any SAS task (e.g. -v, -d, -m, etc). - Added wrapper.py module to run the non Python task via Python subprocess packagei, with all the arguments. + src/pysas/runtask.py: - Modified method in class RunTask to search for all pysas packages and put them in list 'pysaspkgs'. Uses pkgutil.walk_packages. Any package not belonging to pysaspkgs is considered a non Python task, therefore will be run through the run method in wrapper.py module. + src/pysas/parser.py: - Modified processing of version to support also non Python tasks. - Modified runext method in line with code used in wrapper.py. + setup.py: Added scripts=['src/pysas/bin/wrapper'] + README.md: Updated. + src/pysas/param: Fixed bug regarding the existence of self.xmlFile: If no .par file is found for the task, this file is not defined. + src/pysas/sastask.py: Added customized logger with name, two handlers console and file, default logging levels set to WARNING and ERROR and specific formatting for each them respectively. Version 0.7.1 - 2020-09-10 (EO-AI) ------------- + src/pysas/error.py: * Added self to msgLayerValues and to msgLevelValues in class Error__init__ method. * Added missing prefix 'subprocess' to call in error method. Version 0.7 - 2020-09-10 (EO) ----------- + src/pysas/sastask.py: * Added dictionaries argsdic, parsdic and iparsdic to method processargs. argsdic includes parameters (param=value) entered command line. parsdic includes all par file parameers and their default values. iparsdic is the merge of both resulting in a dictionary of parameters to be passed to any task module for execution. * Modified runtask method accordingly to previous change. + src/pysas/runtask.py: replaced iargs by iparsdic as input argument. Version 0.6.1 - 2020-09-08 (EO) ------------- + src/pysas/parser.py: Removed debug print. + src/pysas/sastask.py: Changed ordering logic for inargs. Version 0.6 - 2020-09-03 (EO) ----------- + src/pysas: Added write_version.py, version.py.in and version.py to produce package __version__ object. + src/pysas/Makefile: * Added DATASCRIPTS target to run write_version.py * Added $(PYTHONLIBDIR)/pysas/__pycache__ to CLOBBERDIRS. * Added $(PYTHONLIBDIR)/pysas/*.py to CLOBBERFILES * Now old soft links are removed before rewritten. + src/pysas/__init__.py: Import of base pysas modules, sastask, parser, param, error and runtask, are now imprted relatively. Added import of .version to get __version__ object. + error.py, param.py, parser.py, sastask.py and runtask.py: Added classification of imports. + src/pysas/parser.py: Import of taskname is now absolute in import_module, + src/pysas/runtask.py: Import of taskname is now absolute in import_module. + DEPEND: sas package must have version 1.603 + README.md: Fixed typos. Version 0.5.1 - 2020-08-27 (EO) ------------- + src/pysas/param.py: Fix bug while looking for par file. Version 0.5 - 2020-07-17 (EO) ----------- + src/pysas/Makefile: Repeated previous changes. Apparently did not get through. Version 0.4 - 2020-07-17 (EO) ----------- + src/pysas/Makefile: Removed pysas dir from CLOBBERDIRS. Removed creation of $(PYTHONLIBDIR)/pysas in pysas target. Version 0.3 - 2020-07-16 (EO) ----------- + doc/pysas_description.tex: Fixed some issues with first latex draft doc. Version 0.2 - 2020-07-12 (EO) ----------- + SAS Python base package, currently formed by the following modules: * sastask.py: Defines the base class SASTask and the child class MyTask, with specific methods, that all Python tasks will use. * param.py: Class paramXmlInforeader to read and load task par file. * parser.py: Class ParseArgs is responsible of handling tasks arguments, either task parameters or options. * runtask.py: Class RunTask, helps to run tasks. Version 0.1 - 2020-06-13 ------------------------ + Directory structure created by pkgmaker.