{ "info": { "author": "Jack Rosenthal, Samuel Warfield", "author_email": "warfield@mines.edu", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Education", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.7", "Topic :: System :: Systems Administration :: Authentication/Directory" ], "description": "Mines DirSearch Python Library, CLI, and Mutt Integration\n=========================================================\n\nThe `Mines DirSearch`_ website allows search of Mines personnel who have their\ndirectory information listed in the Banner system. This is a convenient Python\ninterface to that website.\n\n.. _`Mines DirSearch`: https://webapps.mines.edu/DirSearch\n\n:Author: Jack Rosenthal\n:Requires: Python 3.4 or greater, Beautiful Soup 4.4.0 or greater, Requests\n:License: MIT\n:Contributing: See ``CONTRIBUTING.rst``\n\nInstalling\n----------\n\nClone `the repository`_ and install::\n\n $ pip install . --user\n\nOr install from PyPI::\n\n $ pip install csmdirsearch --user\n\n.. _`the repository`: https://github.com/jackrosenthal/csmdirsearch\n\nUsage from Python\n-----------------\n\nUse ``search(query)`` to search for a user by either (part of) a username, or\n(part of) a full name. ``search`` is a generator that will yield unique\n``Person`` objects. Typical attributes on this object include ``name``,\n``business_email``, ``major``, ``classification``, and ``department``; however,\nonly the ``name`` attribute is guaranteed to exist.\n\nEach ``Person`` object also has a few properties:\n\n:``username``:\n Based on the ``business_email`` (and potentially more information in the\n future), a \"best guess\" for the username of the user, otherwise ``None``.\n:``desc``:\n An automatic, brief description of the person, for example:\n ``Undergraduate Student, Computer Science``.\n\nThe ``name`` of each person is also a special ``Name`` type, containing\n``first``, ``last``, and ``nick`` attributes. You can convert a name to a\nstring using the ``strfname`` function, or use ``str(person.name)`` for a\n\"reasonable default\":\n\n>>> name = Name(\"Rosenthal, Jack (NickName)\")\n>>> name.strfname(\"{first} {last}\")\n'Jack Rosenthal'\n>>> str(name)\n'Jack (NickName) Rosenthal'\n\nThere's also convenience properties to be used in ``strfname``:\n\n:``pfirst``:\n Short for \"preferred first\". This will be set to ``nick`` if there is a\n nick name, ``first`` otherwise.\n:``nickp``:\n Short for \"nick, wrapped in parens, if there is one\". This will be set to\n ``' (nick)'`` if there's a nick name, ``''`` otherwise.\n\nExample:\n\n>>> name = Name(\"Rosenthal, Jack (NickName)\")\n>>> name.strfname(\"{pfirst} {last}\")\n'NickName Rosenthal'\n>>> name.strfname(\"{first}{nickp} {last}\")\n'Jack (NickName) Rosenthal'\n\nHere is an example::\n\n import csmdirsearch\n for person in csmdirsearch.search(\"Jack Rosenthal\"):\n print(person.name, person.desc)\n\nIf you wish to limit your search to **just** a partial username (no real\nnames), use the ``search_by_partial`` generator instead of ``search``.\n\nFinally, if you wish to limit your search to **just** a partial full name (most\nefficent), use the ``search_by_name`` generator instead of ``search``. This\ngenerator also has means to limit a search to a certain classification or\ndepartment. Read the source code for more details.\n\nUsage from the Command Line\n---------------------------\n\nThis is wicked simple::\n\n $ dirsearch \"Jack Rosenthal\"\n Jack Rosenthal\n Undergraduate Student\n Business Email: ...\n\nIf you wish to use the ``search_by_name`` or ``search_by_partial`` functions to\nlimit the scope of the input, use ``--input=name`` or ``--input=partial``\nrespectively::\n\n $ dirsearch --input=partial \"jrosent\"\n Jack Rosenthal\n ...\n\nUsage from Mutt\n---------------\n\nAdd to your ``.muttrc``::\n\n set query_command = \"dirsearch --format=mutt %s\"\n\nThen press ``Q`` to compose using a search, or ``^T`` while writing a name or\naddress.\n\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/jackrosenthal/csmdirsearch", "keywords": "directory mines scraping", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "csmdirsearch", "package_url": "https://pypi.org/project/csmdirsearch/", "platform": "", "project_url": "https://pypi.org/project/csmdirsearch/", "project_urls": { "Homepage": "https://github.com/jackrosenthal/csmdirsearch" }, "release_url": "https://pypi.org/project/csmdirsearch/0.1.1/", "requires_dist": [ "beautifulsoup4 (>=4.4.0)", "requests (>=2.0.0)" ], "requires_python": ">=3.7, <7", "summary": "Search the Mines directory", "version": "0.1.1" }, "last_serial": 5404673, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "f699d1ac7a8b72d0f57cb96f4fd5863d", "sha256": "b1e0df976fa51a3499dd7c26b6733f6b1cba5a6fc323b77ea576ca333c4c7120" }, "downloads": -1, "filename": "csmdirsearch-0.1.0.tar.gz", "has_sig": true, "md5_digest": "f699d1ac7a8b72d0f57cb96f4fd5863d", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4, <4", "size": 7884, "upload_time": "2017-11-24T22:11:00", "url": "https://files.pythonhosted.org/packages/31/7f/acc9a5d62349073061f2307f78116f93a7c2b0a91ef3bfa152cf7d2fcfab/csmdirsearch-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "c25a8b958dd8624fa5913ff3404ebf81", "sha256": "6277593e68322d54a9c87c57793de971802e49f821e08e45ea38b521392fc1a9" }, "downloads": -1, "filename": "csmdirsearch-0.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "c25a8b958dd8624fa5913ff3404ebf81", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7, <7", "size": 7677, "upload_time": "2019-06-15T19:39:18", "url": "https://files.pythonhosted.org/packages/ae/9d/fce82dad6900eeae7beb106660e72b434af1563e60f94b292e4f9c230590/csmdirsearch-0.1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d8b34ef3d7d3a99a77987016994641fd", "sha256": "b44539ab0fbd135aade9c99d9c0c4508870cafd4fcec70a01a1c760a5731a760" }, "downloads": -1, "filename": "csmdirsearch-0.1.1.tar.gz", "has_sig": false, "md5_digest": "d8b34ef3d7d3a99a77987016994641fd", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7, <7", "size": 7847, "upload_time": "2019-06-15T19:39:20", "url": "https://files.pythonhosted.org/packages/46/01/f7e723192bd75ea56362e6f914f00c8a165c1d0894f79ce9637c6b69cf88/csmdirsearch-0.1.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "c25a8b958dd8624fa5913ff3404ebf81", "sha256": "6277593e68322d54a9c87c57793de971802e49f821e08e45ea38b521392fc1a9" }, "downloads": -1, "filename": "csmdirsearch-0.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "c25a8b958dd8624fa5913ff3404ebf81", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7, <7", "size": 7677, "upload_time": "2019-06-15T19:39:18", "url": "https://files.pythonhosted.org/packages/ae/9d/fce82dad6900eeae7beb106660e72b434af1563e60f94b292e4f9c230590/csmdirsearch-0.1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d8b34ef3d7d3a99a77987016994641fd", "sha256": "b44539ab0fbd135aade9c99d9c0c4508870cafd4fcec70a01a1c760a5731a760" }, "downloads": -1, "filename": "csmdirsearch-0.1.1.tar.gz", "has_sig": false, "md5_digest": "d8b34ef3d7d3a99a77987016994641fd", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7, <7", "size": 7847, "upload_time": "2019-06-15T19:39:20", "url": "https://files.pythonhosted.org/packages/46/01/f7e723192bd75ea56362e6f914f00c8a165c1d0894f79ce9637c6b69cf88/csmdirsearch-0.1.1.tar.gz" } ] }