{ "info": { "author": "Denis Wallerich", "author_email": "denis.wallerich@datim.fr", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "License :: OSI Approved :: BSD License", "Operating System :: OS Independent", "Programming Language :: Python :: 3", "Topic :: Internet :: File Transfer Protocol (FTP)", "Topic :: Software Development :: Libraries", "Topic :: System :: Hardware :: Mainframes" ], "description": "=========\nzosftplib\n========= \n\n**A FTP subclass which adds some Mainframe z/OS features like job submission, execution of sql/DB2 queries, ...**\n\nUsage\n===== \n\n ::\n\n\t import zosftplib\n\t Myzftp = zosftplib.Zftp(mvshost, mvsuser, passwd,\n timeout=500.0, sbdataconn='(ibm-1147,iso8859-1)')\n\nFeatures\n========\n\n\nsubmitting sql/DB2 queries and retrieving their outputs \n-------------------------------------------------------\n\n ::\n\n\t with open('/tmp/systables.csv', 'w') as outfile:\n\t for line in Myzftp.exec_sql(\"SELECT * FROM SYSIBM.SYSTABLES WITH UR\"):\n\t\t outfile.write(';'.join(line.split()) + '\\n')\n\n\n\nsubmitting batch jobs, pending their outputs \n--------------------------------------------\n\n ::\n\n # easy job for zos:\n job = Myzftp.submit_wait_job('//IBMUSERX JOB MSGLEVEL(1,1)\\n'\n '//STEP001 EXEC PGM=IEFBR14',\n purge=True)\n print \"rc:\", job[\"rc\"], \"Jes status:\", job[\"status\"]\n for line in job[\"output\"]:\n print line\n\n\n This produces the following output::\n\n rc: RC=0000 Jes status: OUTPUT (job purged)\n 1 J E S 2 J O B L O G -- S Y S T E M S Y S 1 -- N O D E N 1 \n 0 \n 17.49.35 JOB03914 ---- WEDNESDAY, 27 NOV 2013 ----\n 17.49.35 JOB03914 IRR010I USERID IBMUSER IS ASSIGNED TO THIS JOB.\n 17.49.35 JOB03914 ICH70001I IBMUSER LAST ACCESS AT 17:47:56 ON WEDNESDAY, NOVEMBER 27, 2013\n 17.49.35 JOB03914 $HASP373 IBMUSERX STARTED - INIT 1 - CLASS A - SYS SYS1\n 17.49.35 JOB03914 IEF403I IBMUSERX - STARTED - TIME=17.49.35\n 17.49.35 JOB03914 IEF404I IBMUSERX - ENDED - TIME=17.49.35\n 17.49.35 JOB03914 $HASP395 IBMUSERX ENDED\n 0------ JES2 JOB STATISTICS ------ \n - 27 NOV 2013 JOB EXECUTION DATE \n - 2 CARDS READ \n - 24 SYSOUT PRINT RECORDS \n - 0 SYSOUT PUNCH RECORDS \n - 1 SYSOUT SPOOL KBYTES \n - 0.00 MINUTES EXECUTION TIME \n END OF JES SPOOL FILE \n 1 //IBMUSERX JOB MSGLEVEL(1,1) JOB03914\n 2 //STEP001 EXEC PGM=IEFBR14 \n END OF JES SPOOL FILE \n ICH70001I IBMUSER LAST ACCESS AT 17:47:56 ON WEDNESDAY, NOVEMBER 27, 2013\n IEF142I IBMUSERX STEP001 - STEP WAS EXECUTED - COND CODE 0000\n IEF373I STEP/STEP001 /START 2013331.1749\n IEF374I STEP/STEP001 /STOP 2013331.1749 CPU 0MIN 00.01SEC SRB 0MIN 00.00SEC VIRT 4K SYS 232K EXT 0K SYS 10780K\n IEF375I JOB/IBMUSERX/START 2013331.1749\n IEF376I JOB/IBMUSERX/STOP 2013331.1749 CPU 0MIN 00.01SEC SRB 0MIN 00.00SEC\n\n\nz/OS Catalog and JES spool informations \n---------------------------------------\n\n ::\n\n for x in Myzftp.list_catalog('SYS1.*'): \n print x[\"Dsname\"], x[\"Dsorg\"], x[\"Used\"], \"tracks\"\n\n # print all \"ACTIVE\" jobs:\n for job in Myzftp.list_jes_spool('', '', 'ACTIVE'):\n\t print job\n\n This produces the following output::\n\n JOBNAME JOBID OWNER STATUS CLASS\n BPXAS STC04218 START2 ACTIVE STC \n PORTMAP STC04182 START2 ACTIVE STC \n BPXAS STC04179 START2 ACTIVE STC \n NFSC STC04171 START2 ACTIVE STC \n CICSA STC04170 START2 ACTIVE STC \n TCPIP STC04162 TCPIP ACTIVE STC \n TN3270 STC04163 START2 ACTIVE STC \n SDSF STC04160 START2 ACTIVE STC 1 spool files \n TSO STC04158 START1 ACTIVE STC 1 spool files \n INIT STC04157 START2 ACTIVE STC \n TCPIP STC04162 TCPIP ACTIVE STC \n VTAM STC04147 START1 ACTIVE STC \n RACF STC04164 START2 ACTIVE STC \n ...\n\nRetrieve thousands of members\n-----------------------------\n\n ::\n\n Myzftp.get_members('SYS1.PARMLIB', '/tmp/parmlib/')\n\n Myzftp.get_members('SYS1.LINKLIB', '/tmp/linklib/',\n members='*', retr='binary', ftp_threads=10)\n\n\nGet/put sequential text/binary z/OS file \n----------------------------------------\n\n ::\n\n\t Myzftp.download_binary('SYS1.MAN1', '/tmp/smf.bin')\n\n Myzftp.upload_text('/tmp/bigdata.txt', 'IBMUSER.BIGDATA',\n sitecmd='lrecl=1024 cyl pri=500 sec=100')\n\n\nInstallation\n============ \n\nThe package is available as a Pip package:\n\n``$ sudo pip install zosftplib``\n\nOr using easy_install:\n\n``$ sudo easy_install zosftplib``\n\n\nChangelog\n=========\n\n 2.0 - (2019-01-15) \n 1.0 - (2013-11-25) \n Initial release.\n\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://www.datim.fr", "keywords": "", "license": "BSD", "maintainer": "", "maintainer_email": "", "name": "zosftplib", "package_url": "https://pypi.org/project/zosftplib/", "platform": "", "project_url": "https://pypi.org/project/zosftplib/", "project_urls": { "Homepage": "http://www.datim.fr" }, "release_url": "https://pypi.org/project/zosftplib/2.0/", "requires_dist": null, "requires_python": "", "summary": "z/OS Mainframe ftplib subclass", "version": "2.0" }, "last_serial": 4703815, "releases": { "1.0": [ { "comment_text": "", "digests": { "md5": "08756851b8ddf87ff3d9a3bf3f757852", "sha256": "8a5b9e36646996774332828f21eae2b3785d9542e5463e812c476ba351276a10" }, "downloads": -1, "filename": "zosftplib-1.0-py2.7.egg", "has_sig": false, "md5_digest": "08756851b8ddf87ff3d9a3bf3f757852", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 21205, "upload_time": "2013-11-30T08:50:01", "url": "https://files.pythonhosted.org/packages/f5/b4/f9feb33050f20587b789efd395d1c50b3063cc03d0699f5864bb08d8e07b/zosftplib-1.0-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "37aac9c1256906f829c2d14249adc313", "sha256": "934239e05bdfc3963bcb4e258fc6df75b0b882605d24097887a81a347b883b1c" }, "downloads": -1, "filename": "zosftplib-1.0.tar.gz", "has_sig": false, "md5_digest": "37aac9c1256906f829c2d14249adc313", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14633, "upload_time": "2013-11-30T08:49:39", "url": "https://files.pythonhosted.org/packages/bb/bd/a9f5a40310a8e83c287b45707c190369c2e9ef16556b3504bee1c0addae0/zosftplib-1.0.tar.gz" } ], "2.0": [ { "comment_text": "", "digests": { "md5": "91d8f661f20a14e759870bb94df47368", "sha256": "9f5b8827ded529911f232eaedd9eebbe5bee65f55372a6d4b95a3d4c20bda1f5" }, "downloads": -1, "filename": "zosftplib-2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "91d8f661f20a14e759870bb94df47368", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 11683, "upload_time": "2019-01-16T15:20:10", "url": "https://files.pythonhosted.org/packages/0f/a8/262661f3fc5f0ea6004099153692f6d51cb7254fea022b65ab550d7492e0/zosftplib-2.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "85796473cf4af8301d84be03e6c49ac6", "sha256": "e7fb84c1f8b86b09327453c74ac5b8140ab756ad2981b6e41ecfbb318cc83f21" }, "downloads": -1, "filename": "zosftplib-2.0.tar.gz", "has_sig": false, "md5_digest": "85796473cf4af8301d84be03e6c49ac6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 301713, "upload_time": "2019-01-16T15:20:14", "url": "https://files.pythonhosted.org/packages/db/e5/5a22d801e370d1d0bcc555a692f71951d3e6829bdc47eb5d0eaf74cfde88/zosftplib-2.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "91d8f661f20a14e759870bb94df47368", "sha256": "9f5b8827ded529911f232eaedd9eebbe5bee65f55372a6d4b95a3d4c20bda1f5" }, "downloads": -1, "filename": "zosftplib-2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "91d8f661f20a14e759870bb94df47368", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 11683, "upload_time": "2019-01-16T15:20:10", "url": "https://files.pythonhosted.org/packages/0f/a8/262661f3fc5f0ea6004099153692f6d51cb7254fea022b65ab550d7492e0/zosftplib-2.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "85796473cf4af8301d84be03e6c49ac6", "sha256": "e7fb84c1f8b86b09327453c74ac5b8140ab756ad2981b6e41ecfbb318cc83f21" }, "downloads": -1, "filename": "zosftplib-2.0.tar.gz", "has_sig": false, "md5_digest": "85796473cf4af8301d84be03e6c49ac6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 301713, "upload_time": "2019-01-16T15:20:14", "url": "https://files.pythonhosted.org/packages/db/e5/5a22d801e370d1d0bcc555a692f71951d3e6829bdc47eb5d0eaf74cfde88/zosftplib-2.0.tar.gz" } ] }