Function: python-util-list-packages

python-util-list-packages is a byte-compiled function defined in python.el.gz.

Signature

(python-util-list-packages DIR &optional MAX-DEPTH)

Documentation

List packages in DIR, limited by MAX-DEPTH.

When optional argument MAX-DEPTH is non-nil, stop searching when depth is reached, else don't limit.

Source Code

;; Defined in /usr/src/emacs/lisp/progmodes/python.el.gz
(defun python-util-list-packages (dir &optional max-depth)
  "List packages in DIR, limited by MAX-DEPTH.
When optional argument MAX-DEPTH is non-nil, stop searching when
depth is reached, else don't limit."
  (let* ((dir (expand-file-name dir))
         (parent-dir (file-name-directory
                      (directory-file-name
                       (file-name-directory
                        (file-name-as-directory dir)))))
         (subpath-length (length parent-dir)))
    (mapcar
     (lambda (file-name)
       (replace-regexp-in-string
        (rx (or ?\\ ?/)) "." (substring file-name subpath-length)))
     (python-util-list-directories
      (directory-file-name dir)
      (lambda (dir)
        (file-exists-p (expand-file-name "__init__.py" dir)))
      max-depth))))