geier / pycarddav

DEPRECATED - use vdirsyncer & khard -- easy to use CLI CardDAV client
http://lostpackets.de/pycarddav
MIT License
98 stars 35 forks source link

sqlite3.OperationalError #94

Closed visibilityspots closed 10 years ago

visibilityspots commented 10 years ago

Hi since a few months I can't use pycardsyncer anymore. I installed pycarddav using pip on an archlinux machine.

Any idea in which direction I should look to solve this?

Thanks in advance

DEBUG:root:made sure version table exists
DEBUG:root:made sure accounts table exists 
Traceback (most recent call last):
  File "/usr/bin/pycardsyncer", line 55, in <module>
    sync(conf)
  File "/usr/lib/python2.7/site-packages/pycarddav/controllers/sync.py", line 51, in sync
    my_dbtool.check_account_table(conf.account.name, conf.account.resource)
  File "/usr/lib/python2.7/site-packages/pycarddav/backend.py", line 199, in check_account_table
    self.sql_ex(sql_s)
  File "/usr/lib/python2.7/site-packages/pycarddav/backend.py", line 177, in sql_ex
    self.cursor.execute(statement, stuple)
sqlite3.OperationalError: near "_r": syntax error
geier commented 10 years ago

did you delete the old database file?

visibilityspots commented 10 years ago

Yes tried that by deleting the db file ~/.pycard/abook.db when rerunning the same error occurs and a new abook.db file is generated.

geier commented 10 years ago

can you please paste the whole output of pycardsyncer --debug (you can obviously redact person details like your username or the domain of the resource)

visibilityspots commented 10 years ago

Sure

$ pycardsyncer --debug
DEBUG:root:Using configuration from /home/USER/.pycard/pycard.conf
DEBUG:root:Ignoring default:debug in configuration file
DEBUG:root:Using configuration:          
DEBUG:root:     accounts:                
DEBUG:root:             auth: basic   
DEBUG:root:             name: 'NAME'  
DEBUG:root:             resource: https://URL/
DEBUG:root:             user: USER       
DEBUG:root:             verify: False 
DEBUG:root:             write_support: False
DEBUG:root:     accounts:                
DEBUG:root:             auth: basic   
DEBUG:root:             name: 'NAME2' 
DEBUG:root:             resource: https://URL2/
DEBUG:root:             user: USER       
DEBUG:root:             verify: False 
DEBUG:root:             write_support: False
DEBUG:root:     debug: True              
DEBUG:root:     filename: /home/USER/.pycard/pycard.conf
DEBUG:root:     sqlite:                  
DEBUG:root:             path: /home/USER/.pycard/abook.db
DEBUG:root:     sync:                    
DEBUG:root:             accounts: set(["'NAME'", "'NAME2'"])
DEBUG:root:start syncing account 'NAME'
DEBUG:root:made sure version table exists
DEBUG:root:made sure accounts table exists
Traceback (most recent call last):       
  File "/usr/bin/pycardsyncer", line 55, in <module>                                                                                                                                                                                           
    sync(conf)                           
  File "/usr/lib/python2.7/site-packages/pycarddav/controllers/sync.py", line 51, in sync
    my_dbtool.check_account_table(conf.account.name, conf.account.resource)
  File "/usr/lib/python2.7/site-packages/pycarddav/backend.py", line 199, in check_account_table
    self.sql_ex(sql_s)                   
  File "/usr/lib/python2.7/site-packages/pycarddav/backend.py", line 177, in sql_ex
    self.cursor.execute(statement, stuple)
sqlite3.OperationalError: near "_r": syntax error
geier commented 10 years ago

do you by any chance have a blank in your account name? or perhaps a trailing blank, like: [Account home ]?

visibilityspots commented 10 years ago

the account names are individual words Contacts and Colleagues..

geier commented 10 years ago

Do you have anything like " or ' around them (as your output would suggest)?

visibilityspots commented 10 years ago

geier your are the man! that indeed solved the issue, [account 'Contacts']

I changed them to [account Contacts] and know I have again a database full of contacts I can use in mutt.

Thank you very much for pointing me to this stupid error.. You made my day :)

geier commented 10 years ago

While its good that we solved your problem, this still needs to be solved for everybody. I have reissued this as #95.