General changes:
* ~/.netrc support for authentication
* `pull:save` and `pull` actions added by tsalmon (4)
The first one lets you choose a path where it'll download all files from all
the courses you follow in one directory that can later be updated with the
second command. `pull:save` saves the path so that `pull` doesn’t need it,
it’ll pull in the previously saved path.
Minor changes
* `^C` properly handled by the CLI module
Python API:
* `DidelConfigget_credentials` added, which returns a pair of `username` and
`password` for the current configuration, or fallback on `~/.netrc` if it
can.
* `Sessionlogout` removed. It’s not necessary because cookies are not saved
between sessions so just deleting the session object disconnects you
* `logged` boolean attribute added on `Student`. It'll be `True` if the student
was successfully logged in.
* `Studentsynchronize_docs` method added (4), it fetches all documents from
all courses followed by the user and download them in the given path. It
doesn't re-download a document if it already exist locally.
* New module: `didel.exceptions`, provides `DidelLoginRequired` which is raised
by the `Student` methods which require a loggued session and
`DidelServerError` which is raised by `Session` objects in some methods to
signal a server-side error.
v0.1.1, 2015-01-31 -- Python 2.6 support
General changes:
* Python 2.6 and 3.x support fixed
* Persistent cookies (broken) support removed
Python API:
* Internal exceptions are now of the class `DidelError` instead of `Exception`
* `DidelEntityfetch` method now properly handle objects with no `path`
* Some classes are imported in `__init__`, making them available with a shorter
form:
from didel import Student
instead of:
from didel.student import Student
These classes are: `Course`, `CourseAssignment`, `CourseAssignments`,
`Session`, and `Student`.
* `Studentlogin`’s `save` optional argument removed
* `Sessionsave` and `Sessionload` removed
Command line:
* `courses:show <code>` added to open a course's page in the browser
* `courses:alias <alias> <code>` added. It allows one to set an alias for each
course:
$ didel courses:show M2T2INFOEMB course code, hard to remember
blah blah
$ didel courses:show emb this one doesn't exist
<error>
$ didel courses:alias emb M2T2INFOEMB alias it to a shorter name
$ didel courses:show emb easier to remember
blah blah
Aliases are stored in the configuration file, which makes them easy to edit
with your text editor.