diff --git a/import_to_es.py b/import_to_es.py
index 886211f..106cbc1 100644
--- a/import_to_es.py
+++ b/import_to_es.py
@@ -8,6 +8,7 @@ with a cron job or some binlog-reading thing (TODO)
from nyaa import app
from nyaa.models import Torrent
from elasticsearch import Elasticsearch
+from elasticsearch.client import IndicesClient
from elasticsearch import helpers
import progressbar
import sys
@@ -21,7 +22,8 @@ bar = progressbar.ProgressBar(
' (', progressbar.ETA(), ') ',
])
-es = Elasticsearch()
+es = Elasticsearch(timeout=30)
+ic = IndicesClient(es)
# turn into thing that elasticsearch indexes. We flatten in
# the stats (seeders/leechers) so we can order by them in es naturally.
@@ -89,4 +91,10 @@ def page_query(query, limit=sys.maxsize, batch_size=10000):
bar.update(start)
start = min(limit, start + batch_size)
+# turn off refreshes while bulk loading
+ic.put_settings(body={'index': {'refresh_interval': '-1'}}, index=app.config['ES_INDEX_NAME'])
+
helpers.bulk(es, (mk_es(t) for t in page_query(Torrent.query)), chunk_size=10000)
+
+# restore to near-enough real time
+ic.put_settings(body={'index': {'refresh_interval': '30s'}}, index=app.config['ES_INDEX_NAME'])
diff --git a/nyaa/routes.py b/nyaa/routes.py
index 30b3135..266689b 100644
--- a/nyaa/routes.py
+++ b/nyaa/routes.py
@@ -116,15 +116,13 @@ def home(rss):
if flask.request.args.get('page') == 'rss':
rss = True
- term = flask.request.args.get('q')
+ term = flask.request.args.get('q', flask.request.args.get('term'))
sort = flask.request.args.get('s')
order = flask.request.args.get('o')
- category = flask.request.args.get('c')
- quality_filter = flask.request.args.get('f')
- user_name = flask.request.args.get('u')
- page = flask.request.args.get('p')
- if page:
- page = int(page)
+ category = flask.request.args.get('c', flask.request.args.get('cats'))
+ quality_filter = flask.request.args.get('f', flask.request.args.get('filter'))
+ user_name = flask.request.args.get('u', flask.request.args.get('user'))
+ page = flask.request.args.get('p', flask.request.args.get('offset', 1, int), int)
per_page = app.config.get('RESULTS_PER_PAGE')
if not per_page:
@@ -143,7 +141,7 @@ def home(rss):
'order': order or 'desc',
'category': category or '0_0',
'quality_filter': quality_filter or '0',
- 'page': page or 1,
+ 'page': page,
'rss': rss,
'per_page': per_page
}
diff --git a/nyaa/static/js/main.js b/nyaa/static/js/main.js
index b9c140b..63f32c5 100644
--- a/nyaa/static/js/main.js
+++ b/nyaa/static/js/main.js
@@ -105,8 +105,13 @@ document.addEventListener("DOMContentLoaded", function() {
var previewTabEl = markdownEditor.querySelector(previewTabSelector);
var targetEl = markdownEditor.querySelector(targetSelector);
+ var reader = new commonmark.Parser({safe: true});
+ var writer = new commonmark.HtmlRenderer({safe: true});
+ writer.softbreak = '
';
+
previewTabEl.addEventListener('click', function () {
- targetEl.innerHTML = marked(sourceSelector.value.trim(), { sanitize: true, breaks:true });
+ var parsed = reader.parse(sourceSelector.value.trim());
+ targetEl.innerHTML = writer.render(parsed);
});
});
});
diff --git a/nyaa/static/pinned-tab.svg b/nyaa/static/pinned-tab.svg
new file mode 100644
index 0000000..28034c3
--- /dev/null
+++ b/nyaa/static/pinned-tab.svg
@@ -0,0 +1,7 @@
+
diff --git a/nyaa/templates/layout.html b/nyaa/templates/layout.html
index 232d2d5..9f91979 100644
--- a/nyaa/templates/layout.html
+++ b/nyaa/templates/layout.html
@@ -8,6 +8,7 @@
+
@@ -34,7 +35,7 @@
-
+