From mboxrd@z Thu Jan 1 00:00:00 1970 From: tsd@tsdye.com (Thomas S. Dye) Subject: Re: Some advice on how to use babel to generate cisco configs Date: Thu, 31 Jan 2013 01:44:57 -1000 Message-ID: References: Mime-Version: 1.0 Content-Type: text/plain Return-path: Received: from eggs.gnu.org ([208.118.235.92]:51003) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1U0saM-0001VJ-93 for emacs-orgmode@gnu.org; Thu, 31 Jan 2013 06:45:43 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1U0sa6-0002lR-CH for emacs-orgmode@gnu.org; Thu, 31 Jan 2013 06:45:30 -0500 Received: from oproxy7-pub.bluehost.com ([67.222.55.9]:43332) by eggs.gnu.org with smtp (Exim 4.71) (envelope-from ) id 1U0sa6-0002ge-2R for emacs-orgmode@gnu.org; Thu, 31 Jan 2013 06:45:26 -0500 In-Reply-To: (Bart Bunting's message of "Thu, 31 Jan 2013 09:24:11 +1100") List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: Bart Bunting Cc: emacs-orgmode@gnu.org Aloha Bart, "Bart Bunting" writes: > Good morning, > > I have been trying to figure out without much luck how to use babel to > generate some cisco configs. > > > What I would like to achieve is to have a table containing a few values, > e.g. ip address vlan number etc. > > Then have a cisco config in the org file with markers where the > substitutions are to be inserted. > Run through the table and create a node in the org file one for each row > of the table. > > The end result should be a set of cisco configs with the substitutions > made. I was hoping to also use shell to call pwgen to generate a > random password to insert. > > Hope that ramble made some sort of sence. I don't know a Cisco config from a fig newton, but here is my sense of what you wrote, in case it is helpful. #+name: cisco-table | 1 | one | two | | 2 | three | four | | 3 | five | six | #+header: :results output raw #+header: :var x=cisco-table #+begin_src python for y in x: s = "* Cisco %s \nTwiddle %s, poke %s \n\n" % tuple(y) print s, #+end_src #+results: * Cisco 1 Twiddle one, poke two * Cisco 2 Twiddle three, poke four * Cisco 3 Twiddle five, poke six -- Thomas S. Dye http://www.tsdye.com