eric6/ThirdParty/Jasy/jasy/script/api/Text.py

changeset 6942
2602857055c5
parent 6650
1dd52aa8897c
diff -r f99d60d6b59b -r 2602857055c5 eric6/ThirdParty/Jasy/jasy/script/api/Text.py
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/eric6/ThirdParty/Jasy/jasy/script/api/Text.py	Sun Apr 14 15:09:21 2019 +0200
@@ -0,0 +1,38 @@
+#
+# Jasy - Web Tooling Framework
+# Copyright 2010-2012 Zynga Inc.
+# Copyright 2013-2014 Sebastian Werner
+#
+
+from __future__ import unicode_literals
+
+import re
+import jasy.core.Console as Console
+
+
+# Used to filter first paragraph from HTML
+paragraphExtract = re.compile(r"^(.*?)(\. |\? |\! |$)")
+newlineMatcher = re.compile(r"\n")
+
+# Used to remove markup sequences after doc processing of comment text
+stripMarkup = re.compile(r"<.*?>")
+
+def extractSummary(text):
+    try:
+        text = stripMarkup.sub("", newlineMatcher.sub(" ", text))
+        matched = paragraphExtract.match(text)
+    except TypeError:
+        matched = None
+
+    if matched:
+        summary = matched.group(1)
+        if summary is not None:
+            if not summary.endswith((".", "!", "?")):
+                summary = summary.strip() + "."
+            return summary
+
+    else:
+        Console.warn("Unable to extract summary for: %s", text)
+
+    return None
+

eric ide

mercurial