pimutils / pimutils/vdirsyncer

Cannot import name 'Item' from partially initialized module 'vdirsyncer.vobject'

Open
#864 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

type: bug
Dominant language
Python
Stars
1.9k
Forks
185
Avg merge
11h 49m
Merged PRs (30d)
1

Description

  • Your vdirsyncer version
    vdirsyncer, version 0.16.9.dev0+gb5dd092.d20201204

  • Your Python version
    Python 3.9.1

  • Your config file

[general]
status_path = "~/.local/share/vdirsyncer/status/"

[pair nc_contacts]
a = "nc_contacts_local"
b = "nc_contacts_remote"
collections = ["from a", "from b"]
conflict_resolution = "b wins"

[storage nc_contacts_local]
type = "filesystem"
path = ...
fileext = ".vcf"

[storage nc_contacts_remote]
type = "carddav"

url = ...
username =  ...
password.fetch = ...

[pair nc_calendar]
a = "nc_calendar_local"
b = "nc_calendar_remote"
collections = ["from a", "from b"]
metadata = ["color"]
conflict_resolution = "b wins"

[storage nc_calendar_local]
type = "singlefile"
path = ...

[storage nc_calendar_remote]
type = "caldav"
url = ...
username =  ...
password.fetch = ...

  • Your operating system
    Manjaro-ARM

My configuration consists of a Nextcloud address book and a Nextcloud calendar. When executing:

 vdirsyncer sync

I usually get an error. But I have also tried this:

vdirsyncer sync --max-workers=1

and I have not faced any error yet.

E.g:

[kde@plasma-mobile ~]$ vdirsyncer sync 
Syncing nc_contacts/contacts
Syncing nc_calendar/personal
error: Unknown error occurred for nc_calendar/personal: cannot import name 'Item' from partially initialized module 'vdirsyncer.vobject' (most likely due to a circular import) (/usr/lib/python3.9/site-packages/vdirsyncer/vobject.py)
error: Use `-vdebug` to see the full traceback.
error: 1 out of 4 tasks failed.
[kde@plasma-mobile ~]$ vdirsyncer sync --max-workers=1
Syncing nc_contacts/contacts
Syncing nc_calendar/personal
[kde@plasma-mobile ~]$ 

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce the failure with the reported vdirsyncer configuration using vdirsyncer sync, then compare it with --max-workers=1. Start with the vdirsyncer.vobject module shown in the error and use -vdebug to obtain the full traceback. Done means concurrent synchronization no longer produces the partially initialized Item import error.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
cli
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.