Re: Quoting strings of digits

Andrey Somov <[email protected]> Mon, 20 Nov 2017 22:51:07 +0100
Newsgroups gmane.text.yaml.general
Message-ID <CALbkv0f6vtxP0vc91G-E-EcUVEuM2k4Y2ULkqA5uHD0sKZmWvg@mail.gmail.com>
I quote the spec for YAML 1.2 (core schema) :
 [-+]? [0-9]+      tag:yaml.org,2002:int (Base 10)

SnakeYAML implements YAML 1.1

What is the PyYAML version ?

Cheers,
Andrey

On Mon, Nov 20, 2017 at 8:15 PM, Laurent Lyaudet <[email protected]>
wrote:

> Hi Thomas,
>
> In my humble opinion, I think the problem is on the Java side.
> If I quote the spec for YAML 1.2 :
> "Decimal integer notation, with a leading “-” character for negative
> values, matching the regular expression 0 | -? [1-9] [0-9]*"
> As you can see, there is no leading zero tolerated for integers except
> for the value 0.
> Hence 08063075 is a valid string element, pyyaml can strip the quotes
> and snakeyaml should understand that.
>
> Best regards,
>    Laurent Lyaudet
>
> 2017-11-20 2:10 GMT+01:00 Thomas Conway <[email protected]>:
> > Hi Yamlies,
> >
> > I have a bit of a problem where some of our tools use Java, and some
> Python
> > (2). The output of the python is consumed by the Java, and
> inconsistencies
> > are leading to some problems. My question is which if any behaviours are
> > incorrect with respect to the specification?
> >
> > I've cut down the problem to the following.
> >
> > Consider the following python code (using pyyaml):
> >
> > import sys
> > import yaml
> > w = {'userName': 'scientist ', 'userEmail': '[email protected]',
> > 'sampleName': '08063075', 'fastqDir':
> > '/foo/bar/baz/171108_M00139_0253_000000000-BHFD5/
> ProjectFolders/Project_Qux-Wombat-/Sample_08063075',
> > 'analysis': 'Somatic_Run375_MY_DY_08112017', 'laneNo': 1, 'panel':
> > 'Somatic_Panel_Manifest_v4_23_10_2015'}
> > yaml.dump(w, sys.stdout, default_flow_style=False)
> >
> > which produces the output:
> >
> > analysis: Somatic_Run375_MY_DY_08112017
> > fastqDir:
> > /foo/bar/baz/171108_M00139_0253_000000000-BHFD5/
> ProjectFolders/Project_Qux-Wombat-/Sample_08063075
> > laneNo: 1
> > panel: Somatic_Panel_Manifest_v4_23_10_2015
> > sampleName: 08063075
> > userEmail: [email protected]
> > userName: 'scientist '
> >
> > Note in particular that the string value for the key 'sampleName' is a
> > sequence of digits with a leading zero, and is not quoted.
> >
> > When we read it in to our java system (using snakeyaml), the unquoted
> > sequence of digits is turned into an integer, which means that subsequent
> > steps drop the leading zero.
> >
> > I've tried reading the specification, but I can't see that it defines the
> > conversion.
> >
> > Is the serialisation valid?
> >
> > Is the conversion of the string of digits to an integer valid?
> >
> > Thanks for any precision you can add to my understanding,
> >
> > Tom.
> > --
> > Dr Thomas Conway
> > [email protected]
> > My friends, love is better than anger. Hope is better than fear.
> Optimism is
> > better than despair. So let us be loving, hopeful and optimistic. And
> we'll
> > change the world. - Jack Layton
> >
> > ------------------------------------------------------------
> ------------------
> > Check out the vibrant tech community on one of the world's most
> > engaging tech sites, Slashdot.org! http://sdm.link/slashdot
> > _______________________________________________
> > Yaml-core mailing list
> > [email protected]
> > https://lists.sourceforge.net/lists/listinfo/yaml-core
> >
>
> ------------------------------------------------------------
> ------------------
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
> _______________________________________________
> Yaml-core mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/yaml-core
>

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot

_______________________________________________
Yaml-core mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/yaml-core