{ "info": { "author": "Klokan Petr Pridal, Pieter Claerhout, Marcin Kawa", "author_email": "klokan@klokan.cz, pieter@yellowduck.be, kawa.macin@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Console", "Intended Audience :: Developers", "Intended Audience :: System Administrators", "License :: OSI Approved :: BSD License", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Topic :: Database :: Database Engines/Servers", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "PyFileMaker\n===========\n\nLatest version of documentation and code is available at https://github.com/aeguana/PyFileMaker\n\nPyFileMaker module is designed for both script and interactive use.\nAny command used during interactive session is possible to type in a script.\n\nShort introduction\n------------------\n\nFor the full and up to date reference go to https://github.com/aeguana/PyFileMaker/tree/master/Examples\n\nrun python interactively (or better run ipython):\n\n``$ ipython`` \n\n\nSetting of database and layout\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nIn the beginnig you have to set the server, database and layout::\n\n >> from PyFileMaker import FMServer\n\n >> fm = FMServer('http://login:password@filemaker.server.com')\n >> fm.\n [and press Tab to see available methods and variables]\n >> help fm.getDbNames\n [displays help for the method]\n\n >> fm.getDbNames()\n ['dbname','anoterdatabase']\n >> fm.setDb('dbname')\n\n >> fm.getLayoutNames()\n ['layoutname','anotherlayout']\n >> fm.setLayout('layoutname')\n\nYou can also type directly::\n\n >> fm = FMServer('http://login:password@filemaker.server.com','dbname','layoutname')\n\n\nList fieldnames\n~~~~~~~~~~~~~~~\n\nGet the list of fields from the active layout::\n\n >> fm.doView()\n ['column1', 'column2']\n\n\nFind records\n~~~~~~~~~~~~\n\nTo search records::\n\n >> fm.doFind(column1='abc')\n \n [column1='abcdef'\n column2'='some data'\n RECORDID=1,\n column1='abc'\n column2='another data'\n RECORDID=2]\n\nYou've got list of 2 records, usually you need to work only with one record::\n\n >> a = fm.doFind(column1='abc')\n >> len(a)\n 2\n >> r = a[0]\n >> r.\n [press Tab for available layout variables or for completition of variable name]\n\n >> r.column1\n 'abcdef'\n >> r['column1']\n 'abcdef'\n >> print r.column1\n abcdef\n >> r.column.related\n 'content'\n\n >> fm.doFind( column1='abc', column__related='abc', LOP='OR', SKIP=1, MAX=1)\n\nGet latest record if documentID field is autoincremented during insertion in FileMaker::\n\n >> fm.doFind( SORT=['documentID':'<'], MAX=1)\n\nOr more low level access using dict - for operators, and non-ascii fields::\n\n >> fm.doFind( {'documentID.op':'lt', '-max':1})\n\nAny combination of attributes is allowed...\n\nBTW For query empty record::\n\n >> fm.doFind( column1='==')\n\nEditing records\n~~~~~~~~~~~~~~~\n\nIt's enought when you change some variables inside of previosly returned record::\n\n >> r = fm.doFindAny()[0]\n >> r.column = 'NEWVALUE'\n >> fm.doEdit(r)\n\nThis will update only changed column 'column' in table.\nYou can use changed old record in other functions too - doDup, doNew, doDelete.\ndoFind(r) will find record with the same RECORDID, but MODID is updated.\n\nNew records can be specified as arguments of doNew() like::\n\n fm.doNew(column1='newvalue', column2='old')\n fm.doNew({'column':'newvalue','column2':'old'})\n\nTemplates\n~~~~~~~~~\n\nThe structure of returned data is suitable for use with Cheetah Templates.\nIt is really easy to write a template::\n\n import Cheetah.Template\n t = Cheetah.Template.Template('''\n Document Template\n ~~~~~~~~~~~~~~~~\n DocumentID: $documentID\n DocumentType: $DocumentType.documentType\n\n Item descriptions:\n #for $l in $DocumentLine\n - $l.description\n #end for \n ''', searchList=[r[0]])\n\n\nDebugging connection\n~~~~~~~~~~~~~~~~~~~~\n\nBest way howto debug what's wrong::\n\n >> fm._debug = True\n\nthen check printed url request by external tools (like curl, xmlstarlet):\n\n``$ curl 'http://test:test@filemaker.server.com:80/fmi/xml/fmresultset.xml?-db=test&-layout=test&-findall' | xmlstarlet fo``\n\nError reporting\n~~~~~~~~~~~~~~~\n\nIn case something is not running the way it should, please report an Issue on the the GitHub project https://github.com/aeguana/PyFileMaker.\nNew contributions to the code are welcomed.", "description_content_type": null, "docs_url": null, "download_url": "https://github.com/aeguana/PyFileMaker/releases", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/aeguana/PyFileMaker", "keywords": "FileMaker", "license": "http://www.opensource.org/licenses/bsd-license.php", "maintainer": null, "maintainer_email": null, "name": "PyFileMaker", "package_url": "https://pypi.org/project/PyFileMaker/", "platform": "any", "project_url": "https://pypi.org/project/PyFileMaker/", "project_urls": { "Download": "https://github.com/aeguana/PyFileMaker/releases", "Homepage": "https://github.com/aeguana/PyFileMaker" }, "release_url": "https://pypi.org/project/PyFileMaker/3.3/", "requires_dist": null, "requires_python": null, "summary": "Python Object Wrapper for FileMaker Server XML Interface", "version": "3.3" }, "last_serial": 1995552, "releases": { "2.5": [ { "comment_text": "", "digests": { "md5": "b6f1619e668e3da6abd36d162eea7815", "sha256": "e6170a29fc99f81f1964c2a467257bc306f4896e9aeb6e77f8f4a97dc0c82b02" }, "downloads": -1, "filename": "PyFileMaker-2.5-py2.4.egg", "has_sig": false, "md5_digest": "b6f1619e668e3da6abd36d162eea7815", "packagetype": "bdist_egg", "python_version": "2.4", "requires_python": null, "size": 38419, "upload_time": "2008-05-19T20:05:26", "url": "https://files.pythonhosted.org/packages/b6/97/b4aa61ed6e462f3bb50bdcf1d0a31d37a167963a6b1a215b3fe64ac4e356/PyFileMaker-2.5-py2.4.egg" }, { "comment_text": "", "digests": { "md5": "f02f23a207cee8bb90ed1aee234db90d", "sha256": "e59536b56e13d7a2b12ba345f632fd46a418b37f953948cc62f56935bb83d07a" }, "downloads": -1, "filename": "PyFileMaker-2.5-py2.5.egg", "has_sig": false, "md5_digest": "f02f23a207cee8bb90ed1aee234db90d", "packagetype": "bdist_egg", "python_version": "2.5", "requires_python": null, "size": 38094, "upload_time": "2008-05-19T19:23:43", "url": "https://files.pythonhosted.org/packages/dd/17/d6a527e64719e497d829d6a9fdc39ed675e768448e09c32954803e817d42/PyFileMaker-2.5-py2.5.egg" }, { "comment_text": "", "digests": { "md5": "4ac4c8e462da06c7ce0481be5d737fbc", "sha256": "f19c4e1540ba7ab21b7856b29e0d4b3f65aac2ddc6c600e38ac5f7c0caf1ef6c" }, "downloads": -1, "filename": "PyFileMaker-2.5.tar.gz", "has_sig": false, "md5_digest": "4ac4c8e462da06c7ce0481be5d737fbc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17093, "upload_time": "2008-05-19T19:23:16", "url": "https://files.pythonhosted.org/packages/aa/8d/d0c6916c21fa2b926c77ddda44b76b2553e8b45d992c94ba59918d85fcfa/PyFileMaker-2.5.tar.gz" } ], "2.6": [ { "comment_text": "", "digests": { "md5": "43894590555407be8f74f86a54072292", "sha256": "47c485d3ee41c1cdf034386e382ca3b9cf3d756af4b6561c146dc9171d946b53" }, "downloads": -1, "filename": "PyFileMaker-2.6-py2.5.egg", "has_sig": false, "md5_digest": "43894590555407be8f74f86a54072292", "packagetype": "bdist_egg", "python_version": "2.5", "requires_python": null, "size": 43056, "upload_time": "2008-05-28T13:04:09", "url": "https://files.pythonhosted.org/packages/f4/27/4a00e999dc41570e5983caf49b0df3886f062c5dbcba0f8fe888a6334686/PyFileMaker-2.6-py2.5.egg" }, { "comment_text": "", "digests": { "md5": "1e2deb876f01a5054d4ff50649bb04c4", "sha256": "300857ca68aba51c9d950597d1c6cb2670777335ac98606042af7fd2bfc16219" }, "downloads": -1, "filename": "PyFileMaker-2.6.tar.gz", "has_sig": false, "md5_digest": "1e2deb876f01a5054d4ff50649bb04c4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19782, "upload_time": "2008-05-28T13:06:26", "url": "https://files.pythonhosted.org/packages/2e/60/11df2f1b837617519a975ea477e727bb59459669ea0bbe43202609cfc23b/PyFileMaker-2.6.tar.gz" }, { "comment_text": "", "digests": { "md5": "2e4e28f17c2549828d652a3514ca01b3", "sha256": "e821a3af44a2b38c3791e359d30c181c084d718eac95f6122a5302924d6d2a9a" }, "downloads": -1, "filename": "PyFileMaker-2.6.zip", "has_sig": false, "md5_digest": "2e4e28f17c2549828d652a3514ca01b3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24666, "upload_time": "2008-05-28T13:06:26", "url": "https://files.pythonhosted.org/packages/80/8b/99218d96e5f923f5ff00e9f08ae98bfddc58d1082cd778c51a3ba67ec4de/PyFileMaker-2.6.zip" } ], "3.1": [ { "comment_text": "", "digests": { "md5": "56044b16ebe8925456c59e96b5a1bf12", "sha256": "7ad2b15047650dd658c78fee03b370b4db0648b9bb775fdf973a7657f74dbba0" }, "downloads": -1, "filename": "PyFileMaker-3.1.tar.gz", "has_sig": false, "md5_digest": "56044b16ebe8925456c59e96b5a1bf12", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19845, "upload_time": "2016-02-03T13:29:38", "url": "https://files.pythonhosted.org/packages/06/ac/439b8eecfb8b5d47a9ae210c8b9e75eb5ba9c02ea2c32079e4c1e10ce2fc/PyFileMaker-3.1.tar.gz" } ], "3.2": [ { "comment_text": "", "digests": { "md5": "d93d60fbee1349eb3d5d394d14a63fa6", "sha256": "c5e2aa61a8056ef0a8b78d9477e4b541931bc9172d6a4b6b9dbe8ab7b76112df" }, "downloads": -1, "filename": "PyFileMaker-3.2.tar.gz", "has_sig": false, "md5_digest": "d93d60fbee1349eb3d5d394d14a63fa6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19857, "upload_time": "2016-02-03T14:29:31", "url": "https://files.pythonhosted.org/packages/c4/36/311bb2647ead48fb700dcfe64168ca14118b63f6b59025765086d23ee112/PyFileMaker-3.2.tar.gz" } ], "3.3": [ { "comment_text": "", "digests": { "md5": "43923f93876545628e180c846a9356a8", "sha256": "7786db7c8bac20ef88f2062ffe1ac59950ce16fc58bd25d72824d5237b0cc3d1" }, "downloads": -1, "filename": "PyFileMaker-3.3.tar.gz", "has_sig": false, "md5_digest": "43923f93876545628e180c846a9356a8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19782, "upload_time": "2016-03-08T13:58:20", "url": "https://files.pythonhosted.org/packages/ec/2a/7ff54510f115f16dd475acf891589a0d52938434527ef123a7ad3da03e9d/PyFileMaker-3.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "43923f93876545628e180c846a9356a8", "sha256": "7786db7c8bac20ef88f2062ffe1ac59950ce16fc58bd25d72824d5237b0cc3d1" }, "downloads": -1, "filename": "PyFileMaker-3.3.tar.gz", "has_sig": false, "md5_digest": "43923f93876545628e180c846a9356a8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19782, "upload_time": "2016-03-08T13:58:20", "url": "https://files.pythonhosted.org/packages/ec/2a/7ff54510f115f16dd475acf891589a0d52938434527ef123a7ad3da03e9d/PyFileMaker-3.3.tar.gz" } ] }