{ "info": { "author": "calve", "author_email": "calvinh34@gmail.com", "bugtrack_url": null, "classifiers": [ "Environment :: Console", "License :: Public Domain", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 3" ], "description": "prof : Upload your work from the command line !\n===============================================\n\n[PROF] is the website where peoples studying computer science at Lille1 should upload their work.\n\nThis tool give you ability to upload your archive from the command line.\n\n## Installation\n\n## On your university account\n\nYou can install prof to your ``$HOME`` directory\n\n export HTTP_PROXY=cache-etu.univ-lille1.fr:3128\n pip-3.2 install --user prof\n ~/.local/bin/prof\n\nI suggest you to create the following alias in your ``.bashrc``\n\n alias prof=HTTP_PROXY=cache-etu.univ-lille1.fr:3128 $HOME/.local/bin/prof\n\n### On your computer (if your root)\n\nDownload from Pypi and run the program\n\n sudo pip3 install prof\n prof\n\n## Configuration\n\nYou *must* specify to which server ``prof`` need to connect in ``$HOME/.profrc``, as the following :\n\n [DEFAULT]\n baseurl = https://your-prof-instance\n login = yourlogin\n\nNote that ``login`` is not mandatory, but you should set it for convenience.\n\n## Usage\n\nOn the command line, run\n\n prof list\n\nIf needed, a Firefox windows will pop so you can fill your credentials, and check the captcha.\n\nIn exchange, it give you the tree of all avalaible works.\n\n TP_ACT_Groupe1\n - 23 : TP Ordres de Grandeu Closed (calve-act-1.tar.gz)\n - 88 : TP Diviser pour R\u00e9gn Closed (calve-act2.tar.gz)\n - 103 : TP 3 Compression Im Open - Time remaining: 6 days, 17:09:56.090487\n TP ASE Contextes\n - 45 : TP 2 Closed (calve-ase-2.tar.gz)\n - 46 : TP 4 Closed (calve-ase-2.tar.gz)\n TP ASE Disques\n - 47 : TP 1 Closed (calve-ase-3.tar.gz)\n - 48 : TP 2 Open - Time remaining: 4 days, 20:54:56.090348\n - 49 : TP 3 Open - Time remaining: 32 days, 20:54:56.090310\n TP ASE MMU\n - 50 : TP 1 Open - Time remaining: 53 days, 20:54:56.090262\n - 51 : TP 2 Open - Time remaining: 60 days, 20:54:56.090225\n M1AEO\n - 95 : Bonus TD Closed\n - 184 : TP roulette Open - Time remaining: 5 days, 17:54:56.090157\n\nThen you can upload a file with\n\n prof upload 184 test.tar.gz\n\nIf the file is a ``tar.gz``, it will untar it in a temporary directory, and try to compile the project using ``make``. You can override this comportement with ``--compil-command \"cmake\"`` or ``--no-compile``\n\n Running make in /tmp/tmp3n3knca6prof for file test.tar.gz\n mkdir -p bin\n gcc -Wall -ansi -pedantic -m32 -g -c -o src/mkhd.o src/mkhd.c\n gcc -Wall -ansi -pedantic -m32 -g -o ./lib/mkhd.o -c src/mkhd.c -I./include\n Successfully compiled\n\nAnd it is done\n\n done, you should verify the upload on the website\n\nprof is still under devel, it may crash, loose your files, eat your goat.\nAlways check your file is actually send on the remote server.\n\n[PROF]: https://prof.fil.univ-lille1.fr\n\n## Set up a post commit hook for git\n\nYou can easily setup a postcommit hook for git, so it compile and upload your work on each commit.\nIn your project, create ``.git/hooks/post-commit``\n\n git archive --output archive.tar.gz HEAD\n prof upload workid archive.tar.gz --compil-command \"make\"\n\nand ``chmod +x .git/hooks/post-commit``\n\n## CHANGELOG\n\n - Persisting sessions\n - True Pypi package\n - Check proper compilation before pushing\n - ``--sorted`` option came back\n - Rewrite in Python\n - Better ui, now loop thru tp and ue list\n - Fix : Date comparaison\n - Added argument --sorted to list all TPs sorted by time. Still experimental\n - QuickFix : Clear buffer containing downloaded pages before getting TP list\n - TPs contains their UE\n - TPs contains their deadline. Maybe in a future we could sort TP by deadline\n - TPs and UEs numbers are now from 0 to n, and not the actual id on the server\n - raise exception when procedures fail\n - upload a file\n - delete a remote file\n - retrieve TP list\n - connect to the prof website, get cookie, log and retrieve an UE list\n\n## Development\n\n git clone https://github.com/calve/prof\n cd prof\n pip3 install -r requirements.txt\n python3 run.py\n\n## CONTACT\n\n calvinh34 at gmail\n\nBugs, patches and suggestions are welcome !\n\n## Last word\n\nIf nothing work, or if you just want an easy sh script, you may find one in legacy/prof.sh that nearly do the same thing.\n", "description_content_type": null, "docs_url": null, "download_url": null, "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://github.com/calve/prof", "keywords": null, "license": null, "maintainer": null, "maintainer_email": null, "name": "prof", "package_url": "https://pypi.org/project/prof/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/prof/", "project_urls": { "Homepage": "http://github.com/calve/prof" }, "release_url": "https://pypi.org/project/prof/1.3.0/", "requires_dist": null, "requires_python": null, "summary": "A tool to upload student work to http://prof.fil.univ-lille1.fr", "version": "1.3.0" }, "last_serial": 1506575, "releases": { "0.9": [ { "comment_text": "", "digests": { "md5": "513adf43da87284ac18fe915dfd23d4c", "sha256": "9c05e3692097530fa88971b31f36eef261c373b8a844e97bd453466e524c27a0" }, "downloads": -1, "filename": "prof-0.9.tar.gz", "has_sig": false, "md5_digest": "513adf43da87284ac18fe915dfd23d4c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6137, "upload_time": "2015-03-03T09:47:05", "url": "https://files.pythonhosted.org/packages/a0/b8/d5286eeff7010a30d2952f6b7bf8f38bd3e4e2f3976ddc9009161204de31/prof-0.9.tar.gz" } ], "0.9.1": [ { "comment_text": "", "digests": { "md5": "bd5a48f9e1d16c7f11f2a569bbbaa97e", "sha256": "5afec5cb8dd2723d0df62e3b16049ca58f0c3e1861168e3bc32c98b9b6978042" }, "downloads": -1, "filename": "prof-0.9.1.tar.gz", "has_sig": false, "md5_digest": "bd5a48f9e1d16c7f11f2a569bbbaa97e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7565, "upload_time": "2015-03-03T09:52:27", "url": "https://files.pythonhosted.org/packages/d7/53/2fe0c9a3aa0a1e03a6ccb94a3cbe4ffb5b9cc53346381c486d1a07975bca/prof-0.9.1.tar.gz" } ], "0.9.2": [ { "comment_text": "", "digests": { "md5": "cd5d016991e1176bb30feca319333d56", "sha256": "b5184f09a5546e39766f5cd58b6818f6fe6ed3ee183094c237bc83ab7f58312a" }, "downloads": -1, "filename": "prof-0.9.2.tar.gz", "has_sig": false, "md5_digest": "cd5d016991e1176bb30feca319333d56", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7567, "upload_time": "2015-03-03T09:58:30", "url": "https://files.pythonhosted.org/packages/b9/f4/7e17c913628bdad8e5ee7dc5f2d923cc3953bce82c3605d80d69a23acaa9/prof-0.9.2.tar.gz" } ], "1.0": [], "1.0.0": [ { "comment_text": "", "digests": { "md5": "83583d58ee7a6926e0410592e6c799b6", "sha256": "f0a2a2344c8283cff1460604fb4ee8c4d0cd77306c192fa6a254ab6df560dde5" }, "downloads": -1, "filename": "prof-1.0.0.tar.gz", "has_sig": false, "md5_digest": "83583d58ee7a6926e0410592e6c799b6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7355, "upload_time": "2015-03-03T10:50:09", "url": "https://files.pythonhosted.org/packages/fc/d7/9eb1691081f3039504293bcf1b9b0f84dd9dc9add045dd152f9e4115c5ea/prof-1.0.0.tar.gz" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "cd10698b6d590acacbcf96f95f97f622", "sha256": "ace0ea5b0884284856290e0d8593f93405b3fcc953bb5a82afcf7d84a01164e5" }, "downloads": -1, "filename": "prof-1.1.0.tar.gz", "has_sig": false, "md5_digest": "cd10698b6d590acacbcf96f95f97f622", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8722, "upload_time": "2015-03-21T18:00:51", "url": "https://files.pythonhosted.org/packages/e6/da/99daa4a30c0c30b07a26ffc517ba282c0255f1baaf6049b5dd6e4081ab66/prof-1.1.0.tar.gz" } ], "1.2.0": [ { "comment_text": "", "digests": { "md5": "6300a6812fbdae4b27cd2c621138df63", "sha256": "dcaff0e48b96e093123b0ec643a933f679674c96a390690905c933c92bb49f30" }, "downloads": -1, "filename": "prof-1.2.0.tar.gz", "has_sig": false, "md5_digest": "6300a6812fbdae4b27cd2c621138df63", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9053, "upload_time": "2015-03-24T19:08:36", "url": "https://files.pythonhosted.org/packages/43/b8/f23d8f3ba15e88198957be64352753d692b9eb89c90c238a37fda228196b/prof-1.2.0.tar.gz" } ], "1.2.1": [ { "comment_text": "", "digests": { "md5": "34852f6e755a4ff249dbe87d65223ef4", "sha256": "a322fe433c9ef793bdfdad5d4e9b8f0533008ec2e67f233165083543b94c3d4e" }, "downloads": -1, "filename": "prof-1.2.1.tar.gz", "has_sig": false, "md5_digest": "34852f6e755a4ff249dbe87d65223ef4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9141, "upload_time": "2015-03-26T09:15:43", "url": "https://files.pythonhosted.org/packages/3f/e4/72d2c3534dcc1398941c30f873e821a42539ac74e2c5ef406ea0b5574125/prof-1.2.1.tar.gz" } ], "1.3.0": [ { "comment_text": "", "digests": { "md5": "0c61aff555402b1f138f12716804d7d4", "sha256": "23e572633b974fd14ce039efbbe3e6d1aaa98d79a8b1650e5495e8ae144088ef" }, "downloads": -1, "filename": "prof-1.3.0.tar.gz", "has_sig": false, "md5_digest": "0c61aff555402b1f138f12716804d7d4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9162, "upload_time": "2015-04-15T16:37:54", "url": "https://files.pythonhosted.org/packages/a1/7a/6412b380b3bc318eadeac88f139723e72a64bb65b5f53daa69b16538e050/prof-1.3.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "0c61aff555402b1f138f12716804d7d4", "sha256": "23e572633b974fd14ce039efbbe3e6d1aaa98d79a8b1650e5495e8ae144088ef" }, "downloads": -1, "filename": "prof-1.3.0.tar.gz", "has_sig": false, "md5_digest": "0c61aff555402b1f138f12716804d7d4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9162, "upload_time": "2015-04-15T16:37:54", "url": "https://files.pythonhosted.org/packages/a1/7a/6412b380b3bc318eadeac88f139723e72a64bb65b5f53daa69b16538e050/prof-1.3.0.tar.gz" } ] }