Yes, thanks. That substring was a bad copy. Any insight why the (shell-command "uuidgen" t) wasn't working?

On Wed, Mar 11, 2020 at 3:03 AM Diego Zamboni <diego@zzamboni.org> wrote:
Hi LB,

How about using the =org-id-uuid= function instead of shelling out to uuidgen? In my quick test the following seems to behave properly:

(defun template-myid ()
  (insert "\n:PROPERTIES:\n:TIME: "
      (format-time-string "%Y-%m-%dT%H:%M:%S")
      "\n:VERTEX: "
      (org-id-uuid)
      "\n:EDGES:  \n:END:"))

Note that I also removed the wrapping (substring (format ...)), which didn't seem to be necessary.

--Diego


On Wed, Mar 11, 2020 at 5:39 AM Lawrence Bottorff <borgauf@gmail.com> wrote:
I want to insert upon creating a heading a PROPERTIES drawer. So far I have this

(defadvice org-insert-heading (after add-id-stuff activate)
  (template-myid))

(defun template-myid ()
  (insert "\n:PROPERTIES:\n:TIME: "
      (substring (format "%s" (format-time-string "%Y-%m-%dT%H:%M:%S")))
      "\n:VERTEX: "
      (substring (format "%s" (shell-command "uuidgen" t)))
      "\n:EDGES:  \n:END:"))

This is working -- sort of. My problem is the uuid is getting thrown around. The output looks like this

* Heading
:PROPERTIES:
:TIME: 2020-03-10T23:34:17
:VERTEX: 12836
:EDGES:  
:END:32bf9499-f9e2-49d9-b8e7-9edb40272411

Not sure how to make this behave.

LB