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