• R/O
  • SSH

mem: Commit

supermemo-like program for item memorising


Commit MetaInfo

Revisionae251ecbb0c50c62bc1e55e7ef1968e42c71f56c (tree)
Time2014-06-10 04:43:28
AuthorPJ
CommiterPJ

Log Message

scripts: sort + unlearn

Change Summary

Incremental Difference

diff -r 8ab63e4941cc -r ae251ecbb0c5 common/Item.h
--- a/common/Item.h Sat Jul 06 08:11:54 2013 +0100
+++ b/common/Item.h Mon Jun 09 20:43:28 2014 +0100
@@ -283,7 +283,7 @@
283283 string out(text.substr(split));
284284 out += text.substr(0, split);
285285 if (noEOL) {
286- unsigned last = out.size() - 1;
286+ unsigned last = (unsigned)out.size() - 1;
287287 if (out[last] == '\n')
288288 out.erase(last);
289289 }
diff -r 8ab63e4941cc -r ae251ecbb0c5 mem_sort.py
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mem_sort.py Mon Jun 09 20:43:28 2014 +0100
@@ -0,0 +1,43 @@
1+#!/usr/bin/python
2+
3+import sys
4+import xml.etree.ElementTree as ET
5+
6+def elem_brief(elem):
7+ print elem.tag, elem.attrib
8+ for e in list(elem):
9+ print '>', e.tag, e.attrib
10+
11+def elem_text(elem):
12+ print elem.tag, elem.attrib
13+ print 'I:', repr(elem.text)
14+ print 'T:', repr(elem.tail)
15+
16+parser = ET.XMLParser()
17+#parser.entity['mdash'] = u'\u2014'
18+
19+tree = ET.parse(sys.argv[1], parser)
20+root = tree.getroot()
21+#elem_text(root)
22+assert(root.tag == 'base')
23+
24+#elem_brief(root)
25+
26+mv_list = []
27+for e in root.findall('item'):
28+ #elem_brief(e)
29+ interv = e.find('interval')
30+ #print e.tag, interv
31+ if interv == None:
32+ elem_brief(e)
33+ mv_list.append(e)
34+ root.remove(e)
35+
36+#place at the end
37+for e in mv_list:
38+ root.append(e)
39+
40+#tree.write("out.html", encoding="utf-8")
41+tree.write("out.xml", encoding=None)
42+
43+#ET.dump(root)
diff -r 8ab63e4941cc -r ae251ecbb0c5 mem_unlearn.py
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mem_unlearn.py Mon Jun 09 20:43:28 2014 +0100
@@ -0,0 +1,35 @@
1+#!/usr/bin/python
2+
3+import sys
4+import xml.etree.ElementTree as ET
5+
6+def elem_brief(elem):
7+ print elem.tag, elem.attrib
8+ for e in list(elem):
9+ print '>', e.tag, e.attrib
10+
11+def elem_text(elem):
12+ print elem.tag, elem.attrib
13+ print 'I:', repr(elem.text)
14+ print 'T:', repr(elem.tail)
15+
16+parser = ET.XMLParser()
17+
18+tree = ET.parse(sys.argv[1], parser)
19+root = tree.getroot()
20+#elem_text(root)
21+#elem_brief(root)
22+assert(root.tag == 'base')
23+
24+
25+for e in root.findall('item'):
26+ #elem_brief(e)
27+ #ET.dump(e)
28+ for tag in [ 'repetition', 'mistake', 'ef', 'last', 'grade', 'interval']:
29+ ch = e.find(tag)
30+ if ch != None:
31+ e.remove(ch)
32+ elem_brief(e)
33+
34+#tree.write("out.html", encoding="utf-8")
35+tree.write("out.xml", encoding=None)
Show on old repository browser