commit-gnue
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

gnue/gnuef/src GFTrigger.py


From: Jason Cater
Subject: gnue/gnuef/src GFTrigger.py
Date: Sat, 26 May 2001 15:21:09 -0700

CVSROOT:        /home/cvs
Module name:    gnue
Changes by:     Jason Cater <address@hidden>    01/05/26 15:21:09

Modified files:
        gnuef/src      : GFTrigger.py 

Log message:
        Added code to allow programmers to indent there trigger code.  
Previously, the trigger code had to be flush left because of imports we added.  
  Also, fixed bug in GParser that stripped newlines from trigger code, so 
removed GFTrigger workaround.

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnuef/src/GFTrigger.py.diff?cvsroot=OldCVS&tr1=1.22&tr2=1.23&r1=text&r2=text

Patches:
Index: gnue/gnuef/src/GFTrigger.py
diff -u gnue/gnuef/src/GFTrigger.py:1.22 gnue/gnuef/src/GFTrigger.py:1.23
--- gnue/gnuef/src/GFTrigger.py:1.22    Mon May 14 13:04:20 2001
+++ gnue/gnuef/src/GFTrigger.py Sat May 26 15:21:08 2001
@@ -124,13 +124,27 @@
     if self.language != 'python':
       print "Language %s not implemented" % self.language
       sys.exit()
+
     # Remove whitespace from last line
     self._text = string.rstrip(self._text)
+
     # First compile the trigger:
     #   Compilation at this stage has the useful side effect that
     #   syntax errors are spotted during XML parsing rather than
     #   during execution.
-    revisedTriggerCode = "from gnue.forms.GFTriggerError import *\n" + 
self._text + "\npass\n"
+
+    # Get the indentation level of the first line of code so 
+    # we can indent our imports to the same level 
+    indentLevel = 0
+    for line in string.split(string.replace(str,'\r',''),'\n'): 
+      if len(string.strip(line)): 
+        indentLevel = len(line) - len(string.lstrip(line))
+        break
+
+    revisedTriggerCode = \
+        " " * indentLevel + "from gnue.forms.GFTriggerError import *\n" +\
+        self._text + "\n" + \
+        " " * indentLevel + "pass\n"
     try:
       self._code = compile(revisedTriggerCode, '<string>', 'exec')
     except SyntaxError, err:
@@ -155,8 +169,6 @@
   def dummyFunction(self, myself):
     print "Trigger not implemented"
 
-  def getChildrenAsContent(self):
-    return GObj.getChildrenAsContent(self, "\n")
   
 #
 # Helper class for building the namespace for python triggers. All access



reply via email to

[Prev in Thread] Current Thread [Next in Thread]