Re: [O] [babel] How to set multiple variables with properties

2011-06-23 Thread Eric Schulte
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

2011-06-23 Thread Eric Schulte
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

2011-06-22 Thread Christian Moe

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

2011-06-22 Thread Darlan Cavalcante Moreira

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

2011-06-21 Thread Darlan Cavalcante Moreira

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

2011-06-21 Thread Eric Schulte
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

2011-06-21 Thread Eric Schulte
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

2011-06-21 Thread Christian Moe

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

2011-06-21 Thread Darlan Cavalcante Moreira

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/