{ "info": { "author": "Sylvain Francois", "author_email": "syllant@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Console", "Intended Audience :: End Users/Desktop", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2.7", "Topic :: Games/Entertainment :: Board Games" ], "description": "=====================================================\nbggcli - Command Line Interface for BoardGameGeek.com\n=====================================================\n\n.. image:: https://travis-ci.org/syllant/bggcli.svg?branch=master\n :target: https://travis-ci.org/syllant/bggcli\n\n\n.. image:: https://coveralls.io/repos/syllant/bggcli/badge.svg?branch=master\n :target: https://coveralls.io/r/syllant/bggcli?branch=master\n\nIntroduction\n============\n\n\n``bggcli`` is a Command Line Interface providing automation for tedious tasks on\n`BoardGameGeek `__ (aka BGG). It relies on the Web UI and not on the\n`official API `__ which doesn't offer all features available.\n\nOnly 3 operations are implemented at this time:\n\n* bulk import/update for your game collection from a CSV file\n* bulk delete from a CSV file\n* bulk export as a CSV file, WITH version information (game's version is missing in the default export)\n\nWarning:\n\n * Use it at your own risks, you may damage your game collection by doing mistakes! Ensure you have a backup of you\n collection first!\n * This tool is not supported by BoardGameGeek, this is an independent development\n * Be respectful regarding BGG web site: this kind of automated tools can impact performance when used\n \"aggressively\" (plenty of requests per second). Provided features are intended to be used for\n one-shot needs. Also they rely on a real web browser, and should conform with their\n `Terms of Services `__\n\n\nInstallation\n============\nPython 2.7 is required.\n\n::\n\n pip install bggcli\n\nUsage\n=====\nYou'll need **Firefox** to be installed; Firefox will be automatically controlled by ``bggcli`` to perform operations\n(through Selenium library).\n\nType ``bggcli`` to get the full help about available commands.\n\nHere is an example to export a collection from an account *account1* and import it to another account *account2*::\n\n $ bggcli -l mylogin1 -p mypassword1 collection-export mycollection.csv\n $ bggcli -l mylogin2 -p mypassword2 collection-import mycollection.csv\n\nUpdate a collection\n-------------------\nHere are some use cases this operation could be used for:\n\n* Create a new account on BGG and transfer your collection: export the collection from the old account first, then use\n **bggcli** to import it\n* Make a bulk update for all or some of your games: export the collection from your account first, modify details in\n the CSV file (using a text editor, OpenOffice, MS Excel, or whatever) and use ``bggcli`` to import the file\n\nExport should be done with this tool to be complete. You can also do a manual export online, but you won't have\ninformation about the version of each game.\n\nExample:::\n\n $ bggcli -l mylogin -p mypassword collection-import mycollection.csv\n\nNotes:\n\n * Column names are those exported by BGG. Any column not recognized will just be ignored\n * When a game already exists in your collection, game is updated with provided CSV values only, other fields are not\n impacted. You could only update one field for all your game.\n * Games are identified by their internal ID, named ``objectid`` in CSV file (name used by BGG). Having the\n ``objectname`` field (name of the game) is also recommended for logging.\n\n\nRemove games from a collection\n------------------------------\nGoal is to remove from your collection all games identified in the CSV file you will provide as input.\n\nExample:::\n\n $ bggcli -l mylogin -p mypassword collection-delete mycollection.csv\n\nNotes:\n\n * Only the ``objectid`` column will be used for this operation: this is the internal ID managed by BGG. All other\n columns will just be ignored.\n\nExport a collection\n-------------------\nWill create a CSV file with all your games, as you will do with the UI.\n\nExample:::\n\n $ bggcli -l mylogin -p mypassword collection-export mycollection.csv\n\nNotes:\n\n * Only the ``objectid`` column will be used for this operation: this is the internal ID managed by BGG. All other\n columns will just be ignored.\n\n\nLimitations\n===========\n\n* Only *Firefox* is supported. This tools relies on Selenium to control browser, and only Firefox is supported\n out of the box by Selenium (i.e. without additional requirements). Support of additional browsers could be introduced,\n but I'm not sure it's worth it.\n* Performance: Selenium+Firefox association is not the fastest way to automate operations, but it's\n probably the best regarding stability (no Javascript emulation, Firefox does the work) and simplicity (no need to\n install anything else), which is the most important in the current context. On my laptop, I see the import taking\n 1 min for 5 games.\n* Some fields related to the game's version are not exported by BGG: the ``barcode`` and the `language``. Note\n although this only applies to custom version you define yourself, which should be quite rare.\n\n\nIdeas for future versions\n=========================\n\nHere are some ideas of additional tasks that could be implemented:\n\n* Generic import for collections, based on game names and not on the BGG internal identifier. A confirmation would be\n required for each ambiguous name to choose among matching games provided by BGG\n* Update/Delete for plays\n* Update/Delete for forum subscriptions\n\nLinks\n=====\n\n* *BoardGameGeek*: http://www.boardgamegeek.com\n* *Officiel XML API 2*: https://www.boardgamegeek.com/wiki/page/BGG_XML_API2\n* *boardgamegeek - A Python API for boardgamegeek.com*: https://github.com/lcosmin/boardgamegeek\n\nFinal note\n==========\n\nDoes it really deserve such a development? Probably not, but my second goal was to discover the Python ecosystem!", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://github.org/syllant/bggcli", "keywords": "bgg boardgamegeek", "license": "MIT", "maintainer": null, "maintainer_email": null, "name": "bggcli", "package_url": "https://pypi.org/project/bggcli/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/bggcli/", "project_urls": { "Download": "UNKNOWN", "Homepage": "http://github.org/syllant/bggcli" }, "release_url": "https://pypi.org/project/bggcli/0.9/", "requires_dist": null, "requires_python": null, "summary": "Command Line Interface for BoardGameGeek.com", "version": "0.9" }, "last_serial": 1620313, "releases": { "0.9": [ { "comment_text": "", "digests": { "md5": "2846365283d625d8d42f68ae6690561e", "sha256": "df55de52ffbbed829e85c95e93f66efc63336073781f4581dff3de28446ff25e" }, "downloads": -1, "filename": "bggcli-0.9-py2-none-any.whl", "has_sig": false, "md5_digest": "2846365283d625d8d42f68ae6690561e", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 22915, "upload_time": "2015-07-05T19:07:27", "url": "https://files.pythonhosted.org/packages/a0/37/f37aa6eb0d484b719de4a365b454f574f1da4b7f6d02198b427d273d241f/bggcli-0.9-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d5fb58783d116f5ecde3ebf2dcdbb754", "sha256": "c2b08bcddf609b65335d84119c733ade6e9a46f927141d0ad107710d117ddc7a" }, "downloads": -1, "filename": "bggcli-0.9.tar.gz", "has_sig": false, "md5_digest": "d5fb58783d116f5ecde3ebf2dcdbb754", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14031, "upload_time": "2015-07-05T19:07:30", "url": "https://files.pythonhosted.org/packages/a8/0b/001014c48a12d50ccbd968a0252a9426d61b7404932f9cf4de61e5a049c8/bggcli-0.9.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "2846365283d625d8d42f68ae6690561e", "sha256": "df55de52ffbbed829e85c95e93f66efc63336073781f4581dff3de28446ff25e" }, "downloads": -1, "filename": "bggcli-0.9-py2-none-any.whl", "has_sig": false, "md5_digest": "2846365283d625d8d42f68ae6690561e", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 22915, "upload_time": "2015-07-05T19:07:27", "url": "https://files.pythonhosted.org/packages/a0/37/f37aa6eb0d484b719de4a365b454f574f1da4b7f6d02198b427d273d241f/bggcli-0.9-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d5fb58783d116f5ecde3ebf2dcdbb754", "sha256": "c2b08bcddf609b65335d84119c733ade6e9a46f927141d0ad107710d117ddc7a" }, "downloads": -1, "filename": "bggcli-0.9.tar.gz", "has_sig": false, "md5_digest": "d5fb58783d116f5ecde3ebf2dcdbb754", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14031, "upload_time": "2015-07-05T19:07:30", "url": "https://files.pythonhosted.org/packages/a8/0b/001014c48a12d50ccbd968a0252a9426d61b7404932f9cf4de61e5a049c8/bggcli-0.9.tar.gz" } ] }