Commit Graph

50 Commits

Author SHA1 Message Date
Martin Zimmermann
2db98d0d34 move http utils in separate module 2013-10-24 14:38:43 +02:00
Martin Zimmermann
48b4c9f9a5 purge comments in moderation queue after given time, closes #13 2013-10-24 14:38:40 +02:00
Martin Zimmermann
11246f51dc support for moderated comments, part of #13
* add moderated = true to your configuration (defaults to false)
* comment activation via email to the Isso owner
2013-10-13 15:02:42 +02:00
Martin Zimmermann
61a486d2ea support for Python 3.3 2013-10-09 16:33:49 +02:00
Martin Zimmermann
ab618ad898 add basic spam protection 2013-10-06 18:37:05 +02:00
Martin Zimmermann
6242d243c9 update cookie after editing a comment 2013-10-03 18:12:59 +02:00
Martin Zimmermann
b36e2fdb28 COMMIT ALL THE THINGS
* refactor JS (a lot)
* use a CSS framework (neat/bourbon), because CSS is hard
* up/downvote comments
* cleaner HTML
* HTML inclusion in JS
* SVG icons for reference, up and downvote
* basic i18n: english and german supported ootb
* lazy (because slow) client-side identicon generation (preview ability)
* removed website input field for no particular reason
* remove HTML.js in favour of a homebrew DOM manipulation tool
2013-10-01 14:47:01 +02:00
Martin Zimmermann
560e73cc0a rewrite db backend 2013-09-19 18:44:37 +02:00
Martin Zimmermann
e56d6a087a fix unittests with mocking 2013-09-13 16:12:26 +02:00
Martin Zimmermann
adb3d40c03 send notification for new comments
This commit also introduces a new db which maps path to thread title.
The title is read by parsing the HTML for a related <h1> tag using
`html5lib`.

You can set up SMTP in your configuration (here the defaults):

    [SMTP]
    host = localhost
    port = 465
    ssl = on
    username =
    password =
    recipient =
    sender =

In short, by default Isso uses a local SMTP server using SSL without
any authentication. An email is send on comment creation to "recipient"
from "Ich schrei sonst <sender>".

This commit also uses a simple ANSI colorization module from my static
blog compiler project.

On server startup, Isso will connect to the SMTP server and fall back to
a null mailer. It also tries to connect to your website, so if that
doesn't work, you probably can't comment on your website either.
2013-09-13 15:21:18 +02:00
Martin Zimmermann
45d4e18aef new /count?uri=path and count.js
A separate (minified) JS to load only the comment count for each
`<a href="...#isso-thread">...</a>` link. If there are no comments,
return a 404, otherwise return the number JSON formatted.

To built `count.ks`, run `r.js -o build.count.js`.
2013-09-12 17:22:37 +02:00
Martin Zimmermann
5744a79e4d fix test for 88b77ff 2013-09-09 14:52:32 +02:00
Martin Zimmermann
f0c1574c15 remove stale comments from DB, closes #9 2013-09-08 17:21:33 +02:00
Martin Zimmermann
5cad8fb8b5 clean db interface and comment model 2013-09-08 13:02:25 +02:00
Martin Zimmermann
c7ee35423b implement db backend for votes/likes #5 2013-09-06 17:19:25 +02:00
Martin Zimmermann
11c6e4d720 remove email column 2013-09-06 15:56:43 +02:00
Martin Zimmermann
59706815e7 add comment.hash to recognize user by email or ip fallback
also: fixed test_comment json.dumps(json.loads(json.dumps(...)))
madness.
2013-09-05 23:09:56 +02:00
Martin Zimmermann
35926037a6 fix tests 2013-09-05 21:13:33 +02:00
Martin Zimmermann
dd4ba9263a refactor all the things (use werkzeug instead of NIH to handle WSGI)
Also: use ?uri=%2Fpath%2F as path indicator.
2013-09-02 14:44:53 +02:00
posativ
63b990838d fix tests 2012-12-16 00:31:55 +01:00
posativ
a4514e1f91 rewrite using NIH 2012-12-16 00:14:30 +01:00
posativ
66cc7911f5 limit to 20 by default 2012-10-24 23:56:52 +02:00
posativ
7420e6a130 add path to comment class 2012-10-24 20:38:07 +02:00
posativ
05b77f99fe add db.recent(mode, limit) method 2012-10-24 20:09:22 +02:00
posativ
39899dda81 /comment/ -> /1.0/ 2012-10-23 21:09:51 +02:00
posativ
ac6d88f61e isso import FILE can import Disqus export 2012-10-23 20:36:43 +02:00
posativ
ecd4c6b120 fix an edge case, where mallory can delete comments by bo 2012-10-23 16:40:30 +02:00
posativ
d2bc2537a1 remove limit, introduced unnecessary complexity 2012-10-21 22:37:39 +02:00
posativ
443eb2bbe1 fix tests 2012-10-21 09:51:32 +02:00
posativ
d30c3c059b sort in chronological order 2012-10-19 21:12:56 +02:00
posativ
f2eff22ff7 circumvent CGI 1.1 specs (PATH_INFO is quoted) 2012-10-19 18:58:55 +02:00
posativ
3cb623e7c2 check if url exists before creating a comment 2012-10-18 16:16:36 +02:00
posativ
2c8c97b2a8 add db.activate function and use UNIX-style permission bits for normal/activated/deleted comments 2012-10-18 15:41:12 +02:00
posativ
05336728f4 use itsdangerous 2012-10-17 22:43:51 +02:00
posativ
759b304cb5 refactor configuration variables 2012-10-17 18:32:53 +02:00
posativ
27801eef26 delete only when not referenced 2012-10-17 12:22:52 +02:00
posativ
af8fcdab19 most database operations now return Comment object 2012-10-17 12:00:11 +02:00
posativ
ca79ee5b67 rm url tests 2012-10-17 11:27:53 +02:00
posativ
e2198ed74a add update and delete views 2012-10-17 11:06:26 +02:00
posativ
1b2b4da490 fix db update 2012-10-17 10:56:43 +02:00
posativ
27007547bb return 404 if none found 2012-10-16 22:56:21 +02:00
posativ
5d23bff409 clean json fuckup and add create and get views 2012-10-16 22:52:02 +02:00
posativ
8301f0af78 replace db.initialize with db.__init__ 2012-10-16 21:30:30 +02:00
posativ
98c4b6ccb2 move Comment class to isso.models 2012-10-16 21:07:29 +02:00
posativ
36add653a7 change modified timestamp after update 2012-10-16 21:04:20 +02:00
posativ
633b0bee33 add update, get and delete methods to SQLite adapter 2012-10-16 21:00:10 +02:00
posativ
48cff63d4c add Comment.fromjson and update table definitions 2012-10-16 20:20:59 +02:00
posativ
54548d4bd5 docs and input sanitization 2012-10-16 19:32:55 +02:00
posativ
1199424a2b add basic SQLite adapter + tests 2012-10-16 19:11:59 +02:00
posativ
0333f7efb0 first tests and general code layout 2012-10-16 16:18:07 +02:00