Re: I-D Action: draft-ietf-sieve-convert-02.txt

Alexey Melnikov <[email protected]>
Newsgroups gmane.ietf.mta-filters
Message-ID <[email protected]>
Barry Leiba wrote:

>>>Now, this doesn't take into account Alexey's comment that he'd like to
>>>see a runtime error when conversion fails, so I want to push on this:
>>>What is the use case?  Is it more valuable to the use case for a
>>>failed conversion to crash the script, or for it to just continue?
>>>The sense I have is that it should continue (which is why I wrote the
>>>text above).
>>>      
>>>
>>"I've asked you and you ignored me" behavior doesn't seem right in Sieve. I
>>don't think any other extension does that.
>>    
>>
>I don't think this is a good reason to have it work this way, unless
>we have a use case that merits the extra complexity.
>
Can you clarify what kind of complexity you are talking about?

>But it might not
>matter, if we can agree on my other suggestion, so let's discuss that
>below.
>  
>
I tend to agree.

>>>Finally, I had an idea for how we could do the testing, which might
>>>satisfy both issues:
>>>Why not have the "convert" action *also* be a test.  Like this:
>>>
>>>*** convert with no test ***
>>>     require ["mime", "fileinto", "convert"];
>>>     if header :mime :anychild :contenttype
>>>               "Content-Type" "image/tiff"
>>>     {
>>>       convert "image/tiff" "image/jpeg" "pix-x" "320" "pix-y" "240";
>>>       fileinto "INBOX.pics";
>>>     }
>>>
>>>
>>>*** convert with test ***
>>>     require ["mime", "fileinto", "convert"];
>>>     if header :mime :anychild :contenttype
>>>               "Content-Type" "image/tiff"
>>>     {
>>>       if convert "image/tiff" "image/jpeg" "pix-x" "320" "pix-y" "240"
>>>       {
>>>         fileinto "INBOX.pics";
>>>       }
>>>     }
>>>
>>>
>>>So it could work either way.  In the case where it's used in a test,
>>>it would evaluate TRUE if it ran with no errors -- that is, the
>>>conversion is supported, the parameters are correct, and no
>>>conversions failed
>>>      
>>>
>...
>  
>
>>>If it's used only as an action, with no test, then any failure generates
>>>a runtime error.
>>>
>>>What do people think about that?  This would be the first action that
>>>could also be used as a test, so think about whether that's good for
>>>the language.  I like it, and I think it makes things very simple.
>>>      
>>>
>>I don't mind that. But I don't think that that should imply any general
>>correlation between actions and tests for all future extensions we might
>>design.
>>    
>>
>I don't understand that comment; can you explain it?
>
>Do you mean that making this both an action and a test shouldn't imply
>that any other actions can be used as tests also?
>
Yes. Or rather the other way around: not every test is expected to be 
used as an action. I was thinking about calling functions in C: they can 
be used in tests and they can also be called so that their return value 
is ignored.

>I certainly agree:
>of course it shouldn't.  Future extensions will define their behaviour
>as they like, and might or might not use this model.  This model makes
>sense here, I think.  It won't make sense in general, and this
>wouldn't be a general change in the behaviour of Sieve actions.
>  
>
Good. Tests and actions are effectively in different namespaces.

_______________________________________________
sieve mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/sieve
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.