# netlink-sharepoint-alchemy
Integration of Sharepoint and SQL Alchemy
Use the pre-configured Base for Tables that reflect a Sharepoint list, and the ready-made
ORM mapped `User` to access the users of the Sharepoint.
```python
from netlink.sharepoint.alchemy import Base, User
```
`id` is part of `Base`.
Define a mapped list / table like this:
```python
from netlink.sharepoint.alchemy import Base
from sqlalchemy import Column
from sqlalchemy import String
from netlink.alchemy import UnsignedInteger
class Action(Base):
__tablename__ = 'action'
_sharepoint_list_title = "Action"
# fmt: off
action = Column(String, nullable=False, doc='Title')
deadline = Column(UnsignedInteger, nullable=True, doc='Deadline')
comment = Column(String, nullable=True, doc='Comment')
# fmt: on
```
Load data from Sharepoint (non-working, concept only)
```python
from sqlalchemy import create_engine
from sqlalchemy.orm import Session
from netlink.sharepoint.base import Site
from netlink.sharepoint.alchemy import Base, User
class ActionControl(Base):
pass
if __name__ == '__main__':
engine = create_engine(f"sqlite+pysqlite:///test.sqlite3", future=True)
Base.metadata.create_all(engine)
sharepoint = Site()
session = Session(engine)
User.bind_to_sharepoint(sharepoint)
User.load_from_sharepoint_list(session)
ActionControl.bind_to_sharepoint(sharepoint)
ActionControl.load_from_sharepoint_list(session)
```
Raw data
{
"_id": null,
"home_page": "https://gitlab.com/netlink_python/netlink-sharepoint-alchemy",
"name": "netlink-sharepoint-alchemy",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.8,<3.12",
"maintainer_email": "",
"keywords": "sharepoint",
"author": "Bernhard Radermacher",
"author_email": "bernhard.radermacher@netlink-consulting.com",
"download_url": "https://files.pythonhosted.org/packages/51/9e/9656ad2633ce201ecf30ee7a5b1a60bb8f7d78e75ce976af48a8129fd5ad/netlink-sharepoint-alchemy-0.0.5.tar.gz",
"platform": null,
"description": "# netlink-sharepoint-alchemy\n\nIntegration of Sharepoint and SQL Alchemy\n\n\nUse the pre-configured Base for Tables that reflect a Sharepoint list, and the ready-made \nORM mapped `User` to access the users of the Sharepoint.\n\n```python\nfrom netlink.sharepoint.alchemy import Base, User\n```\n\n`id` is part of `Base`.\n\nDefine a mapped list / table like this:\n\n```python\nfrom netlink.sharepoint.alchemy import Base\nfrom sqlalchemy import Column\nfrom sqlalchemy import String\nfrom netlink.alchemy import UnsignedInteger\n\n\nclass Action(Base):\n __tablename__ = 'action'\n _sharepoint_list_title = \"Action\"\n\n # fmt: off\n action = Column(String, nullable=False, doc='Title')\n deadline = Column(UnsignedInteger, nullable=True, doc='Deadline')\n comment = Column(String, nullable=True, doc='Comment')\n # fmt: on\n```\n\nLoad data from Sharepoint (non-working, concept only)\n\n```python\nfrom sqlalchemy import create_engine\nfrom sqlalchemy.orm import Session\n\nfrom netlink.sharepoint.base import Site\nfrom netlink.sharepoint.alchemy import Base, User\n\n\nclass ActionControl(Base):\n pass\n\n\nif __name__ == '__main__':\n engine = create_engine(f\"sqlite+pysqlite:///test.sqlite3\", future=True)\n Base.metadata.create_all(engine)\n sharepoint = Site()\n session = Session(engine)\n\n User.bind_to_sharepoint(sharepoint)\n User.load_from_sharepoint_list(session)\n\n ActionControl.bind_to_sharepoint(sharepoint)\n ActionControl.load_from_sharepoint_list(session)\n```\n\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Integrate Sharepoint and SQL Alchemy",
"version": "0.0.5",
"project_urls": {
"Homepage": "https://gitlab.com/netlink_python/netlink-sharepoint-alchemy",
"Repository": "https://gitlab.com/netlink_python/netlink-sharepoint-alchemy"
},
"split_keywords": [
"sharepoint"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "6261f9b8ca99d57c850b49b07a77125f5e26125779b4b13662bec25c0ce0c99b",
"md5": "6b2a6f3a8c32710238643e3c2d89932e",
"sha256": "d103dbaf26ba3125bf3eedfdf5136a4c875b75fd842d7baf32f112f880b44cf7"
},
"downloads": -1,
"filename": "netlink_sharepoint_alchemy-0.0.5-py3-none-any.whl",
"has_sig": false,
"md5_digest": "6b2a6f3a8c32710238643e3c2d89932e",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8,<3.12",
"size": 3919,
"upload_time": "2024-02-13T08:25:08",
"upload_time_iso_8601": "2024-02-13T08:25:08.030766Z",
"url": "https://files.pythonhosted.org/packages/62/61/f9b8ca99d57c850b49b07a77125f5e26125779b4b13662bec25c0ce0c99b/netlink_sharepoint_alchemy-0.0.5-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "519e9656ad2633ce201ecf30ee7a5b1a60bb8f7d78e75ce976af48a8129fd5ad",
"md5": "2cdd2dfd6881f1039466f02119fa2bf9",
"sha256": "059a984dc6a9fec5e36342961098ac749a85f354ffd5e528076b999b55b69b77"
},
"downloads": -1,
"filename": "netlink-sharepoint-alchemy-0.0.5.tar.gz",
"has_sig": false,
"md5_digest": "2cdd2dfd6881f1039466f02119fa2bf9",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8,<3.12",
"size": 3850,
"upload_time": "2024-02-13T08:25:07",
"upload_time_iso_8601": "2024-02-13T08:25:07.009665Z",
"url": "https://files.pythonhosted.org/packages/51/9e/9656ad2633ce201ecf30ee7a5b1a60bb8f7d78e75ce976af48a8129fd5ad/netlink-sharepoint-alchemy-0.0.5.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-02-13 08:25:07",
"github": false,
"gitlab": true,
"bitbucket": false,
"codeberg": false,
"gitlab_user": "netlink_python",
"gitlab_project": "netlink-sharepoint-alchemy",
"lcname": "netlink-sharepoint-alchemy"
}