Compare commits

...

7 Commits

Author SHA1 Message Date
Martin Zimmermann
95e8bcf256 Back to development: 0.2.4 2013-10-31 17:38:25 +01:00
Martin Zimmermann
d9ff690057 Preparing release 0.2.3 2013-10-31 17:38:04 +01:00
Martin Zimmermann
c5af859286 detect Isso API endpoint when using *.dev.js script 2013-10-31 12:34:00 +01:00
Martin Zimmermann
6924d480d5 include uncompressed JS files for debugging purposes 2013-10-31 11:21:57 +01:00
Martin Zimmermann
9721b781b9 Back to development: 0.2.3 2013-10-31 11:09:38 +01:00
Martin Zimmermann
2fbc3623e8 Preparing release 0.2.2 2013-10-31 11:09:17 +01:00
Martin Zimmermann
26544b69be fix empty thread title due premature HTTP connection closing 2013-10-31 01:02:41 +01:00
9 changed files with 59 additions and 25 deletions

2
.gitignore vendored
View File

@ -14,4 +14,6 @@
/isso.egg-info/
/isso/js/components
/isso/js/embed.min.js
/isso/js/embed.dev.js
/isso/js/count.min.js
/isso/js/count.dev.js

View File

@ -1,7 +1,19 @@
Changelog for Isso
==================
0.2.1 (2013-10-30)
0.2.4 (unreleased)
------------------
- Nothing changed yet.
0.2.3 (2013-10-31)
------------------
- Nothing changed yet.
0.2.2 (2013-10-31)
------------------
- Nothing changed yet.

View File

@ -1,5 +1,7 @@
include isso/js/embed.min.js
include isso/js/embed.dev.js
include isso/js/count.min.js
include isso/js/count.dev.js
include isso/css/isso.css
include isso/static/post.html

10
Makefile Normal file
View File

@ -0,0 +1,10 @@
all: css js
css:
scss --no-cache isso/css/isso.scss isso/css/isso.css
js:
r.js -o isso/js/build.embed.js
r.js -o isso/js/build.embed.js optimize="none" out="isso/js/embed.dev.js"
r.js -o isso/js/build.count.js
r.js -o isso/js/build.count.js optimize="none" out="isso/js/count.dev.js"

View File

@ -58,7 +58,7 @@ from jinja2 import Environment, FileSystemLoader
from isso import db, migrate, views, wsgi
from isso.core import ThreadedMixin, uWSGIMixin, Config
from isso.utils import parse
from isso.utils import parse, http
from isso.views import comment, admin
logging.getLogger('werkzeug').setLevel(logging.ERROR)
@ -164,16 +164,11 @@ def make_app(conf=None):
isso = App(conf)
for line in conf.getiter("general", "host"):
try:
host, port, ssl = parse.host(line)
con = httplib.HTTPSConnection if ssl else httplib.HTTPConnection
con(host, port, timeout=5).request('GET', '/')
except (httplib.HTTPException, socket.error):
continue
else:
logger.info("connected to HTTP server")
break
for host in conf.getiter("general", "host"):
with http.curl('HEAD', host, '/', 5) as resp:
if resp is not None:
logger.info("connected to HTTP server")
break
else:
logger.warn("unable to connect to HTTP server")

View File

@ -28,7 +28,7 @@ define(["q"], function(Q) {
if (js[i].src.match("/js/components/requirejs/require\\.js$")) {
endpoint = js[i].src.substring(0, js[i].src.length - 35);
break;
} else if (js[i].src.match("/js/(embed|count)\\.min\\.js$")) {
} else if (js[i].src.match("/js/(embed|count)\\.(min|dev)\\.js$")) {
endpoint = js[i].src.substring(0, js[i].src.length - 16);
break;
}
@ -154,4 +154,4 @@ define(["q"], function(Q) {
like: like,
dislike: dislike
};
});
});

View File

@ -12,14 +12,27 @@ except ImportError:
from isso.utils import parse
def curl(method, host, path, timeout=3):
class curl(object):
host, port, ssl = parse.host(host)
http = httplib.HTTPSConnection if ssl else httplib.HTTPConnection
def __init__(self, method, host, path, timeout=3):
self.method = method
self.host = host
self.path = path
self.timeout = timeout
def __enter__(self):
host, port, ssl = parse.host(self.host)
http = httplib.HTTPSConnection if ssl else httplib.HTTPConnection
self.con = http(host, port, timeout=self.timeout)
with closing(http(host, port, timeout=timeout)) as con:
try:
con.request(method, path)
self.con.request(self.method, self.path)
except (httplib.HTTPException, socket.error):
return None
return con.getresponse()
return self.con.getresponse()
def __exit__(self, exc_type, exc_value, traceback):
self.con.close()

View File

@ -73,10 +73,10 @@ def new(app, environ, request, uri):
with app.lock:
if uri not in app.db.threads:
for host in app.conf.getiter('general', 'host'):
resp = http.curl('HEAD', host, uri)
if resp and resp.status == 200:
title = parse.title(resp.read())
break
with http.curl('GET', host, uri) as resp:
if resp and resp.status == 200:
title = parse.title(resp.read())
break
else:
return Response('URI does not exist', 404)

View File

@ -15,7 +15,7 @@ if sys.version_info < (3, 0):
setup(
name='isso',
version='0.2.1',
version='0.2.4.dev0',
author='Martin Zimmermann',
author_email='info@posativ.org',
packages=find_packages(),