My fellow PCLinuxOS users would like to thank the team
for the latest version of Gnucash (as a user, I have been 
using Gnucash since a very, very early version).
 I really appreciate the work & effort the GnuCash team
puts in. I just wish my Bank would embrace OFX (export) 
QIF has been a problem for some time, so I use .csv 
import instead. (fyi, the QIF date is in the form dd MMM yyyy,
& the text Month seems to confuse the issue: not worth 
worrying abt as long as .csv works. My other acct uses
OFX, & it is so much easier.)

 Merry Christmas, to all so inclined.
regards, Doug in Sunny Australia.



On Wed, 18 Dec 2024 20:11:29 -0800
John Ralls <[email protected]> wrote:

> > On Dec 18, 2024, at 15:56, AP <[email protected]> wrote:
> > 
> > On Tue, Dec 17, 2024 at 08:01:01PM -0800, John Ralls wrote:  
> >> I’d made an error when I wrote bit in the bundler script that derives the 
> >> version to pass to the setup-generator: It gets the release instal 
> >> directories, sorts them, and grabs the last one. The problem with that is 
> >> that it’s a lexical sort so if say 5.8, 5.9. and 5.10 directories exist 
> >> then the sort order is
> >> Gnucash-5.10
> >> Gnucash-5.8
> >> Gnucash-5.9
> >> And the last one is 5.9. 
> >> https://github.com/Gnucash/gnucash-on-windows/commit/317b10b7d99a4ae8281e866efc4403b9b7624320
> >>  changes it to sort them by creation date. That’s still not perfect, of 
> >> course, because someone might come along and builds an earlier version by 
> >> hand it will have the last time stamp.  
> > 
> > I asked the Lord God AI (as I'm not a powershell user) and it came up with 
> > this:
> > 
> > --- 8<---
> > # Define an array of strings with non-version related text before the 
> > version numbers
> > $versionStrings = @(
> >    'ProductA v1.2.3',
> >    'ProductB v1.10.0',
> >    'ProductC v1.3.5',
> >    'ProductD v2.0.0'
> > )
> > 
> > # Extract the version part using a regular expression and sort by the 
> > extracted version
> > $sortedVersions = $versionStrings | Sort-Object {
> >    if ($_ -match 'v([\d\.]+)$') {
> >        [version]$matches[1]
> >    }
> > }
> > 
> > # Display the sorted versions
> > $sortedVersions
> > --- 8<---
> > 
> > Don't know how right it is but if it's not right in and of itself then, 
> > maybe, it's right enough to get you most of the way there. :)
> >   
> 
> You don’t show the output, but the result of the regex match is still a 
> string so I think it will still sort lexically, i.e. 1.10.0, 1.2.3, 1.3.5, 
> 2.0.0.
> 
> This S-O suggests using a function called System.Version: 
> https://stackoverflow.com/questions/711107/sorting-powershell-versions. Dunno 
> if it works on two-digit version numbers. My default approach in most 
> languages would be to do two captures, ‘(\d+).(\d+)$’ and cast each to int 
> and do a two-level sort.  
> https://stackoverflow.com/questions/71232189/how-to-sort-multilevel-list 
> suggests how to do the multi-level sort part. 
> 
> Regards,
> John Ralls
> 
> _______________________________________________
> gnucash-user mailing list
> [email protected]
> To update your subscription preferences or to unsubscribe:
> https://lists.gnucash.org/mailman/listinfo/gnucash-user
> -----
> Please remember to CC this list on all your replies.
> You can do this by using Reply-To-List or Reply-All.
_______________________________________________
gnucash-user mailing list
[email protected]
To update your subscription preferences or to unsubscribe:
https://lists.gnucash.org/mailman/listinfo/gnucash-user
-----
Please remember to CC this list on all your replies.
You can do this by using Reply-To-List or Reply-All.

Reply via email to