* How to do Properties search by define an agenda command
@ 2010-11-10 7:59 Chao LU
2010-11-10 18:30 ` David Maus
2010-11-12 1:39 ` Matt Lundin
0 siblings, 2 replies; 6+ messages in thread
From: Chao LU @ 2010-11-10 7:59 UTC (permalink / raw)
To: emacs-orgmode
[-- Attachment #1.1: Type: text/plain, Size: 691 bytes --]
Dear all,
I'm trying to figure out how to do Properties search by define an agenda
command.
Here is my item in org file:
*** Franz Schwabl / Quantum Mechanics
:PROPERTIES:
:TITLE: Quantum Mechanics
:AUTHOR: Franz Schwabl
:CATEGORY: Quantum Mechanics
:TAGS: Quantum Mechanics, Group Theory
:KEYWORD: Quantum Mechanics, Perturbation, Second Quantization
:LOCATION: iTune
:END:
And I want to define a agenda command to search this item out. I've tried
this one, but did not work:
("19" "TEST" occur-tree "Title="Quantum Mechanics"")
("19" "TEST" tags "Title="Quantum Mechanics"")
So is there anyone knows how to do this correctly?
Thanks,
Chao
[-- Attachment #1.2: Type: text/html, Size: 872 bytes --]
[-- Attachment #2: Type: text/plain, Size: 201 bytes --]
_______________________________________________
Emacs-orgmode mailing list
Please use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: How to do Properties search by define an agenda command
2010-11-10 7:59 How to do Properties search by define an agenda command Chao LU
@ 2010-11-10 18:30 ` David Maus
2010-11-12 1:51 ` Matt Lundin
2010-11-12 1:39 ` Matt Lundin
1 sibling, 1 reply; 6+ messages in thread
From: David Maus @ 2010-11-10 18:30 UTC (permalink / raw)
To: Chao LU; +Cc: emacs-orgmode
[-- Attachment #1.1: Type: text/plain, Size: 1350 bytes --]
At Wed, 10 Nov 2010 02:59:58 -0500,
Chao LU wrote:
> I'm trying to figure out how to do Properties search by define an agenda
> command.
>
> Here is my item in org file:
>
> *** Franz Schwabl / Quantum Mechanics
> :PROPERTIES:
> :TITLE: Quantum Mechanics
> :AUTHOR: Franz Schwabl
> :CATEGORY: Quantum Mechanics
> :TAGS: Quantum Mechanics, Group Theory
> :KEYWORD: Quantum Mechanics, Perturbation, Second Quantization
> :LOCATION: iTune
> :END:
IIRC the space character of a property value must be escaped (%20)
because Org uses the plain space character to separate multiple values
in a property. So the drawer should look like:
:PROPERTIES:
:TITLE: Quantum%20Mechanics
:AUTHOR: Franz%20Schwabl
:CATEGORY: Quantum%20Mechanics
:TAGS: Quantum%20Mechanics Group%20Theory
:KEYWORD: Quantum%20Mechanics Perturbation Second%20Quantization
:LOCATION: iTune
:END:
But now, sadly, that's all we've got. The search engine can only
search for equal strings (e.g. TITLE="Quantum%20Mechanics") or regular
expression and it does not handle multivalue properties.
Looks like to use the intended functionality someone has to patch Org
mode's tag search to handle multivalue properties.
Best,
-- David
--
OpenPGP... 0x99ADB83B5A4478E6
Jabber.... dmjena@jabber.org
Email..... dmaus@ictsoc.de
[-- Attachment #1.2: Type: application/pgp-signature, Size: 230 bytes --]
[-- Attachment #2: Type: text/plain, Size: 201 bytes --]
_______________________________________________
Emacs-orgmode mailing list
Please use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: How to do Properties search by define an agenda command
2010-11-10 7:59 How to do Properties search by define an agenda command Chao LU
2010-11-10 18:30 ` David Maus
@ 2010-11-12 1:39 ` Matt Lundin
1 sibling, 0 replies; 6+ messages in thread
From: Matt Lundin @ 2010-11-12 1:39 UTC (permalink / raw)
To: Chao LU; +Cc: emacs-orgmode
Chao LU <loochao@gmail.com> writes:
> Dear all,
>
> I'm trying to figure out how to do Properties search by define an
> agenda command.
>
> Here is my item in org file:
>
> *** Franz Schwabl / Quantum Mechanics
> :PROPERTIES:
> :TITLE: Quantum Mechanics
> :AUTHOR: Franz Schwabl
> :CATEGORY: Quantum Mechanics
> :TAGS: Quantum Mechanics, Group Theory
> :KEYWORD: Quantum Mechanics, Perturbation, Second Quantization
> :LOCATION: iTune
> :END:
>
> And I want to define a agenda command to search this item out. I've
> tried this one, but did not work:
> ("19" "TEST" occur-tree "Title="Quantum Mechanics"")
> ("19" "TEST" tags "Title="Quantum Mechanics"")
>
> So is there anyone knows how to do this correctly?
Two things:
1. You need to escape the inner quote marks in the custom command.
2. AFAICT Properties are case sensitive. Your drawer includes a "TITLE"
property but your custom command searches for "Title".
This custom command worked for me:
(setq org-agenda-custom-commands
'(("x" "TEST" tags "TITLE=\"Quantum Mechanics\"")))
You could also just type the following:
C-a m TITLE="Quantum Mechanics"
Note: you can also use regexps in property searches. E.g.,
C-a m TITLE={quantum.*mechanics}
Best,
Matt
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: How to do Properties search by define an agenda command
2010-11-10 18:30 ` David Maus
@ 2010-11-12 1:51 ` Matt Lundin
2010-11-13 6:09 ` David Maus
0 siblings, 1 reply; 6+ messages in thread
From: Matt Lundin @ 2010-11-12 1:51 UTC (permalink / raw)
To: David Maus; +Cc: Chao LU, emacs-orgmode
David Maus <dmaus@ictsoc.de> writes:
> At Wed, 10 Nov 2010 02:59:58 -0500,
> Chao LU wrote:
>> I'm trying to figure out how to do Properties search by define an agenda
>> command.
>>
>> Here is my item in org file:
>>
>> *** Franz Schwabl / Quantum Mechanics
>> :PROPERTIES:
>> :TITLE: Quantum Mechanics
>> :AUTHOR: Franz Schwabl
>> :CATEGORY: Quantum Mechanics
>> :TAGS: Quantum Mechanics, Group Theory
>> :KEYWORD: Quantum Mechanics, Perturbation, Second Quantization
>> :LOCATION: iTune
>> :END:
>
> IIRC the space character of a property value must be escaped (%20)
> because Org uses the plain space character to separate multiple values
> in a property. So the drawer should look like:
>
> :PROPERTIES:
> :TITLE: Quantum%20Mechanics
> :AUTHOR: Franz%20Schwabl
> :CATEGORY: Quantum%20Mechanics
> :TAGS: Quantum%20Mechanics Group%20Theory
> :KEYWORD: Quantum%20Mechanics Perturbation Second%20Quantization
> :LOCATION: iTune
> :END:
>
> But now, sadly, that's all we've got. The search engine can only
> search for equal strings (e.g. TITLE="Quantum%20Mechanics") or regular
> expression and it does not handle multivalue properties.
I don't believe this is the case. The following search works fine for me
with the OP's properties drawer:
C-c a m TITLE="Quantum Mechanics"
> Looks like to use the intended functionality someone has to patch Org
> mode's tag search to handle multivalue properties.
I don't believe the space in property values is meant to indicate
multiple values (i.e., in the same way that ":" separates tags). Here's
an example from the manual:
--8<---------------cut here---------------start------------->8---
* CD collection
** Classic
*** Goldberg Variations
:PROPERTIES:
:Title: Goldberg Variations
:Composer: J.S. Bach
:Artist: Glen Gould
:Publisher: Deutsche Grammophon
:NDisks: 1
:END:
--8<---------------cut here---------------end--------------->8---
That said, one can create ad hoc multivalue properties by using regexps
in property searches.
Best,
Matt
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: How to do Properties search by define an agenda command
2010-11-12 1:51 ` Matt Lundin
@ 2010-11-13 6:09 ` David Maus
2010-11-13 15:31 ` Matt Lundin
0 siblings, 1 reply; 6+ messages in thread
From: David Maus @ 2010-11-13 6:09 UTC (permalink / raw)
To: Matt Lundin; +Cc: David Maus, emacs-orgmode, Chao LU
[-- Attachment #1.1: Type: text/plain, Size: 1039 bytes --]
At Thu, 11 Nov 2010 20:51:58 -0500,
Matt Lundin wrote:
> > Looks like to use the intended functionality someone has to patch Org
> > mode's tag search to handle multivalue properties.
>
> I don't believe the space in property values is meant to indicate
> multiple values (i.e., in the same way that ":" separates tags). Here's
> an example from the manual:
This is a misunderstanding: Yes, you can use space characters in
single value properties and use regexps to simulate multivalue
properties.
But you can't use Org's multivalue properties (C-h f
org-entry-put-multivalued-property RET).
Looks like an inconsistency or a glitch: Org supports putting multiple
values in a property but has no reserved separator for multiple
values. So there is no way for a function recognize multivalue
properties -- what makes it hard to perform a search for properties
with multiple values w/o having the user enter a regular expression.
Best,
-- David
--
OpenPGP... 0x99ADB83B5A4478E6
Jabber.... dmjena@jabber.org
Email..... dmaus@ictsoc.de
[-- Attachment #1.2: Type: application/pgp-signature, Size: 230 bytes --]
[-- Attachment #2: Type: text/plain, Size: 201 bytes --]
_______________________________________________
Emacs-orgmode mailing list
Please use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: How to do Properties search by define an agenda command
2010-11-13 6:09 ` David Maus
@ 2010-11-13 15:31 ` Matt Lundin
0 siblings, 0 replies; 6+ messages in thread
From: Matt Lundin @ 2010-11-13 15:31 UTC (permalink / raw)
To: David Maus; +Cc: Chao LU, emacs-orgmode
David Maus <dmaus@ictsoc.de> writes:
> At Thu, 11 Nov 2010 20:51:58 -0500,
> Matt Lundin wrote:
>> > Looks like to use the intended functionality someone has to patch Org
>> > mode's tag search to handle multivalue properties.
AFAICT, the OP was not inquiring about a multivalue search, but rather
simply asking how to match an entire property value string (i.e., the
title of a book). The problems was caused not by unescaped spaces in
property values, but rather by how the custom agenda search was
constructed (e.g., incorrect property key, unescaped quote marks, etc.).
>> I don't believe the space in property values is meant to indicate
>> multiple values (i.e., in the same way that ":" separates tags). Here's
>> an example from the manual:
>
> This is a misunderstanding: Yes, you can use space characters in
> single value properties and use regexps to simulate multivalue
> properties.
>
> But you can't use Org's multivalue properties (C-h f
> org-entry-put-multivalued-property RET).
Good to know. I wasn't aware of multivalued properties.
I think my comment still stands: currently, for normal tags/property
searches, single spaces are not intended to indicate multiple values.
The function org-tags-view invokes only the single value property
mechanism (i.e., org-cached-entry-get).
AFAICT, multivalued properties were introduced to accommodate org-attach
but they have not (yet) been used elsewhere in Org-mode. See the
following commit:
--8<---------------cut here---------------start------------->8---
commit d043e31182595983df3d191e80ca941ee171c400
Author: Carsten Dominik <carsten.dominik@gmail.com>
Date: Wed Oct 1 09:25:18 2008 +0200
Integrate John Wiegley's org-attach.el.
--8<---------------cut here---------------end--------------->8---
> Looks like an inconsistency or a glitch: Org supports putting multiple
> values in a property but has no reserved separator for multiple
> values. So there is no way for a function recognize multivalue
> properties -- what makes it hard to perform a search for properties
> with multiple values w/o having the user enter a regular expression.
Currently, the only way to extract multivalue properties is to use the
API functions:
(info "(org) Using the property API")
I believe single value properties should be the default behavior for
searches (that is how the manual presents properties). I would certainly
*not* want to have to escape spaces in property drawers when, say,
entering AUTHOR and TITLE property values.
Currently, the search logic of is relatively straightforward:
1. to force an exact property match, use TITLE="Quantum Mechanics"
2. to allow partial matches, use a regexp: TITLE={Quantum}
Perhaps a patch could introduce an user option to use the multivalued
API in property searches. This could be a nice option for custom
commands. But I would recommend that the single value remain the
default.
Best,
Matt
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2010-11-13 15:31 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-11-10 7:59 How to do Properties search by define an agenda command Chao LU
2010-11-10 18:30 ` David Maus
2010-11-12 1:51 ` Matt Lundin
2010-11-13 6:09 ` David Maus
2010-11-13 15:31 ` Matt Lundin
2010-11-12 1:39 ` Matt Lundin
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).