{ "info": { "author": "Andreas Ruppen", "author_email": "andreas.ruppen@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Environment :: Console", "Intended Audience :: Education", "Intended Audience :: End Users/Desktop", "Intended Audience :: Science/Research", "License :: OSI Approved :: Apache Software License", "Operating System :: MacOS :: MacOS X", "Operating System :: POSIX", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.2", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Topic :: Education", "Topic :: Software Development :: Compilers", "Topic :: Utilities" ], "description": "# Series Management System\n\nThis is a tool to automatically generate series based on individual exercises. For this, individual exercises are stored in the `Exercises` folder (configurable, see `exoDirName` option), each in separate sub-folders named `exXX` where `XX` are digits.\n\nSeries are defined using `cfg` files, one for each series. The `cfg` files contains information like which exercises to include. Using LaTeX, the system compiles different exercises into series.\n\n## Installation\n\n### Requirements\n\nInstall LaTeX on you system. Make sure the commands `pdflatex`, `bibtex` and `latexmk` are available on the `$PATH` of your operating system. Furthermore the script sometimes uses either `gs` or `pdftk` (configurable, see `usepdftk` option) to combine several PDF documents.\n\n### User Installation\nfrom a terminal launch\n```\nruppena@tungdil:~$ sudo pip install seriesManagementSystem\n```\nthis will compile and install the project to the Python libraries (eg. `/usr/local/lib/python2.7/dist-packages/Series_Management_System-1.1-py2.7.egg`). Furthermore it will install a script in `/usr/local/bin/`:\n* seriesManagementSystem\nThe configuration and logging.conf are copied into `/etc/SeriesManagementSystem/` but it is possible to overwrite them either by placing a file with the same name (but prefixed with a dot eg. `.logging.conf`) in the user home directory or a file with the same name in the current working directory.\n\n### Developer Installation\nfrom a terminal launch\n```\nruppena@tungdil:~$ git clone https://github.com/digsim/seriesManagementSystem.git\nruppena@tungdil:~$ cd seriesManagementSystem\nruppena@tungdil:~$ sudo python setup.py install --record files.txt\n```\n\n#### Clean Working directory\n\nTo clean the working directory\n\n sudo python setup.py clean --all\n sudo rm -rf build/ dist/ Series_Management_System.egg-info/ files.txt\n\n### Bash Completion Installation\n\nIf your system supports bash-completion, it can be activated to have option completion for this script. The file `serieManagementSystem-completion.bash` is copied during the installation into the folder `/usr/local/etc/bash_completion.d/` make sure this folder is activated as bash-completion folder in your `.bashrc`, `.bash_login` or `.profile`\n\n```\nif ! shopt -oq posix; then\n if [ -f /usr/local/etc/bash-completion ]; then\n . /usr/local/etc/bash-completion\nfi\n```\n\n### Uninstall\nfrom a terminal launch\n```\nruppena@tungdil:~$ sudo pip uninstall seriesManagementSystem\nruppena@tungdil:~$ sudo rm -rf /Library/Python/2.7/site-packages/seriesManagementSystem*\n```\nthis will remove the package and any associated artifacts.\n\n## Utilization\n\n* To get help type following command in the console:\n```\nruppena@tungdil:~$ seriesManagementSystem --help\n```\n* To create a new exercise empty structure type:\n```\nruppena@tungdil:~$ seriesManagementSystem --make-new-exercise\n```\n\n* To build a new serie:\n```\nruppena@tungdil:~$ seriesManagementSystem --build-serie -s XX\n```\nwhere `XX` is the number identifying a `serieXX.cfg` file in the `Series_properties` folder.\n\n* To create all the series\n```\nruppena@tungdil:~$ seriesManagementSystem --build-all-series\n```\nThis compiles all defines series in the `Series_properties` folder.\n\n* To generate a quick pdf preview for a given exercise\n```\nruppena@tungdil:~$ seriesManagementSystem --preview-exercise -e XX\n```\nwhere `XX` identifies on of the `exXX` folders of the `Exercises` folder. The PDF is opened with the viewer specified in the `opencmd` option.\n\n* To generate a quick pdf preview for a given exercise solution\n```\nruppena@tungdil:~$ seriesManagementSystem --preview-solution -e XX\n```\nwhere `XX` identifies on of the `exXX` folders of the `Exercises` folder. The PDF is opened with the viewer specified in the `opencmd` option.\n\n* To create a single PDF containing all series and the associated solutions in the defined order.\n```\nruppena@tungdil:~$ seriesManagementSystem --make-workbook\n```\n* To create a single PDF containing the collection of all defined exercises\n```\nruppena@tungdil:~$ seriesManagementSystem --make-catalogue\n```\n\n## Serie Definition\n\nBy default the properties for a serie are stored in the folder `Series_properties` (configurable, see `seriesConfigDir` option). A typical config file looks like:\n\n [Serie]\n titles: Classes et ADT, Programmation orient\\'ee objets en Java - types statique et dynamique, Java: h\\'eritage - polymorphisme - interfaces - ...\n exo-numbers: 1,2,3\n\nIt contains only one section: `Serie` with two keys.\n* The `titles` key defines the topics of the serie and is a comma separated list. In the final document this will produce an itemize in the serie header.\n* The second property `exo-number` defines which exercises are selected for this serie. The number references the last (numbered) part of one exercise folder.\n\n## Configuration\n\nThe general configuration is hold in a file called `lecture.cfg`. It contains a bunch of key values which are grouped into 4 sections: `Config`, `Lecture`, `Logo` and `PDF `.\n\nThe `Config` sections defines various folders like the one containing the individual exercises, the output directory, whether `pdftk` or `gs` is used for PDF concatenation or whether the generated files are zipped or not.\n\nThe `Lecture` folder defines some strings specific for each lecture like its name and the name of the lecturer. It also contains strings for naming the series and the solutions.\n\nThe `Logo` part defines the logos which are shown on the left and right of the header.\n\nThe `PDF` part contains options used by LaTeX when creating the PDF file.\n\nAdditionally, the generated `lecture.cfg` file is fully documented.\n\n## Exercise Folder Structure\n\nBy default the folder containing all exercises is `Exercices` (configurable, see `exoDirName` option). For the system to work, this folder needs to contain a strict hierarchy. It contains several folders, all named \"ex\" plus a number, eg. `ex1`, `ex2`, ... `ex10` etc. Each of these folders contain only one exercise, its solution plus additional material (which will be zipped) to be distributed together with the series and the solution respectively. The structure is as follows:\n\n ~:$ ls -lR Exercices/ex1\n total 0\n drwxr-xr-x 4 ruppena staff 136B Feb 10 12:22 code/\n drwxr-xr-x 3 ruppena staff 170B Mar 3 14:04 latex/\n\n Exercices/ex1/code:\n total 0\n drwxr-xr-x 4 ruppena staff 238B Mar 4 15:04 donne/\n drwxr-xr-x 9 ruppena staff 476B Mar 4 15:45 solution/\n\n Exercices/ex1/code/donne:\n total 72\n -rw-r--r-- 1 ruppena staff 1.1K Feb 10 12:22 build.properties\n -rw-r--r-- 1 ruppena staff 24K Mar 4 15:04 build.xml\n ...\n ...\n ...\n\n Exercices/ex1/code/solution:\n total 80\n -rw-r--r-- 1 ruppena staff 1.1K Feb 10 12:22 build.properties\n -rw-r--r-- 1 ruppena staff 24K Mar 4 15:04 build.xml\n ...\n ...\n ...\n\n Exercices/ex1/latex:\n total 16\n -rw-r--r-- 1 ruppena staff 1.0K Mar 3 14:04 exo.tex\n -rw-r--r-- 1 ruppena staff 66B Feb 10 12:22 exosol.tex\n drwxr-xr-x 4 ruppena staff 136B Feb 10 12:22 resources/\n\n Exercices/ex1/latex/resources:\n total 0\n drwxr-xr-x 2 ruppena staff 102B Feb 10 12:22 code_tex/\n drwxr-xr-x 2 ruppena staff 306B Feb 10 12:22 figures/\n\n Exercices/ex1/latex/resources/code_tex:\n total 8\n -rw-r--r-- 1 ruppena staff 1.0K Feb 10 12:22 listing.tex\n\n Exercices/ex1/latex/resources/figures:\n total 1360\n -rw-r--r-- 1 ruppena staff 9.0K Feb 10 12:22 inherit.png\n\nEach exercise is made of two folders: `code` containing additional material to be distributed and `latex` containing the latex code to generate the exercise.\n\nAdditional material to be distributed in zipped form with the exercise needs to be placed in a subfolder `code/donnee` whereas distributed material to be distributed with the solution needs to be placed in a subfolder `code/solution`.\n\nThe exercise latex code is in a file `ex.tex` where number must be the same as used in the folder containing the exercise. The same applies for the solution, which is written in a file called `exosol.tex`.\n\nResources used for the latex code are stored in a subfolder `resources`. This folder contains a folder, `figures` to store images which are included with\n\n \\includegraphics[height=7cm]{\\includepath/figures/inherit.png}\n\nFurthermore, it contains a subfolder `code` used to store source code which is later included into the LaTeX source with\n\n \\lstinputlisting{\\includepath/code_tex/ADT.java}", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/digsim/seriesManagementSystem", "keywords": "students series", "license": "Apache", "maintainer": null, "maintainer_email": null, "name": "seriesManagementSystem", "package_url": "https://pypi.org/project/seriesManagementSystem/", "platform": "any", "project_url": "https://pypi.org/project/seriesManagementSystem/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/digsim/seriesManagementSystem" }, "release_url": "https://pypi.org/project/seriesManagementSystem/1.1.6/", "requires_dist": null, "requires_python": null, "summary": "Manages Series", "version": "1.1.6" }, "last_serial": 1759960, "releases": { "1.1": [ { "comment_text": "", "digests": { "md5": "73f82e958026bff586825e005b047d40", "sha256": "516e944bc69296ef34a3f0f00b4391c27620b21bf843610792ede9032fce8bd7" }, "downloads": -1, "filename": "seriesManagementSystem-1.1-py2.7.egg", "has_sig": false, "md5_digest": "73f82e958026bff586825e005b047d40", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 37772, "upload_time": "2015-07-29T16:01:27", "url": "https://files.pythonhosted.org/packages/28/21/d737b0d561f88c1dc28fac093250b970c4397c4bf27741f1242b3d347272/seriesManagementSystem-1.1-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "08dcbaa262d6092c39130a87e4e638dc", "sha256": "ef7db3aa10448ff06ad0863f25016146259be6e74430cc53ded9e56a0f09bc8d" }, "downloads": -1, "filename": "seriesManagementSystem-1.1.tar.gz", "has_sig": false, "md5_digest": "08dcbaa262d6092c39130a87e4e638dc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19901, "upload_time": "2015-07-29T16:01:23", "url": "https://files.pythonhosted.org/packages/a8/59/50eb5cd98eb4a2926be5296357921da548d300e9ef70dd994b18b9b7f36a/seriesManagementSystem-1.1.tar.gz" } ], "1.1.1": [ { "comment_text": "", "digests": { "md5": "551c0a4c4019422e778c4038846423c6", "sha256": "78e2ae6bd33595e107bed681ad988533f8ea47ac10305e4d7dec4433e875a954" }, "downloads": -1, "filename": "seriesManagementSystem-1.1.1-py2.7.egg", "has_sig": false, "md5_digest": "551c0a4c4019422e778c4038846423c6", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 37902, "upload_time": "2015-08-11T09:05:47", "url": "https://files.pythonhosted.org/packages/4f/4c/a5908f948fcbc18f407913a50f758fa5ea6d93187e8f333e8f7606a7e3da/seriesManagementSystem-1.1.1-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "60527907a2bc3a68426060c176c6e2a9", "sha256": "c5bc5915b6c7e1598aa62070ff380d2b32b260f5ddca737a0b279b15dd4dbcdf" }, "downloads": -1, "filename": "seriesManagementSystem-1.1.1.tar.gz", "has_sig": false, "md5_digest": "60527907a2bc3a68426060c176c6e2a9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19963, "upload_time": "2015-08-11T09:05:43", "url": "https://files.pythonhosted.org/packages/32/d8/5223a64b8f36973a8984a569c49c498c5b46203630a61a2f2fb30d0ee32b/seriesManagementSystem-1.1.1.tar.gz" } ], "1.1.2": [ { "comment_text": "", "digests": { "md5": "927b8e2c4cd61bd36b2e3d0766e769d1", "sha256": "3c08b87b96d2060124183062c4be115b8bff784d585562095c5af87be84095e6" }, "downloads": -1, "filename": "seriesManagementSystem-1.1.2-py2.7.egg", "has_sig": false, "md5_digest": "927b8e2c4cd61bd36b2e3d0766e769d1", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 37884, "upload_time": "2015-08-12T12:44:50", "url": "https://files.pythonhosted.org/packages/a3/74/d01bfca701b8c70f1154e1673969c13166220442bb4f4fd7801fb9927f05/seriesManagementSystem-1.1.2-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "7a9903dc24a472b3d693da417d6c6a05", "sha256": "42c2e713d069d865dbb9eb241c01f01a597e889cdc9105dea9b4de255a767400" }, "downloads": -1, "filename": "seriesManagementSystem-1.1.2.tar.gz", "has_sig": false, "md5_digest": "7a9903dc24a472b3d693da417d6c6a05", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19940, "upload_time": "2015-08-12T12:44:45", "url": "https://files.pythonhosted.org/packages/e3/f4/5dc6d734dbed5f55d73539ef83e55e3334ce007dd3d58fa560fd66c1fb8c/seriesManagementSystem-1.1.2.tar.gz" } ], "1.1.3": [ { "comment_text": "", "digests": { "md5": "a568bb2f20be2d1f740c5ecfc331d68e", "sha256": "3a732a3be844153d617acfdcb43c3a51df150eea3878d7556fcac7908e4f0da5" }, "downloads": -1, "filename": "seriesManagementSystem-1.1.3-py2.7.egg", "has_sig": false, "md5_digest": "a568bb2f20be2d1f740c5ecfc331d68e", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 38044, "upload_time": "2015-10-07T16:20:50", "url": "https://files.pythonhosted.org/packages/c4/6c/67427219ac97640795a491586a73b4c2df9a57e04c5d03a2e2d4fa248141/seriesManagementSystem-1.1.3-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "083a3b51e5153b4543f8a16b9ba8620f", "sha256": "cb80c0041d18cae5d823c81ea0041148cebae19deb729ad2398cb0711e17aa23" }, "downloads": -1, "filename": "seriesManagementSystem-1.1.3.tar.gz", "has_sig": false, "md5_digest": "083a3b51e5153b4543f8a16b9ba8620f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20030, "upload_time": "2015-10-07T16:20:45", "url": "https://files.pythonhosted.org/packages/af/63/850f5abc2b4822e70973ac5fe11d4f63d1d35a3a000704a1b6bef3cf9e9b/seriesManagementSystem-1.1.3.tar.gz" } ], "1.1.4": [ { "comment_text": "", "digests": { "md5": "71a0694d06cfea125532548bb604414e", "sha256": "1df26227bb1e2aec047ebde3e94afe859c6f9ec51735efeb0d1e9c7ba5e8869d" }, "downloads": -1, "filename": "seriesManagementSystem-1.1.4-py2.7.egg", "has_sig": false, "md5_digest": "71a0694d06cfea125532548bb604414e", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 38014, "upload_time": "2015-10-07T17:00:36", "url": "https://files.pythonhosted.org/packages/a5/11/b86dbf0cbf99a6805b63ade4b72cccc8afa8eb47efe70b3cac6d979f5265/seriesManagementSystem-1.1.4-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "c543cb8f4eeff145d65b0e72ab459a4d", "sha256": "ff33f1461ef065e0b6e90c0862dabc4dbcbba11b9ed2a1fe93315fd301510d6b" }, "downloads": -1, "filename": "seriesManagementSystem-1.1.4.tar.gz", "has_sig": false, "md5_digest": "c543cb8f4eeff145d65b0e72ab459a4d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20016, "upload_time": "2015-10-07T17:00:30", "url": "https://files.pythonhosted.org/packages/ce/96/a9112f72256f339b010bb8cc6b6a4d129e9dc95568d5601a63335eb047db/seriesManagementSystem-1.1.4.tar.gz" } ], "1.1.5": [ { "comment_text": "", "digests": { "md5": "0ff1d65420f344cb6c59d99cf76a767d", "sha256": "9876415e82e4823e669e05dfba0bf218414b30f12d1b32729210818bb3c0b922" }, "downloads": -1, "filename": "seriesManagementSystem-1.1.5-py2.7.egg", "has_sig": false, "md5_digest": "0ff1d65420f344cb6c59d99cf76a767d", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 38115, "upload_time": "2015-10-07T17:15:41", "url": "https://files.pythonhosted.org/packages/c1/74/fe0012c0f8c5a29d9eb0a7163109f48bc88c2af7498a17cff5ba558670a5/seriesManagementSystem-1.1.5-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "b5fae3f710726dfe178a94b7965c05ea", "sha256": "94c90fc84ce0be60004843d1e7658ce61e0f7f53879b994c0e06498d1e9b55bc" }, "downloads": -1, "filename": "seriesManagementSystem-1.1.5.tar.gz", "has_sig": false, "md5_digest": "b5fae3f710726dfe178a94b7965c05ea", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19994, "upload_time": "2015-10-07T17:15:36", "url": "https://files.pythonhosted.org/packages/97/66/1802b9374dee596c14cb1844fe138aeb79a3a6a33468c7d99cd7e7656663/seriesManagementSystem-1.1.5.tar.gz" } ], "1.1.6": [ { "comment_text": "", "digests": { "md5": "472f7f0ce71d5936b55d83f643215105", "sha256": "3d87509aa3933fab397cb4cb6abcc78f437593a4bda895075112104fb1b7ef9f" }, "downloads": -1, "filename": "seriesManagementSystem-1.1.6-py2.7.egg", "has_sig": false, "md5_digest": "472f7f0ce71d5936b55d83f643215105", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 39155, "upload_time": "2015-10-09T12:44:30", "url": "https://files.pythonhosted.org/packages/29/05/89ab0dfef84f66c95707abccea65f997dfaadedbbb2f1a2279844ec0086e/seriesManagementSystem-1.1.6-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "b081dffb8218b459bb45612107815f31", "sha256": "1d7f3636d8ce7da049a0d089e1ec56ae2931826a06a1a9d0cc88139af1372c59" }, "downloads": -1, "filename": "seriesManagementSystem-1.1.6.tar.gz", "has_sig": false, "md5_digest": "b081dffb8218b459bb45612107815f31", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22155, "upload_time": "2015-10-09T12:44:24", "url": "https://files.pythonhosted.org/packages/2d/d9/14751f95dff2d7a09b565ecfc5c20bb406d636e0fadd608e42d057dd8792/seriesManagementSystem-1.1.6.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "472f7f0ce71d5936b55d83f643215105", "sha256": "3d87509aa3933fab397cb4cb6abcc78f437593a4bda895075112104fb1b7ef9f" }, "downloads": -1, "filename": "seriesManagementSystem-1.1.6-py2.7.egg", "has_sig": false, "md5_digest": "472f7f0ce71d5936b55d83f643215105", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 39155, "upload_time": "2015-10-09T12:44:30", "url": "https://files.pythonhosted.org/packages/29/05/89ab0dfef84f66c95707abccea65f997dfaadedbbb2f1a2279844ec0086e/seriesManagementSystem-1.1.6-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "b081dffb8218b459bb45612107815f31", "sha256": "1d7f3636d8ce7da049a0d089e1ec56ae2931826a06a1a9d0cc88139af1372c59" }, "downloads": -1, "filename": "seriesManagementSystem-1.1.6.tar.gz", "has_sig": false, "md5_digest": "b081dffb8218b459bb45612107815f31", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22155, "upload_time": "2015-10-09T12:44:24", "url": "https://files.pythonhosted.org/packages/2d/d9/14751f95dff2d7a09b565ecfc5c20bb406d636e0fadd608e42d057dd8792/seriesManagementSystem-1.1.6.tar.gz" } ] }