]> code.delx.au - gnu-emacs-elpa/commitdiff
Use updated version of python class snippet from sverre.johansen
authorZhang Chiyuan <pluskid@gmail.com>
Fri, 12 Dec 2008 05:01:50 +0000 (05:01 +0000)
committerZhang Chiyuan <pluskid@gmail.com>
Fri, 12 Dec 2008 05:01:50 +0000 (05:01 +0000)
snippets/text-mode/python-mode/class

index 0a3bff4836d0fd626e569af20f1deea20609c449..9617c0763607b8f809ebfd4f90df7318f0de20ac 100644 (file)
@@ -1,14 +1,58 @@
-#original contributor : Orestis Markou
-#contributor : Nishio Hirokazu
-#name : class ... :
+# -*- coding: utf-8 -*-
+# name: class
+# contributor: Orestis Markou
+# contributor: Nishio Hirokazu
+# contributor: Yasser González Fernández <yglez@uh.cu>
 # --
 class ${1:ClassName}(${2:object}):
-    "docstring for $1"
-    def __init__(self, ${3:args}):
-        ${3:$
-(mapconcat
- '(lambda (x)  (concat "self." x " = " x))
- (split-string text ", ")
- (concat "\n" (make-string (current-column) 32)))
-}
+    """$3
+    """
+
+    def __init__(self, $4):
+        """$5
+        ${4:$
+        (let* ((indent
+                (concat "\n" (make-string (current-column) 32)))
+               (args
+                (mapconcat
+                 '(lambda (x)
+                    (if (not (string= (nth 0 x) ""))
+                        (concat "- " (char-to-string 96) (nth 0 x)
+                                (char-to-string 96) ":")))
+                 (mapcar
+                  '(lambda (x)
+                     (mapcar
+                      (lambda (x)
+                        (replace-regexp-in-string "[[:blank:]]*$" ""
+                         (replace-regexp-in-string "^[[:blank:]]*" "" x))) x))
+                  (mapcar '(lambda (x) (split-string x "="))
+                          (split-string text ",")))
+                 indent)))
+          (if (string= args "")
+              (make-string 3 34)
+            (mapconcat
+             'identity
+             (list "" "Arguments:" args (make-string 3 34))
+             indent)))
+        }
+        ${4:$
+        (let* ((indent (concat "\n" (make-string (current-column) 32)))
+              (self-vars (mapconcat
+                   '(lambda (x)
+                      (if (not (string= (nth 0 x) ""))
+                          (concat "self._" (nth 0 x) " = " (nth 0 x))))
+                   (mapcar
+                    '(lambda (x)
+                       (mapcar
+                        '(lambda (x)
+                           (replace-regexp-in-string "[[:blank:]]*$" ""
+                                                     (replace-regexp-in-string "^[[:blank:]]*" "" x)))
+                        x))
+                    (mapcar '(lambda (x) (split-string x "="))
+                            (split-string text ",")))
+                   (concat indent))))
+  (if (string= self-vars "")
+      indent
+    self-vars))        
+        }
         $0