{ "info": { "author": "Robert Follek", "author_email": "bfollek@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Environment :: Win32 (MS Windows)", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: Microsoft :: Windows", "Programming Language :: Python :: 3 :: Only", "Topic :: Database", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "# NotesLib\n\nNotesLib is a library of Python classes for manipulating Lotus\nNotes/Domino objects via COM.\n\nNotesLib was created by Robert Follek, and the current maintainer is Marcelo Huerta.\n\nThe NotesLib classes correspond to the standard LotusScript classes; they\nsupport all the standard properties and methods. The NotesLib classes have\nadditional methods and ease-of-use features. See below the details for the\nindividual classes.\n\nClasses available so far:\n\n- Session\n- Database\n- ACL\n- ACLEntry\n\n## Session\n\nThe Session class creates an COM connection to Notes. It supports all\nthe properties and methods of the LotusScript NotesSession class, using\nthe same syntax.\n\nTo create a Session object:\n\n s = noteslib.Session(password)\n\nor\n\n s = noteslib.Session()\n\nThe password is optional; if you don't provide it, Notes will prompt you\nfor a password.\n\nExample:\n\n >>> import noteslib\n >>> s = noteslib.Session(\"password\")\n >>> s.NotesBuildVersion\n 166\n >>> s.GetEnvironmentString(\"Directory\", -1)\n 'd:\\\\notes5.8\\\\Data'\n >>>\n\nSession is a singleton - multiple Session variables share one Session\nobject. You can instantiate Sessions as needed without a performance\npenalty, and you only have to establish a password once. Example:\n\n >>> a = noteslib.Session(password)\n >>> id(a)\n 8429868\n >>> b = noteslib.Session()\n >>> id(b)\n 8429868\n\n## Database\n\nThe Database class creates an COM connection to a Notes database. It\nsupports all the properties and methods of the LotusScript NotesDatabase\nclass, using the same syntax.\n\nYou don't have to create a Session first. A Database object creates its own\nSession automatically.\n\nTo create a Database object:\n\n db = noteslib.Database(server, database_file, password)\n\nor\n\n db = noteslib.Database(server, database_file)\n\nExample:\n\n >>> import noteslib\n >>> db = noteslib.Database(\"NYNotes1\", \"ACLTest.nsf\", \"password\")\n >>> db.Created\n pywintypes.datetime(2001, 6, 30, 11, 12, 40, tzinfo=TimeZoneInfo('GMT Standard Time', True))\n\nMultiple Database objects created for the same database are unique objects,\nbut they share the same handle to the underlying NotesDatabase object.\nYou can instantiate Database objects as needed without a performance\npenalty. Example:\n\n >>> a = noteslib.Database(\"NYNotes1\", \"ACLTest.nsf\", \"password\")\n >>> id(a)\n 15281724\n >>> id(a._Database__handle)\n 15286172\n >>> b = noteslib.Database(\"NYNotes1\", \"ACLTest.nsf\")\n >>> id(b)\n 15270044\n >>> id(b._Database__handle)\n 15286172\n\na and b are different objects, but they share the same internal\nNotesDatabase object via the \\__handle variable.\n\n## ACL\n\nThe ACL class encapsulates a Notes database ACL. It supports all the\nproperties and methods of the LotusScript NotesACL class, using the same\nsyntax.\n\nAdditional features:\n\n* You can print an ACL object. It knows how to format itself reasonably.\n* getAllEntries() method - Returns the ACL contents as a list of ACLEntry objects, sorted by Name.\n\nYou don't have to create Session or Database objects first. An ACL object\ncreates its own Session and Database objects automatically.\n\nTo create an ACL object:\n\n acl = noteslib.ACL(server, database_file, password)\n\nor\n\n acl = noteslib.ACL(server, database_file)\n\nExample:\n\n >>> import noteslib\n >>> acl = noteslib.ACL(\"NYNotes1\", \"ACLTest.nsf\", \"password\")\n >>> for entry in acl.getAllEntries():\n ... print (entry.getName())\n ...\n -Default-\n Alice Author\n Anonymous\n bob\n Dave Depositor\n Donna Designer\n LocalDomainServers\n OtherDomainServers\n Randy Reader\n\n## ACLEntry\n\nThe ACLEntry class encapsulates a Notes database ACL entry. It supports\nall the properties and methods of the LotusScript NotesACLEntry class,\nusing the same syntax.\n\nAdditional features:\n\n* You can print an ACLEntry object. It knows how to format itself reasonably.\n* getName() method - Returns the entry name.\n* getLevel() method - Returns the entry level.\n* getRoles() method - Returns a list of entry roles, sorted alphabetically.\n* getFlags() method - Returns a list of the ACLEntry flags, translated to strings.\n\nThese methods avoid the obvious names, e.g. getName() instead of name(),\nto avoid conflict with the existing NotesACLEntry properties.\n\nNormally, you won't create an ACLEntry object directly. Instead, you can\nretrieve a list of ACLEntry objects from an ACL object, via its\ngetAllEntries() method.\n\nExample:\n\n >>> import noteslib\n >>> acl = noteslib.ACL(\"NYNotes1\", \"ACLTest.nsf\", \"password\")\n >>> print (acl.getAllEntries()[3])\n Name : bob\n Level: Manager\n Role : [Role1]\n Role : [Role2]\n Role : [Role3]\n Flag : Create Documents\n Flag : Delete Documents\n Flag : Create Personal Agents\n Flag : Create Personal Folders/Views\n Flag : Create Shared Folders/Views\n Flag : Create LotusScript/Java Agent\n Flag : Read Public Documents\n Flag : Write Public Documents\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "", "keywords": "", "license": "", "maintainer": "Marcelo Huerta", "maintainer_email": "richieadler@gmail.com", "name": "noteslib", "package_url": "https://pypi.org/project/noteslib/", "platform": "", "project_url": "https://pypi.org/project/noteslib/", "project_urls": null, "release_url": "https://pypi.org/project/noteslib/2.1.0/", "requires_dist": [ "pywin32" ], "requires_python": "~=3.0", "summary": "Python classes for manipulating Lotus Notes/Domino objects via COM", "version": "2.1.0" }, "last_serial": 4395523, "releases": { "2.1.0": [ { "comment_text": "", "digests": { "md5": "2bea2749a415d95ab0b22519403a65f4", "sha256": "8fe60e09c87baeec4023220d84423ff9490869d402d50f9392bda250e565b2fa" }, "downloads": -1, "filename": "noteslib-2.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "2bea2749a415d95ab0b22519403a65f4", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": "~=3.0", "size": 16791, "upload_time": "2018-10-19T19:23:16", "url": "https://files.pythonhosted.org/packages/b1/02/dd477cf617273b2f7d50d36887088c1e008e59aee7bf477317578843cc36/noteslib-2.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "53fc8e4f332b6edad3eefdacd315cfe2", "sha256": "ca2a4de4a6982785a0160f96085fbc83630fdf0a1f8ed5a9c88a4dd5c3e93ca6" }, "downloads": -1, "filename": "noteslib-2.1.0.tar.gz", "has_sig": false, "md5_digest": "53fc8e4f332b6edad3eefdacd315cfe2", "packagetype": "sdist", "python_version": "source", "requires_python": "~=3.0", "size": 5566, "upload_time": "2018-10-19T19:23:19", "url": "https://files.pythonhosted.org/packages/ab/d8/f8161436b0f943819eafe3edd5783d2ff38e740349e8e1a75b187255c24c/noteslib-2.1.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "2bea2749a415d95ab0b22519403a65f4", "sha256": "8fe60e09c87baeec4023220d84423ff9490869d402d50f9392bda250e565b2fa" }, "downloads": -1, "filename": "noteslib-2.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "2bea2749a415d95ab0b22519403a65f4", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": "~=3.0", "size": 16791, "upload_time": "2018-10-19T19:23:16", "url": "https://files.pythonhosted.org/packages/b1/02/dd477cf617273b2f7d50d36887088c1e008e59aee7bf477317578843cc36/noteslib-2.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "53fc8e4f332b6edad3eefdacd315cfe2", "sha256": "ca2a4de4a6982785a0160f96085fbc83630fdf0a1f8ed5a9c88a4dd5c3e93ca6" }, "downloads": -1, "filename": "noteslib-2.1.0.tar.gz", "has_sig": false, "md5_digest": "53fc8e4f332b6edad3eefdacd315cfe2", "packagetype": "sdist", "python_version": "source", "requires_python": "~=3.0", "size": 5566, "upload_time": "2018-10-19T19:23:19", "url": "https://files.pythonhosted.org/packages/ab/d8/f8161436b0f943819eafe3edd5783d2ff38e740349e8e1a75b187255c24c/noteslib-2.1.0.tar.gz" } ] }