Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

XCSoar (.CUP) and Winpilot (.DAT) file processing now works #90

Open
wants to merge 11 commits into
base: master
Choose a base branch
from

Conversation

paynterf
Copy link

XCSoar (.CUP) and Winpilot (.DAT) file processing now works properly. Unfortunately I couldn't figure out how to get the left/right/top/bottom bounds values to show up in the corresponding web page windows, so the map still isn't generated automatically.

As a workaround the calculated bounds are displayed in the 'error' window, and the user can manually transcribe the values to the bounds entry fields and then select the 'select map bounds by hand' option.

@lordfolken lordfolken linked an issue Dec 23, 2024 that may be closed by this pull request
Comment on lines 101 to 104
# cherrypy.log('in for loop: wpnum = %s line = %s' %(wpnum, line))
# cherrypy.log(f'for loop row {wpnum}: {line}')

#check for blank lines or comments
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Lots of debugging code. We don't really want that in the code base.

Copy link
Member

@lordfolken lordfolken left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Congrats on figuring out the basic problem. :)

Can you please make a change that is as minimal as possible to fix the cup parsing issue and make a commit for it? No Test files or commented out debug code please, also no excessive logging which isn´t needed for operation.

@paynterf
Copy link
Author

paynterf commented Jan 2, 2025

Let me get my Linux laptop back out and I'll do the changes you requested ;)

@paynterf
Copy link
Author

paynterf commented Jan 2, 2025

Regarding the .CUP file encoding issue, I checked both the Slovenia3.cup and the Slovenia3.cup, and it appears the Slovenia3.cup file is corrupted - at least in my Landscapes/Slovenia3 folder. I did see that Slovenia3.cup is encoded in UTF-8 as you stated, but for some reason the Slovenia2.cup file is encoded as 'ANSI'. In any case I'll change back to UTF-8, but what to do about the corrupted lines in Slovenia3.cup? Can you check Slovenia3.cup on your end? Here is my line for 'Amzs Koa' (which isn't in the Slovenia2.cup file)

"Amzs Ko├Ã",Amzs Koì,4539.139N,01450.914E,470.0m,1,,,,

@paynterf
Copy link
Author

paynterf commented Jan 2, 2025

commit 2abe1a4 (HEAD -> master)
Author: Frank Paynter [email protected]
Date: Wed Jan 1 21:47:37 2025 -0500

Changed decoding to UTF-8, removed logging code, removed test files

@lordfolken
Copy link
Member

Regarding the .CUP file encoding issue, I checked both the Slovenia3.cup and the Slovenia3.cup, and it appears the Slovenia3.cup file is corrupted - at least in my Landscapes/Slovenia3 folder. I did see that Slovenia3.cup is encoded in UTF-8 as you stated, but for some reason the Slovenia2.cup file is encoded as 'ANSI'. In any case I'll change back to UTF-8, but what to do about the corrupted lines in Slovenia3.cup? Can you check Slovenia3.cup on your end? Here is my line for 'Amzs Koa' (which isn't in the Slovenia2.cup file)

"Amzs Ko├Ã",Amzs Koì,4539.139N,01450.914E,470.0m,1,,,,

I also have condor3 and i see the same issue in the Slovenia3.cup file. So its really corrupted.

Slovenia3.cup Outdated Show resolved Hide resolved
Comment on lines 15 to 22
cherrypy.config.update(
{
"log.screen": True, # Log to stdout
"log.error_file": "error.log", # Log errors to a file
"log.access_file": "access.log", # Log access to a file
}
)

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Normally this runs in a container. The Filesystem is usually readonly. Please remove this configuration.

@paynterf
Copy link
Author

paynterf commented Jan 4, 2025

Removed another couple of logging code lines, and added Slovenia3.cup/dat to .gtignore

Comment on lines 119 to 136
# line = __CSVLine(line)
CSVline = __CSVLine(line)
# cherrypy.log(f'row {wpnum}: line = __CSVLine(line) ->> {line}')

# while line.has_next():
# fields.append(next(line))

while CSVline.has_next():
fields.append(next(CSVline))


#display fields for this line
# cherrypy.log('extracted fields for line = %s' %wpnum)
# idx = 0
# for field in fields:
# cherrypy.log(f' field[{idx}] = {field}')
# idx += 1

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

in general. no commented out code please. :-)

Comment on lines 82 to 89
#gfp 241210: modified to wait for header line before processing
#gfp 241210: added 'ISO-8859-2' decoding for correct cherrypy logging display

#gfp 241208 added to print out all lines in selected .CUP file
# wpnum = 0
# for byteline in lines:
# wpnum = wpnum + 1
# line = byteline.decode('ISO-8859-2')
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

please remove

cherrypy.log(f'in server.py: {filename} bounds: left = {desc.bounds.left:.3f}, right: {desc.bounds.right:.3f}, top: {desc.bounds.top:.3f}, bot {desc.bounds.bottom:.3f}')
return view.render(error=f"left: {desc.bounds.left:.3f}, right: {desc.bounds.right:.3f}, top: {desc.bounds.top:.3f}, bot {desc.bounds.bottom:.3f}")| HTMLFormFiller(data=params)
# return view.render(error="left")| HTMLFormFiller(data=params)
time.sleep(9)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why sleep?

Copy link
Member

@lordfolken lordfolken left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So we are getting there. 👍

Please remove any unessential changes.
No unnecessary newlines, indention changes,
Please delete Slovenia* from the code tree
also still some cherrypy.log entries which are just debug outputs

Regards,

  • Folken

@paynterf
Copy link
Author

One comment line removed from server.py, Slovenia* removed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

XCSoar Map Generator Error - cup file upload
2 participants