Update embedded csv generating script
This commit is contained in:
		
							parent
							
								
									7520c8f1d4
								
							
						
					
					
						commit
						974ef0fe7a
					
				@ -11,47 +11,70 @@
 | 
				
			|||||||
#+end_src
 | 
					#+end_src
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#+begin_src emacs-lisp :exports none
 | 
					#+begin_src emacs-lisp :exports none
 | 
				
			||||||
  (defun extract-data ()
 | 
					 | 
				
			||||||
    (let* ((entry (org-element-at-point))
 | 
					 | 
				
			||||||
           (level (org-element-property :level entry))
 | 
					 | 
				
			||||||
           (props (org-entry-properties))
 | 
					 | 
				
			||||||
           (name (cdr (assoc "ITEM" props)))
 | 
					 | 
				
			||||||
           (homepage (cdr (assoc "HOME_PAGE" props)))
 | 
					 | 
				
			||||||
           (category (cdr (assoc "CATEGORY" props)))
 | 
					 | 
				
			||||||
           (jobsurl  (cdr (assoc "JOB_POSTS_URL" props)))
 | 
					 | 
				
			||||||
           (headquarters (cdr (assoc "HEADQUARTERS" props)))
 | 
					 | 
				
			||||||
           (usoffice (cdr (assoc "US_OFFICE" props)))
 | 
					 | 
				
			||||||
           (remotefreindly (cdr (assoc "REMOTE_FREINDLY" props)))
 | 
					 | 
				
			||||||
           (org-point (point)))
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
      (if (eq level 2)
 | 
					(setq export-file "SpaceCompanies.csv")
 | 
				
			||||||
          (with-current-buffer "*Company Data*"
 | 
					
 | 
				
			||||||
            (message (format "PROPS: %S" props))
 | 
					(defun get-multi-valued (pom prop)
 | 
				
			||||||
            (insert (format "%s,%s,\"%s\",%s,\"%s\",\"%s\",%s\n"
 | 
					  (let ((end (save-excursion (search-forward ":END:")))
 | 
				
			||||||
                            name
 | 
					        (elt-b nil)
 | 
				
			||||||
                            homepage
 | 
					        (elt-e nil)
 | 
				
			||||||
                            category
 | 
					        (elt nil)
 | 
				
			||||||
                            jobsurl
 | 
					        (values '()))
 | 
				
			||||||
                            headquarters
 | 
					    (save-excursion
 | 
				
			||||||
                            usoffice
 | 
					      (setq elt-b (search-forward-regexp (format ":%s\\+?:" prop) end t))
 | 
				
			||||||
                            remotefreindly
 | 
					      (while elt-b
 | 
				
			||||||
                            ))
 | 
					        (setq elt-e (line-end-position))
 | 
				
			||||||
            )
 | 
					        (setq elt (format "%s" (buffer-substring-no-properties
 | 
				
			||||||
        )
 | 
					                                    elt-b elt-e)))
 | 
				
			||||||
 | 
					        (setq values (cons elt values))
 | 
				
			||||||
 | 
					        (setq elt-b (search-forward-regexp (format ":%s\\+?:" prop) end t)))
 | 
				
			||||||
      )
 | 
					      )
 | 
				
			||||||
    )
 | 
					    values
 | 
				
			||||||
  (save-excursion
 | 
					    ))
 | 
				
			||||||
    (search-forward-regexp "^\* Companies")
 | 
					 | 
				
			||||||
    (get-buffer-create "*Company Data*")
 | 
					 | 
				
			||||||
    (with-current-buffer "*Company Data*"
 | 
					 | 
				
			||||||
      (erase-buffer)
 | 
					 | 
				
			||||||
      (insert "Name,Homepage,Category,Job Posts URL,Headquarters,US Office,Remote Friendly,Notes\n"))
 | 
					 | 
				
			||||||
    (beginning-of-line)
 | 
					 | 
				
			||||||
    (org-map-entries 'extract-data nil 'tree)
 | 
					 | 
				
			||||||
    )
 | 
					 | 
				
			||||||
#+end_src
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
#+RESULTS:
 | 
					(defun extract-company-data ()
 | 
				
			||||||
 | 
					  (let* ((cur-point (point))
 | 
				
			||||||
 | 
					         (entry (org-element-at-point))
 | 
				
			||||||
 | 
					         (level (org-element-property :level entry))
 | 
				
			||||||
 | 
					         (props (org-entry-properties))
 | 
				
			||||||
 | 
					         (name (org-entry-get cur-point "ITEM"))
 | 
				
			||||||
 | 
					         (homepage (org-entry-get cur-point "HOME_PAGE"))
 | 
				
			||||||
 | 
					         (category (get-multi-valued cur-point "CATEGORY"))
 | 
				
			||||||
 | 
					         (jobsurl  (org-entry-get cur-point "JOB_POSTS_URL"))
 | 
				
			||||||
 | 
					         (headquarters (org-entry-get cur-point "HEADQUARTERS"))
 | 
				
			||||||
 | 
					         (usoffice (get-multi-valued cur-point "US_OFFICE"))
 | 
				
			||||||
 | 
					         (remotefreindly (org-entry-get cur-point "REMOTE_FREINDLY")))
 | 
				
			||||||
 | 
					    (if (eq level 2)
 | 
				
			||||||
 | 
					        (with-current-buffer export-file
 | 
				
			||||||
 | 
					          ;; (message (format "PROPS: %S" props))
 | 
				
			||||||
 | 
					          (insert (format "%s,%s,\"%s\",%s,\"%s\",\"%s\",%s\n"
 | 
				
			||||||
 | 
					                          name
 | 
				
			||||||
 | 
					                          homepage
 | 
				
			||||||
 | 
					                          category
 | 
				
			||||||
 | 
					                          jobsurl
 | 
				
			||||||
 | 
					                          headquarters
 | 
				
			||||||
 | 
					                          usoffice
 | 
				
			||||||
 | 
					                          remotefreindly
 | 
				
			||||||
 | 
					                          ))
 | 
				
			||||||
 | 
					          ))
 | 
				
			||||||
 | 
					    )
 | 
				
			||||||
 | 
					  )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					;; Main
 | 
				
			||||||
 | 
					(save-excursion
 | 
				
			||||||
 | 
					  (goto-char (point-min))
 | 
				
			||||||
 | 
					  (search-forward-regexp "^\* Companies" nil t)
 | 
				
			||||||
 | 
					  (beginning-of-line)
 | 
				
			||||||
 | 
					  (get-buffer-create export-file)
 | 
				
			||||||
 | 
					  (with-current-buffer export-file
 | 
				
			||||||
 | 
					    (erase-buffer)
 | 
				
			||||||
 | 
					    (insert "Name,Homepage,Category,Job Posts URL,Headquarters,US Office,Remote Friendly,Notes\n"))
 | 
				
			||||||
 | 
					  (org-map-entries 'extract-company-data nil 'tree)
 | 
				
			||||||
 | 
					  (with-current-buffer export-file
 | 
				
			||||||
 | 
					        (write-file export-file)
 | 
				
			||||||
 | 
					        )
 | 
				
			||||||
 | 
					  )
 | 
				
			||||||
 | 
					#+end_src
 | 
				
			||||||
 | 
					
 | 
				
			||||||
* Terms
 | 
					* Terms
 | 
				
			||||||
- SBIR
 | 
					- SBIR
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user