ThirdParty/Jasy/jasy/js/api/Text.py

changeset 5843
76eee727ccd9
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/ThirdParty/Jasy/jasy/js/api/Text.py	Fri Aug 11 14:40:54 2017 +0200
@@ -0,0 +1,38 @@
+#
+# Jasy - Web Tooling Framework
+# Copyright 2010-2012 Zynga Inc.
+#
+
+from __future__ import unicode_literals
+
+import re
+import jasy.core.Console as Console
+
+__all__ = ["extractSummary"]
+
+# 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