Re: ITA xlsx2csv (was Re: python2 removal)

2023-03-22 Thread Jon Turney via Cygwin-apps

On 22/03/2023 07:36, Jari Aalto via Cygwin-apps wrote:

On 2023-03-16 18:57, Jon Turney via Cygwin-apps wrote:

On 16/03/2023 15:53, Brian Inglis via Cygwin-apps wrote:

On 2023-03-16 07:29, Jon Turney wrote:


The critical piece of data I'm missing here is which of these is true:
a) This package contains a script with a python shebang. The current
version doesn't work when python is python3, so an upgrade is needed
to continue working when python2 is removed, or
b) This package contains a script with a python shebang. The current
version will continue to work when python is python3.


Unfortunately only a generic cygbuild sh script is supplied with the
package - does nothing but complain without some other "magic" script or
data! ;^>
Jari's Debian 8/9 xlsx2csv releases have been updated to 0.20+20161027
from 0.11+20120814.

$ sed 1q xlsx2csv.py
#!/usr/bin/env python


I updated the the latest from upstream repository and it shoudl now
work with Python 3.


Thanks.



Re: ITA xlsx2csv (was Re: python2 removal)

2023-03-22 Thread Jari Aalto via Cygwin-apps
On 2023-03-16 18:57, Jon Turney via Cygwin-apps wrote:
> On 16/03/2023 15:53, Brian Inglis via Cygwin-apps wrote:
> > On 2023-03-16 07:29, Jon Turney wrote:
> > 
> > > The critical piece of data I'm missing here is which of these is true:
> > > a) This package contains a script with a python shebang. The current
> > > version doesn't work when python is python3, so an upgrade is needed
> > > to continue working when python2 is removed, or
> > > b) This package contains a script with a python shebang. The current
> > > version will continue to work when python is python3.
> > 
> > Unfortunately only a generic cygbuild sh script is supplied with the
> > package - does nothing but complain without some other "magic" script or
> > data! ;^>
> > Jari's Debian 8/9 xlsx2csv releases have been updated to 0.20+20161027
> > from 0.11+20120814.
> > 
> > $ sed 1q xlsx2csv.py
> > #!/usr/bin/env python

I updated the the latest from upstream repository and it shoudl now
work with Python 3.

thanks,
Jari


Re: ITA xlsx2csv (was Re: python2 removal)

2023-03-16 Thread Brian Inglis via Cygwin-apps

On 2023-03-16 12:57, Jon Turney wrote:

On 16/03/2023 15:53, Brian Inglis via Cygwin-apps wrote:

On 2023-03-16 07:29, Jon Turney wrote:


The critical piece of data I'm missing here is which of these is true:
a) This package contains a script with a python shebang. The current version 
doesn't work when python is python3, so an upgrade is needed to continue 
working when python2 is removed, or
b) This package contains a script with a python shebang. The current version 
will continue to work when python is python3.


Unfortunately only a generic cygbuild sh script is supplied with the package - 
does nothing but complain without some other "magic" script or data! ;^>
Jari's Debian 8/9 xlsx2csv releases have been updated to 0.20+20161027 from 
0.11+20120814.

$ sed 1q xlsx2csv.py
#!/usr/bin/env python
Does not work with python3, nor after running 2to3 fixes - see attached logs - 
IANAPythonista
Anyway pylint was not useful compared to 2to3 - see attached pylint before and 
after 2to3 logs compared to 2to3 log.



This is not an unequivocal answer to my question.
It sounds like you are saying "even the most recent version of xlsx2cvs doesn't 
work with python3", in which case the only sane option is to remove this package 
when python2 is removed.


Sorry if I was not sufficiently clear but that is not the case at all.


Is that what you mean? If not, what do you mean?
Please answer with a single sentence.


Current Cygwin package is python2 only from 2010 when python3 first came out.

You asked about the current Cygwin source package - that is all those answers 
refer to - and the logs relate to - nothing about the latest upstream package.


The Cygwin source package as distributed does not work with python3, it can not 
be easily upgraded to work with python3 using 2to3, and there is no way for us 
to rebuild it anyway, as it depends on some cygbuild "magic" not provided in the 
source package.


The latest version of the upstream package builds, installs, checks, and runs 
fine using minimal cygport and python3 cygclasses, as referred to in the 
scallywag links provided.


I am replacing the upstream man page provided, as it was written in POD, applies 
to the outdated 2010 release, and the latest upstream version's help has many 
more options, is more comprehensive, and was started with help2man.


--
Take care. Thanks, Brian Inglis  Calgary, Alberta, Canada

La perfection est atteinte   Perfection is achieved
non pas lorsqu'il n'y a plus rien à ajouter  not when there is no more to add
mais lorsqu'il n'y a plus rien à retirer but when there is no more to cut
-- Antoine de Saint-Exupéry


Re: ITA xlsx2csv (was Re: python2 removal)

2023-03-16 Thread Jon Turney via Cygwin-apps

On 16/03/2023 15:53, Brian Inglis via Cygwin-apps wrote:

On 2023-03-16 07:29, Jon Turney wrote:


The critical piece of data I'm missing here is which of these is true:
a) This package contains a script with a python shebang. The current 
version doesn't work when python is python3, so an upgrade is needed 
to continue working when python2 is removed, or
b) This package contains a script with a python shebang. The current 
version will continue to work when python is python3.


Unfortunately only a generic cygbuild sh script is supplied with the 
package - does nothing but complain without some other "magic" script or 
data! ;^>
Jari's Debian 8/9 xlsx2csv releases have been updated to 0.20+20161027 
from 0.11+20120814.


