Skip to content

ics_diff fails with "name 'readOne' is not defined" #95

Description

@scfc

Quick Summary
ics_diff fails with name 'readOne' is not defined when trying to compare two files.

Context

  • vObject 0.9.8
  • Python 3.13.1
  • Fedora 41

Description
When trying to compare two files with ics_diff, it will fail every time with the error message name 'readOne' is not defined.

To Reproduce

$ wget2 https://github.com/py-vobject/vobject/raw/refs/heads/master/test_files/simple_test.ics && 
> cp simple_test.ics simple_test.ics.orig &&
> ics_diff simple_test.ics simple_test.ics.orig
HTTP response 302  [https://github.com/py-vobject/vobject/raw/refs/heads/master/test_files/simple_test.ics]
Adding URL: https://raw.githubusercontent.com/py-vobject/vobject/refs/heads/master/test_files/simple_test.ics
Saving 'simple_test.ics'
HTTP response 200  [https://raw.githubusercontent.com/py-vobject/vobject/refs/heads/master/test_files/simple_test.ics]
simple_test.ics      100% [========================================================================================================================================================================================>]      88     --.-KB/s
                          [Files: 1  Bytes: 88  [70 B/s] Redirects: 1  Todo: 0  Errors: 0                                                                                                                           ]
Traceback (most recent call last):
  File "/usr/bin/ics_diff", line 33, in <module>
    sys.exit(load_entry_point('vobject==0.9.8', 'console_scripts', 'ics_diff')())
             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
  File "/usr/lib/python3.13/site-packages/vobject/ics_diff.py", line 200, in main
    cal1 = readOne(f)
           ^^^^^^^
NameError: name 'readOne' is not defined
$

Further Notes
The Fedora maintainer noted at the Bugzilla report that a) the issue was probably introduced upstream between version 0.9.6 and 0.9.8 by change 8466be8 and b) there should be a test that ics_diff is functional (also probably change_tz).

Metadata

Metadata

Assignees

Labels

needs testNeeds unit tests before merging

Type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions