Re: [O] [babel] How to set multiple variables with properties
Hi Christian, I took a look at these functions, while they do seem to work they don't provide for any inheritance from higher-level subtrees. I think this is a deal-breaker for use resolving header arguments as inheritance is generally more useful than multiple values. Thanks for pointing these out, at some point I do think that it may be worth taking a look at how Org-mode resolves properties generally. Cheers -- Eric Christian Moe m...@christianmoe.com writes: Hi again, I was referring to these functions: - org-entry-put-multivalued-property - org-entry-get-multivalued-property - org-entry-add-to-multivalued-property - org-entry-remove-from-multivalued-property - org-entry-member-in-multivalued-property described here: http://orgmode.org/manual/Using-the-property-API.html I've found a few discussions: - http://comments.gmane.org/gmane.emacs.orgmode/33457 - http://lists.gnu.org/archive/html/emacs-orgmode/2010-02/msg00251.html I don't have anything working with them, as such,[1] and I was curious if anyone did. They don't currently seem to be integrated into completion, search functions, Babel, and so on, which would limit their usefulness (though searching can be done with regexps). And I think implementing wider support for them would run into a problem with distinguishing between properties that are meant to be multivalued, or and properties that just contain a single value which happens to contain spaces. But handling multiple var=value expressions in a :var: property for Babel, as Darlan asked about, might perhaps be doable...? Stuff might break, though. Yours, Christian [1] I do have a small research database with some multivalued properties in it. For queries, I use your org-collector and regular expression matching against properties with multiple values. The multivalued-properties functions didn't really come into it, except that knowing they were there made me go ahead and put multiple values in one property. (As it turned out, that wasn't a very good design choice.) On 6/21/11 11:03 PM, Eric Schulte wrote: Hi Christian, That's the first I've heard of that variable? If you do get something working with multivalued properties please do share. Cheers -- Eric Christian Moem...@christianmoe.com writes: Hi, Eric, Just curious: What about the org-entry--multivalued-property functions mentioned in Using the properties API? Is anybody using multivalued properties for anything? Yours, Christian On 6/21/11 10:17 PM, Eric Schulte wrote: Unfortunately org-mode properties only allow a single entry for any given key, so you can only specify one variable using properties. However the following workaround does exist. *** alternative :PROPERTIES: :var: vars=variables :END: #+tblname: variables | var1 | 1 | | var2 | 2 | #+begin_src python print vars[0][1] print vars[1][1] #+end_src Best -- Eric Darlan Cavalcante Moreiradarc...@gmail.com writes: I'm using org-babel to automate a few tasks and I'd like to define a few variables that are common to several code blocks as sub-tree properties. It works when I have only one variable, where I can use * Heading :PROPERTY: :var: variable1=value1 :END: #+begin_src python :results output print variable1 #+end_src #+results: : value1 Is it possible to set multiples variables in this way? I tried things like :PROPERTY: :var: variable1=value1 variable2=value2 :END: :PROPERTY: :var: variable1=value1,variable2=value2 :END: :PROPERTY: :variable1: value1 :variable2: value2 :END: but none of them worked. -- Darlan Cavalcante -- Eric Schulte http://cs.unm.edu/~eschulte/
Re: [O] [babel] How to set multiple variables with properties
I think that a solution more integrated with the rest of Org-mode's property handling would be preferable. That is to say, there should be a way to collect multiple value for a property in Org-mode, and Babel should simply make use of the more general facility. This doesn't exist yet, but I'd rather wait for the general Org solution than push through a temporary Babel-specific solution. Cheers -- Eric Darlan Cavalcante Moreira darc...@gmail.com writes: One of the things I tried (that didn't work, otherwise I would not have sent any e-mail) was :PROPERTY: :var: variable1=value1 :var variable2=value2 :END: I thought that maybe babel would just ask org what is the value of :var:, put :var before it, and include this in the block header. Therefore I would get the effect of adding :var variable1=value1 :var variable2=value2 in the block header and it could work. However, even if this method had worked It would not be flexible. One of the nice things about properties is inheritance. I would like to define general variables as properties in level-1 headings and define more specific variables in the sub-headings as necessary. However, if babel always use :var: as the property then defining a variable in a subheading will overwrite the upper level variable. The best option in my use-case-scenario would be some name scheme to identify variable definitions for org-babel. For instance :PROPERTY: :ob-someVariable: some string maybe with\nline breaks :ob-someOtherVariable: 123456 :END: would make the variables someVariable and someOtherVariable known to org-babel. -- Darlan Cavalcante At Wed, 22 Jun 2011 20:27:00 +0200, Christian Moe m...@christianmoe.com wrote: Hi again, I was referring to these functions: - org-entry-put-multivalued-property - org-entry-get-multivalued-property - org-entry-add-to-multivalued-property - org-entry-remove-from-multivalued-property - org-entry-member-in-multivalued-property described here: http://orgmode.org/manual/Using-the-property-API.html I've found a few discussions: - http://comments.gmane.org/gmane.emacs.orgmode/33457 - http://lists.gnu.org/archive/html/emacs-orgmode/2010-02/msg00251.html I don't have anything working with them, as such,[1] and I was curious if anyone did. They don't currently seem to be integrated into completion, search functions, Babel, and so on, which would limit their usefulness (though searching can be done with regexps). And I think implementing wider support for them would run into a problem with distinguishing between properties that are meant to be multivalued, or and properties that just contain a single value which happens to contain spaces. But handling multiple var=value expressions in a :var: property for Babel, as Darlan asked about, might perhaps be doable...? Stuff might break, though. Yours, Christian [1] I do have a small research database with some multivalued properties in it. For queries, I use your org-collector and regular expression matching against properties with multiple values. The multivalued-properties functions didn't really come into it, except that knowing they were there made me go ahead and put multiple values in one property. (As it turned out, that wasn't a very good design choice.) On 6/21/11 11:03 PM, Eric Schulte wrote: Hi Christian, That's the first I've heard of that variable? If you do get something working with multivalued properties please do share. Cheers -- Eric Christian Moem...@christianmoe.com writes: Hi, Eric, Just curious: What about the org-entry--multivalued-property functions mentioned in Using the properties API? Is anybody using multivalued properties for anything? Yours, Christian On 6/21/11 10:17 PM, Eric Schulte wrote: Unfortunately org-mode properties only allow a single entry for any given key, so you can only specify one variable using properties. However the following workaround does exist. *** alternative :PROPERTIES: :var: vars=variables :END: #+tblname: variables | var1 | 1 | | var2 | 2 | #+begin_src python print vars[0][1] print vars[1][1] #+end_src Best -- Eric Darlan Cavalcante Moreiradarc...@gmail.com writes: I'm using org-babel to automate a few tasks and I'd like to define a few variables that are common to several code blocks as sub-tree properties. It works when I have only one variable, where I can use * Heading :PROPERTY: :var: variable1=value1 :END: #+begin_src python :results output print variable1 #+end_src #+results: : value1 Is it possible to set multiples variables in this way? I tried things like :PROPERTY: :var: variable1=value1 variable2=value2 :END: :PROPERTY: :var: variable1=value1,variable2=value2 :END: :PROPERTY: :variable1: value1 :variable2: value2
Re: [O] [babel] How to set multiple variables with properties
Hi again, I was referring to these functions: - org-entry-put-multivalued-property - org-entry-get-multivalued-property - org-entry-add-to-multivalued-property - org-entry-remove-from-multivalued-property - org-entry-member-in-multivalued-property described here: http://orgmode.org/manual/Using-the-property-API.html I've found a few discussions: - http://comments.gmane.org/gmane.emacs.orgmode/33457 - http://lists.gnu.org/archive/html/emacs-orgmode/2010-02/msg00251.html I don't have anything working with them, as such,[1] and I was curious if anyone did. They don't currently seem to be integrated into completion, search functions, Babel, and so on, which would limit their usefulness (though searching can be done with regexps). And I think implementing wider support for them would run into a problem with distinguishing between properties that are meant to be multivalued, or and properties that just contain a single value which happens to contain spaces. But handling multiple var=value expressions in a :var: property for Babel, as Darlan asked about, might perhaps be doable...? Stuff might break, though. Yours, Christian [1] I do have a small research database with some multivalued properties in it. For queries, I use your org-collector and regular expression matching against properties with multiple values. The multivalued-properties functions didn't really come into it, except that knowing they were there made me go ahead and put multiple values in one property. (As it turned out, that wasn't a very good design choice.) On 6/21/11 11:03 PM, Eric Schulte wrote: Hi Christian, That's the first I've heard of that variable? If you do get something working with multivalued properties please do share. Cheers -- Eric Christian Moem...@christianmoe.com writes: Hi, Eric, Just curious: What about the org-entry--multivalued-property functions mentioned in Using the properties API? Is anybody using multivalued properties for anything? Yours, Christian On 6/21/11 10:17 PM, Eric Schulte wrote: Unfortunately org-mode properties only allow a single entry for any given key, so you can only specify one variable using properties. However the following workaround does exist. *** alternative :PROPERTIES: :var: vars=variables :END: #+tblname: variables | var1 | 1 | | var2 | 2 | #+begin_src python print vars[0][1] print vars[1][1] #+end_src Best -- Eric Darlan Cavalcante Moreiradarc...@gmail.com writes: I'm using org-babel to automate a few tasks and I'd like to define a few variables that are common to several code blocks as sub-tree properties. It works when I have only one variable, where I can use * Heading :PROPERTY: :var: variable1=value1 :END: #+begin_src python :results output print variable1 #+end_src #+results: : value1 Is it possible to set multiples variables in this way? I tried things like :PROPERTY: :var: variable1=value1 variable2=value2 :END: :PROPERTY: :var: variable1=value1,variable2=value2 :END: :PROPERTY: :variable1: value1 :variable2: value2 :END: but none of them worked. -- Darlan Cavalcante
Re: [O] [babel] How to set multiple variables with properties
One of the things I tried (that didn't work, otherwise I would not have sent any e-mail) was :PROPERTY: :var: variable1=value1 :var variable2=value2 :END: I thought that maybe babel would just ask org what is the value of :var:, put :var before it, and include this in the block header. Therefore I would get the effect of adding :var variable1=value1 :var variable2=value2 in the block header and it could work. However, even if this method had worked It would not be flexible. One of the nice things about properties is inheritance. I would like to define general variables as properties in level-1 headings and define more specific variables in the sub-headings as necessary. However, if babel always use :var: as the property then defining a variable in a subheading will overwrite the upper level variable. The best option in my use-case-scenario would be some name scheme to identify variable definitions for org-babel. For instance --8---cut here---start-8--- :PROPERTY: :ob-someVariable: some string maybe with\nline breaks :ob-someOtherVariable: 123456 :END: --8---cut here---end---8--- would make the variables someVariable and someOtherVariable known to org-babel. -- Darlan Cavalcante At Wed, 22 Jun 2011 20:27:00 +0200, Christian Moe m...@christianmoe.com wrote: Hi again, I was referring to these functions: - org-entry-put-multivalued-property - org-entry-get-multivalued-property - org-entry-add-to-multivalued-property - org-entry-remove-from-multivalued-property - org-entry-member-in-multivalued-property described here: http://orgmode.org/manual/Using-the-property-API.html I've found a few discussions: - http://comments.gmane.org/gmane.emacs.orgmode/33457 - http://lists.gnu.org/archive/html/emacs-orgmode/2010-02/msg00251.html I don't have anything working with them, as such,[1] and I was curious if anyone did. They don't currently seem to be integrated into completion, search functions, Babel, and so on, which would limit their usefulness (though searching can be done with regexps). And I think implementing wider support for them would run into a problem with distinguishing between properties that are meant to be multivalued, or and properties that just contain a single value which happens to contain spaces. But handling multiple var=value expressions in a :var: property for Babel, as Darlan asked about, might perhaps be doable...? Stuff might break, though. Yours, Christian [1] I do have a small research database with some multivalued properties in it. For queries, I use your org-collector and regular expression matching against properties with multiple values. The multivalued-properties functions didn't really come into it, except that knowing they were there made me go ahead and put multiple values in one property. (As it turned out, that wasn't a very good design choice.) On 6/21/11 11:03 PM, Eric Schulte wrote: Hi Christian, That's the first I've heard of that variable? If you do get something working with multivalued properties please do share. Cheers -- Eric Christian Moem...@christianmoe.com writes: Hi, Eric, Just curious: What about the org-entry--multivalued-property functions mentioned in Using the properties API? Is anybody using multivalued properties for anything? Yours, Christian On 6/21/11 10:17 PM, Eric Schulte wrote: Unfortunately org-mode properties only allow a single entry for any given key, so you can only specify one variable using properties. However the following workaround does exist. *** alternative :PROPERTIES: :var: vars=variables :END: #+tblname: variables | var1 | 1 | | var2 | 2 | #+begin_src python print vars[0][1] print vars[1][1] #+end_src Best -- Eric Darlan Cavalcante Moreiradarc...@gmail.com writes: I'm using org-babel to automate a few tasks and I'd like to define a few variables that are common to several code blocks as sub-tree properties. It works when I have only one variable, where I can use * Heading :PROPERTY: :var: variable1=value1 :END: #+begin_src python :results output print variable1 #+end_src #+results: : value1 Is it possible to set multiples variables in this way? I tried things like :PROPERTY: :var: variable1=value1 variable2=value2 :END: :PROPERTY: :var: variable1=value1,variable2=value2 :END: :PROPERTY: :variable1: value1 :variable2: value2 :END: but none of them worked. -- Darlan Cavalcante
[O] [babel] How to set multiple variables with properties
I'm using org-babel to automate a few tasks and I'd like to define a few variables that are common to several code blocks as sub-tree properties. It works when I have only one variable, where I can use --8---cut here---start-8--- * Heading :PROPERTY: :var: variable1=value1 :END: #+begin_src python :results output print variable1 #+end_src #+results: : value1 --8---cut here---end---8--- Is it possible to set multiples variables in this way? I tried things like --8---cut here---start-8--- :PROPERTY: :var: variable1=value1 variable2=value2 :END: :PROPERTY: :var: variable1=value1,variable2=value2 :END: :PROPERTY: :variable1: value1 :variable2: value2 :END: --8---cut here---end---8--- but none of them worked. -- Darlan Cavalcante
Re: [O] [babel] How to set multiple variables with properties
Unfortunately org-mode properties only allow a single entry for any given key, so you can only specify one variable using properties. However the following workaround does exist. *** alternative :PROPERTIES: :var: vars=variables :END: #+tblname: variables | var1 | 1 | | var2 | 2 | #+begin_src python print vars[0][1] print vars[1][1] #+end_src Best -- Eric Darlan Cavalcante Moreira darc...@gmail.com writes: I'm using org-babel to automate a few tasks and I'd like to define a few variables that are common to several code blocks as sub-tree properties. It works when I have only one variable, where I can use * Heading :PROPERTY: :var: variable1=value1 :END: #+begin_src python :results output print variable1 #+end_src #+results: : value1 Is it possible to set multiples variables in this way? I tried things like :PROPERTY: :var: variable1=value1 variable2=value2 :END: :PROPERTY: :var: variable1=value1,variable2=value2 :END: :PROPERTY: :variable1: value1 :variable2: value2 :END: but none of them worked. -- Darlan Cavalcante -- Eric Schulte http://cs.unm.edu/~eschulte/
Re: [O] [babel] How to set multiple variables with properties
Hi Christian, That's the first I've heard of that variable? If you do get something working with multivalued properties please do share. Cheers -- Eric Christian Moe m...@christianmoe.com writes: Hi, Eric, Just curious: What about the org-entry--multivalued-property functions mentioned in Using the properties API? Is anybody using multivalued properties for anything? Yours, Christian On 6/21/11 10:17 PM, Eric Schulte wrote: Unfortunately org-mode properties only allow a single entry for any given key, so you can only specify one variable using properties. However the following workaround does exist. *** alternative :PROPERTIES: :var: vars=variables :END: #+tblname: variables | var1 | 1 | | var2 | 2 | #+begin_src python print vars[0][1] print vars[1][1] #+end_src Best -- Eric Darlan Cavalcante Moreiradarc...@gmail.com writes: I'm using org-babel to automate a few tasks and I'd like to define a few variables that are common to several code blocks as sub-tree properties. It works when I have only one variable, where I can use * Heading :PROPERTY: :var: variable1=value1 :END: #+begin_src python :results output print variable1 #+end_src #+results: : value1 Is it possible to set multiples variables in this way? I tried things like :PROPERTY: :var: variable1=value1 variable2=value2 :END: :PROPERTY: :var: variable1=value1,variable2=value2 :END: :PROPERTY: :variable1: value1 :variable2: value2 :END: but none of them worked. -- Darlan Cavalcante -- Eric Schulte http://cs.unm.edu/~eschulte/
Re: [O] [babel] How to set multiple variables with properties
Hi, Eric, Just curious: What about the org-entry--multivalued-property functions mentioned in Using the properties API? Is anybody using multivalued properties for anything? Yours, Christian On 6/21/11 10:17 PM, Eric Schulte wrote: Unfortunately org-mode properties only allow a single entry for any given key, so you can only specify one variable using properties. However the following workaround does exist. *** alternative :PROPERTIES: :var: vars=variables :END: #+tblname: variables | var1 | 1 | | var2 | 2 | #+begin_src python print vars[0][1] print vars[1][1] #+end_src Best -- Eric Darlan Cavalcante Moreiradarc...@gmail.com writes: I'm using org-babel to automate a few tasks and I'd like to define a few variables that are common to several code blocks as sub-tree properties. It works when I have only one variable, where I can use * Heading :PROPERTY: :var: variable1=value1 :END: #+begin_src python :results output print variable1 #+end_src #+results: : value1 Is it possible to set multiples variables in this way? I tried things like :PROPERTY: :var: variable1=value1 variable2=value2 :END: :PROPERTY: :var: variable1=value1,variable2=value2 :END: :PROPERTY: :variable1: value1 :variable2: value2 :END: but none of them worked. -- Darlan Cavalcante
Re: [O] [babel] How to set multiple variables with properties
Thanks Eric, I'll minimize the need of this by using #+babel: var=something for variables that are common to many blocks. The tip with the table is a good one also. -- Darlan Cavalcante At Tue, 21 Jun 2011 13:17:17 -0700, Eric Schulte wrote: Unfortunately org-mode properties only allow a single entry for any given key, so you can only specify one variable using properties. However the following workaround does exist. *** alternative :PROPERTIES: :var: vars=variables :END: #+tblname: variables | var1 | 1 | | var2 | 2 | #+begin_src python print vars[0][1] print vars[1][1] #+end_src Best -- Eric Darlan Cavalcante Moreira darc...@gmail.com writes: I'm using org-babel to automate a few tasks and I'd like to define a few variables that are common to several code blocks as sub-tree properties. It works when I have only one variable, where I can use * Heading :PROPERTY: :var: variable1=value1 :END: #+begin_src python :results output print variable1 #+end_src #+results: : value1 Is it possible to set multiples variables in this way? I tried things like :PROPERTY: :var: variable1=value1 variable2=value2 :END: :PROPERTY: :var: variable1=value1,variable2=value2 :END: :PROPERTY: :variable1: value1 :variable2: value2 :END: but none of them worked. -- Darlan Cavalcante -- Eric Schulte http://cs.unm.edu/~eschulte/