$ sed 1q xlsx2csv.py
#!/usr/bin/env python

Does not work with python3, nor after running 2to3 fixes - see attached 
logs - IANAPythonista


Anyway pylint was not useful compared to 2to3 - see attached pylint 
before and after 2to3 logs compared to 2to3 log.


This is not an unequivocal answer to my question.

It sounds like you are saying "even the most recent version of xlsx2cvs 
doesn't work with python3", in which case the only sane option is to 
remove this package when python2 is removed.


Is that what you mean? If not, what do you mean?

Please answer with a single sentence.



Re: ITA xlsx2csv (was Re: python2 removal)

2023-03-16 Thread Brian Inglis via Cygwin-apps

On 2023-03-16 07:29, Jon Turney wrote:

On 15/03/2023 12:56, Brian Inglis via Cygwin-apps wrote:

On 2023-03-14 13:17, Jon Turney via Cygwin-apps wrote:

On 15/01/2023 12:52, Jon Turney via Cygwin-apps wrote:

This has come up in discussion a few times, and is now well overdue, I think.
Python 2.7 is the last python2 version, which was sunsetted on January 1, 2020.


3) There might also still be some other packages lurking which just install 
a script with a shebang containing 'python', and assume that python is 
python2. I don't know how we could identify those.


The remaining cases of packages which have a dependency on python and/or 
python2 are either this (packages which contain a python script with a python 
shebang line), or the other case which I hadn't previously considered - a 
package which contain an executable or shared library linked with 
libpython2.7.dll.

So, again I need inspect these to determine what should happen to them.



I'd like to adopt *xlsx2csv* - for an initial build see:


Jari is still the maintainer of record for that package, so I need to give him 
an opportunity to reply here.



https://cygwin.com/cgi-bin2/jobs.cgi?id=5607
https://cygwin.com/cgit/cygwin-packages/playground/commit/?id=af279166a903b526274f8b10264e206fc5010a68
https://github.com/cygwin/scallywag/actions/runs/4419738199
The author remains the same but version numbering staggers around then jumps 
to 0.5 and is now up to 0.8.1.
The manual was a POD file from Jari run thru pod2man for 0.11 from 2010, but 
very outdated now, not to mention using Perl docs for Python modules, so I'm 
rewriting from help2man output to be current, comprehensive, and functional 
with `groff -man`.
[I use it to get data into portable form, make it threat free, and fake 
spreadsheets for my accountant, if I want to use gvim instead of Gnumeric or 
Libre Office calc! ;^> ]



The critical piece of data I'm missing here is which of these is true:
a) This package contains a script with a python shebang. The current version 
doesn't work when python is python3, so an upgrade is needed to continue working 
when python2 is removed, or
b) This package contains a script with a python shebang. The current version 
will continue to work when python is python3.


Unfortunately only a generic cygbuild sh script is supplied with the package - 
does nothing but complain without some other "magic" script or data! ;^>
Jari's Debian 8/9 xlsx2csv releases have been updated to 0.20+20161027 from 
0.11+20120814.


$ sed 1q xlsx2csv.py
#!/usr/bin/env python

Does not work with python3, nor after running 2to3 fixes - see attached logs - 
IANAPythonista


Anyway pylint was not useful compared to 2to3 - see attached pylint before and 
after 2to3 logs compared to 2to3 log.


--
Take care. Thanks, Brian Inglis  Calgary, Alberta, Canada

La perfection est atteinte   Perfection is achieved
non pas lorsqu'il n'y a plus rien à ajouter  not when there is no more to add
mais lorsqu'il n'y a plus rien à retirer but when there is no more to cut
-- Antoine de Saint-Exupéry* Module xlsx2csv.py
xlsx2csv.py.bak:286:65: E0001: leading zeros in decimal integer literals are 
not permitted; use an 0o prefix for octal integers (, line 286) 
(syntax-error)
RefactoringTool: Adding transformation: apply
RefactoringTool: Adding transformation: asserts
RefactoringTool: Adding transformation: basestring
RefactoringTool: Skipping optional fixer: buffer
RefactoringTool: Adding transformation: dict
RefactoringTool: Adding transformation: except
RefactoringTool: Adding transformation: exec
RefactoringTool: Adding transformation: execfile
RefactoringTool: Adding transformation: exitfunc
RefactoringTool: Adding transformation: filter
RefactoringTool: Adding transformation: funcattrs
RefactoringTool: Adding transformation: future
RefactoringTool: Adding transformation: getcwdu
RefactoringTool: Adding transformation: has_key
RefactoringTool: Skipping optional fixer: idioms
RefactoringTool: Adding transformation: import
RefactoringTool: Adding transformation: imports
RefactoringTool: Adding transformation: imports2
RefactoringTool: Adding transformation: input
RefactoringTool: Adding transformation: intern
RefactoringTool: Adding transformation: isinstance
RefactoringTool: Adding transformation: itertools
RefactoringTool: Adding transformation: itertools_imports
RefactoringTool: Adding transformation: long
RefactoringTool: Adding transformation: map
RefactoringTool: Adding transformation: metaclass
RefactoringTool: Adding transformation: methodattrs
RefactoringTool: Adding transformation: ne
RefactoringTool: Adding transformation: next
RefactoringTool: Adding transformation: nonzero
RefactoringTool: Adding transformation: numliterals
RefactoringTool: Adding transformation: operator
RefactoringTool: Adding transformation: paren
RefactoringTool: Adding transformation: print
RefactoringTool: Adding transformation: