Hello community, here is the log from the commit of package pycarddav for openSUSE:Factory checked in at 2013-12-18 16:54:17 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/pycarddav (Old) and /work/SRC/openSUSE:Factory/.pycarddav.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "pycarddav" Changes: -------- --- /work/SRC/openSUSE:Factory/pycarddav/pycarddav.changes 2013-09-09 09:54:04.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.pycarddav.new/pycarddav.changes 2013-12-18 16:54:19.000000000 +0100 @@ -1,0 +2,8 @@ +Tue Dec 17 09:59:11 UTC 2013 - g...@opensuse.org + +- update to version 0.6.1 + - bugfixes + - keyring support + - new manpages + +------------------------------------------------------------------- Old: ---- pyCardDAV-0.5.1.tar.gz New: ---- pyCardDAV-0.6.1.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ pycarddav.spec ++++++ --- /var/tmp/diff_new_pack.c302VW/_old 2013-12-18 16:54:19.000000000 +0100 +++ /var/tmp/diff_new_pack.c302VW/_new 2013-12-18 16:54:19.000000000 +0100 @@ -20,7 +20,7 @@ %define orig_name pyCardDAV Name: pycarddav -Version: 0.5.1 +Version: 0.6.1 Release: 0 Summary: Simple to Use CardDAV CLI Client License: MIT @@ -75,6 +75,11 @@ %install python setup.py install --prefix=%{_prefix} --root=%{buildroot} +for manpage in doc/man/*; do + if [ -f "${manpage}" ]; then + install -D -p -m 644 "${manpage}" "%{buildroot}%{_mandir}/man1/${manpage##*/}" + fi +done %files %defattr(-,root,root) @@ -84,5 +89,8 @@ %{_bindir}/pc_query %{_bindir}/pycard-import %{_bindir}/pycardsyncer +%{_mandir}/man1/pc_query.1%{ext_man} +%{_mandir}/man1/pycard-import.1%{ext_man} +%{_mandir}/man1/pycardsyncer.1%{ext_man} %changelog ++++++ pyCardDAV-0.5.1.tar.gz -> pyCardDAV-0.6.1.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyCardDAV-0.5.1/CONTRIBUTORS.txt new/pyCardDAV-0.6.1/CONTRIBUTORS.txt --- old/pyCardDAV-0.5.1/CONTRIBUTORS.txt 2013-09-02 00:16:39.000000000 +0200 +++ new/pyCardDAV-0.6.1/CONTRIBUTORS.txt 2013-11-26 14:09:37.000000000 +0100 @@ -5,3 +5,5 @@ Ben Boeckel - mathstuf [at] gmail [dot] com Thomas Glanzmann - tho...@glanzmann.de - http://thomas.glanzmann.de Johannes Goetzfried - johan...@jgoetzfried.de - http://jgoetzfried.de +Steven Allen <ste...@stebalien.com> - http://stebalien.com +Jamie McClelland - jm@mayfirstorg - http://current.workingdirectory.net diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyCardDAV-0.5.1/MANIFEST.in new/pyCardDAV-0.6.1/MANIFEST.in --- old/pyCardDAV-0.5.1/MANIFEST.in 2013-09-02 00:15:11.000000000 +0200 +++ new/pyCardDAV-0.6.1/MANIFEST.in 2013-11-26 14:12:22.000000000 +0100 @@ -4,3 +4,4 @@ include CONTRIBUTORS.txt include COPYING include NEWS.txt +recursive-include doc/man *.1 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyCardDAV-0.5.1/NEWS.txt new/pyCardDAV-0.6.1/NEWS.txt --- old/pyCardDAV-0.5.1/NEWS.txt 2013-09-02 00:16:39.000000000 +0200 +++ new/pyCardDAV-0.6.1/NEWS.txt 2013-11-26 14:14:37.000000000 +0100 @@ -1,5 +1,14 @@ News ==== +26.11.2013: pyCardDAV v0.6.1 released + + The man pages should now be included in the release tarball. + +25.11.2013: pyCardDAV v0.6 released + + This is mostly a bug fix release (thanks to Jamie McClelland for fixing + two bugs), but also introduces keyring support (thanks to Steven Allen). + Have a look at the README for further information on keyring support. 02.09.2013: pyCardDAV v.0.5.1 released diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyCardDAV-0.5.1/PKG-INFO new/pyCardDAV-0.6.1/PKG-INFO --- old/pyCardDAV-0.5.1/PKG-INFO 2013-09-02 00:19:35.000000000 +0200 +++ new/pyCardDAV-0.6.1/PKG-INFO 2013-11-26 14:15:21.000000000 +0100 @@ -1,6 +1,6 @@ Metadata-Version: 1.1 Name: pyCardDAV -Version: 0.5.1 +Version: 0.6.1 Summary: A CardDAV based address book tool Home-page: http://lostpackets.de/pycarddav/ Author: Christian Geier @@ -112,6 +112,22 @@ use all configured accounts, while on adding cards the first configured account will be used. + Keyring support + --------------- + + *pycarddav* supports keyring_, (version >=3.0). To use it, you need to add a + password to the keyring via:: + + keyring set pycarddav:$account $username + + where $account is the name of an account as configured in your configuration + file and $username is the corresponding username (and then have no password + configured for that account). For more details on configuring keyring have a + look at its documentation_. + + .. _keyring: https://pypi.python.org/pypi/keyring + .. _documentation: https://pypi.python.org/pypi/keyring + Import Addresses from Mutt -------------------------- You can directly add sender addresses from mutt to *pyCardDAV*, either adding @@ -131,6 +147,14 @@ checking set *verify* to *false* to disable *any* ssl certificate checking (this is not recommended). + Conflict Resolution + ------------------- + + In case of conflicting edits (local VCard changed while remote VCard also + changed), are "resolved" by pycarddav through overwriting the local VCard with + the remote one (meaning local edits are lost in this case). Syncing more + frequently can prevent this. + Additional Information ---------------------- For now, VCard properties that have no value are not shown. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyCardDAV-0.5.1/README.rst new/pyCardDAV-0.6.1/README.rst --- old/pyCardDAV-0.5.1/README.rst 2013-09-02 00:16:39.000000000 +0200 +++ new/pyCardDAV-0.6.1/README.rst 2013-11-26 14:09:37.000000000 +0100 @@ -104,6 +104,22 @@ use all configured accounts, while on adding cards the first configured account will be used. +Keyring support +--------------- + +*pycarddav* supports keyring_, (version >=3.0). To use it, you need to add a +password to the keyring via:: + + keyring set pycarddav:$account $username + +where $account is the name of an account as configured in your configuration +file and $username is the corresponding username (and then have no password +configured for that account). For more details on configuring keyring have a +look at its documentation_. + +.. _keyring: https://pypi.python.org/pypi/keyring +.. _documentation: https://pypi.python.org/pypi/keyring + Import Addresses from Mutt -------------------------- You can directly add sender addresses from mutt to *pyCardDAV*, either adding @@ -123,6 +139,14 @@ checking set *verify* to *false* to disable *any* ssl certificate checking (this is not recommended). +Conflict Resolution +------------------- + +In case of conflicting edits (local VCard changed while remote VCard also +changed), are "resolved" by pycarddav through overwriting the local VCard with +the remote one (meaning local edits are lost in this case). Syncing more +frequently can prevent this. + Additional Information ---------------------- For now, VCard properties that have no value are not shown. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyCardDAV-0.5.1/README.txt new/pyCardDAV-0.6.1/README.txt --- old/pyCardDAV-0.5.1/README.txt 2013-12-18 16:54:19.000000000 +0100 +++ new/pyCardDAV-0.6.1/README.txt 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -symbolic link to README.rst diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyCardDAV-0.5.1/doc/man/pc_query.1 new/pyCardDAV-0.6.1/doc/man/pc_query.1 --- old/pyCardDAV-0.5.1/doc/man/pc_query.1 1970-01-01 01:00:00.000000000 +0100 +++ new/pyCardDAV-0.6.1/doc/man/pc_query.1 2013-11-26 14:09:37.000000000 +0100 @@ -0,0 +1,121 @@ +'\" t +.\" Title: pc_query +.\" Author: [see the "AUTHOR" section] +.\" Generator: DocBook XSL Stylesheets v1.76.1 <http://docbook.sf.net/> +.\" Date: 11/25/2013 +.\" Manual: \ \& +.\" Source: \ \& +.\" Language: English +.\" +.TH "PC_QUERY" "1" "11/25/2013" "\ \&" "\ \&" +.\" ----------------------------------------------------------------- +.\" * Define some portability stuff +.\" ----------------------------------------------------------------- +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.\" http://bugs.debian.org/507673 +.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" ----------------------------------------------------------------- +.\" * set default formatting +.\" ----------------------------------------------------------------- +.\" disable hyphenation +.nh +.\" disable justification (adjust text to left margin only) +.ad l +.\" ----------------------------------------------------------------- +.\" * MAIN CONTENT STARTS HERE * +.\" ----------------------------------------------------------------- +.SH "NAME" +pc_query \- query the local address book +.SH "SYNOPSIS" +.sp +\fBpc_query\fR [\fIOPTIONS\fR] [SEARCHSTRING] +.SH "DESCRIPTION" +.sp +pc_query(1) prints contacts from a local address book, synchronized with remote CardDAV resources with pycardsyncer(1)\&. Contact information is kept in the \fIvCard\fR format, one set of information, corresponding to a business card, is therefore often referred to as a \fIcard\fR\&. pc_query(1) can also import and export vcards from/to the database\&. pc_query(1) is part of the \fIpycarddav\fR package\&. +.SH "OPTIONS" +.SS "BASIC STARTUP OPTIONS" +.PP +\fB\-a, \-\-account\fR=\fINAME\fR +.RS 4 +Only use the account/resource +\fINAME\fR +(this option can be used more than once)\&. +.RE +.PP +\fB\-c, \-\-config\fR=\fICONFIG\fR +.RS 4 +Use the configuration file +\fICONFIG\fR, otherwise pc_query(1) will look in +\fI$HOME/\&.pycard/\fR +and +\fI$HOME/\&.config/pycard/\fR +for files named +\fIpycard\&.conf\fR\&. +.RE +.PP +\fB\-\-debug\fR +.RS 4 +This option enables debugging output\&. +.RE +.PP +\fB\-h, \-\-help\fR +.RS 4 +Print a small help text and exit\&. +.RE +.PP +\fB\-v, \-\-version\fR +.RS 4 +Print pc_query\(cqs version number and exit\&. +.RE +.SS "PRINTING OPTIONS" +.sp +These options can only be used with \fISEARCHSTRING\fR and determine the output format of pc_query(1)\&. Without any options pc_query(1) will print the name, telephone numbers and email addresses of all matching contact cards\&. +.PP +\fB\-A\fR +.RS 4 +Prints the whole card\&. +.RE +.PP +\fB\-m\fR +.RS 4 +Only prints names and email addresses, in a mutt friendly format (one line per email address)\&. +.RE +.PP +\fB\-t\fR +.RS 4 +Only prints names and telephone numbers, analogue to \-m (but in different sequence) +.RE +.SS "FILE INPUT AND OUTPUT OPTIONS" +.PP +\fB\-b, \-\-backup\fR\fI=\*(AqFILE\fR +.RS 4 +Backup the local db to BACKUP, if a SEARCHSTRING is present, only backup cards matching it\&. +.RE +.PP +\fB\-\-delete\fR +.RS 4 +Delete card matching +\fISEARCHSTRING\fR, if more than one matches, the user has to choose one card in an interactive user interface\&. +.RE +.PP +\fB\-i, \-\-import\fR=\fIFILE\fR +.RS 4 +Import vCard from FILE or +\fISTDIN\fR +into the first specified (or default) account +.RE +.SH "AUTHOR" +.sp +pc_query was mostly written by Christian Geier, with a lot of help by others, see \fICONTRIBUTORS\&.txt\fR in the pycarddav distribution\&. +.SH "RESOURCES" +.sp +Main web site: http://lostpackets\&.de/pycarddav/ Please report bugs via the contact information at the above web site or via github: http://github\&.com/geier/khal/\&. +.SH "SEE ALSO" +.sp +pycardsyncer(1), pycard\-import(1) +.SH "COPYING" +.sp +Copyright (C) 2011\-2013 Christian Geier and Contributors\&. pc_query and pycarddav are released under the terms of the Expat/MIT license, see the \fICOPYING\fR file distributed with pycarddav\&. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyCardDAV-0.5.1/doc/man/pycard-import.1 new/pyCardDAV-0.6.1/doc/man/pycard-import.1 --- old/pyCardDAV-0.5.1/doc/man/pycard-import.1 1970-01-01 01:00:00.000000000 +0100 +++ new/pyCardDAV-0.6.1/doc/man/pycard-import.1 2013-11-26 14:09:37.000000000 +0100 @@ -0,0 +1,115 @@ +'\" t +.\" Title: pycard-import +.\" Author: [see the "AUTHOR" section] +.\" Generator: DocBook XSL Stylesheets v1.76.1 <http://docbook.sf.net/> +.\" Date: 11/25/2013 +.\" Manual: \ \& +.\" Source: \ \& +.\" Language: English +.\" +.TH "PYCARD\-IMPORT" "1" "11/25/2013" "\ \&" "\ \&" +.\" ----------------------------------------------------------------- +.\" * Define some portability stuff +.\" ----------------------------------------------------------------- +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.\" http://bugs.debian.org/507673 +.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" ----------------------------------------------------------------- +.\" * set default formatting +.\" ----------------------------------------------------------------- +.\" disable hyphenation +.nh +.\" disable justification (adjust text to left margin only) +.ad l +.\" ----------------------------------------------------------------- +.\" * MAIN CONTENT STARTS HERE * +.\" ----------------------------------------------------------------- +.SH "NAME" +pycard-import \- import email addresses from mails from stdin +.SH "SYNOPSIS" +.sp +\fBpycard\-import\fR [\fIOPTIONS\fR] +.SH "DESCRIPTION" +.sp +pycard\-import(1) imports email addresses from mails piped into its stdin and saves those addresses to the database used by pycardsyncer(1) and pc_query(1)\&. pycard\-import(1) is part of the \fIpycarddav\fR package\&. +.SH "OPTIONS" +.SS "BASIC STARTUP OPTIONS" +.PP +\fB\-a, \-\-account\fR=\fINAME\fR +.RS 4 +Only use the account/resource +\fINAME\fR +(this option can be used more than once)\&. +.RE +.PP +\fB\-c, \-\-config\fR=\fICONFIG\fR +.RS 4 +Use the configuration file +\fICONFIG\fR, otherwise pycard\-import(1) will look in +\fI$HOME/\&.pycard/\fR +and +\fI$HOME/\&.config/pycard/\fR +for files named +\fIpycard\&.conf\fR\&. +.RE +.PP +\fB\-\-debug\fR +.RS 4 +This option enables debugging output\&. +.RE +.PP +\fB\-h, \-\-help\fR +.RS 4 +Print a small help text and exit\&. +.RE +.PP +\fB\-v, \-\-version\fR +.RS 4 +Print pycard\-import\(cqs version number and exit\&. +.RE +.SS "IMPORTING OPTIONS" +.PP +\fB\-\-batch\fR +.RS 4 +Do not open the editor\&. +.RE +.PP +\fB\-\-bcc\fR +.RS 4 +Import the content of the Bcc header\&. +.RE +.PP +\fB\-\-cc\fR +.RS 4 +Import the content of the Cc header\&. +.RE +.PP +\fB\-f, \-\-from\fR +.RS 4 +Import the content of the From header\&. +.RE +.PP +\fB\-n, \-\-dry\-run\fR +.RS 4 +Do not actually update the database (implies \-\-batch)\&. +.RE +.PP +\fB\-t, \-\-to\fR +.RS 4 +Import the content of the To header\&. +.RE +.SH "AUTHOR" +.sp +pycard\-import was mostly written by Christian Geier, with a lot of help by others, see \fICONTRIBUTORS\&.txt\fR in the pycarddav distribution\&. +.SH "RESOURCES" +.sp +Main web site: http://lostpackets\&.de/pycarddav/ Please report bugs via the contact information at the above web site or via github: http://github\&.com/geier/khal/\&. +.SH "SEE ALSO" +.sp +pycardsyncer(1), pc_query(1) +.SH "COPYING" +.sp +Copyright (C) 2011\-2013 Christian Geier and Contributors\&. pycard\-import and pycarddav are released under the terms of the Expat/MIT license, see the \fICOPYING\fR file distributed with pycarddav\&. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyCardDAV-0.5.1/doc/man/pycardsyncer.1 new/pyCardDAV-0.6.1/doc/man/pycardsyncer.1 --- old/pyCardDAV-0.5.1/doc/man/pycardsyncer.1 1970-01-01 01:00:00.000000000 +0100 +++ new/pyCardDAV-0.6.1/doc/man/pycardsyncer.1 2013-11-26 14:09:37.000000000 +0100 @@ -0,0 +1,83 @@ +'\" t +.\" Title: pycardsyncer +.\" Author: [see the "AUTHOR" section] +.\" Generator: DocBook XSL Stylesheets v1.76.1 <http://docbook.sf.net/> +.\" Date: 11/25/2013 +.\" Manual: \ \& +.\" Source: \ \& +.\" Language: English +.\" +.TH "PYCARDSYNCER" "1" "11/25/2013" "\ \&" "\ \&" +.\" ----------------------------------------------------------------- +.\" * Define some portability stuff +.\" ----------------------------------------------------------------- +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.\" http://bugs.debian.org/507673 +.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" ----------------------------------------------------------------- +.\" * set default formatting +.\" ----------------------------------------------------------------- +.\" disable hyphenation +.nh +.\" disable justification (adjust text to left margin only) +.ad l +.\" ----------------------------------------------------------------- +.\" * MAIN CONTENT STARTS HERE * +.\" ----------------------------------------------------------------- +.SH "NAME" +pycardsyncer \- synchronizes CardDAV resources to local db +.SH "SYNOPSIS" +.sp +\fBpycardsyncer\fR [\fIOPTIONS\fR] +.SH "DESCRIPTION" +.sp +pycardsyncer(1) synchronizes remote CardDAV resources to a local database that can then be queried and modified with pc_query(1)\&. +.SH "OPTIONS" +.PP +\fB\-a, \-\-account\fR=\fINAME\fR +.RS 4 +Sync only the account/resource +\fINAME\fR +(this option can be used more than once)\&. +.RE +.PP +\fB\-c, \-\-config\fR=\fICONFIG\fR +.RS 4 +Use the configuration file +\fICONFIG\fR, otherwise pycardsyncer will look in +\fI$HOME/\&.pycard/\fR +and +\fI$HOME/\&.config/pycard/\fR +for files named +\fIpycard\&.conf\fR\&. +.RE +.PP +\fB\-\-debug\fR +.RS 4 +This option enables debugging output\&. +.RE +.PP +\fB\-h, \-\-help\fR +.RS 4 +Print a small help text and exit\&. +.RE +.PP +\fB\-v, \-\-version\fR +.RS 4 +Print pycardsyncer\(cqs version number and exit\&. +.RE +.SH "AUTHOR" +.sp +pycardsyncer was mostly written by Christian Geier, with a lot of help by others, see \fICONTRIBUTORS\&.txt\fR in the pycarddav distribution\&. +.SH "RESOURCES" +.sp +Main web site: http://lostpackets\&.de/pycarddav/ Please report bugs via the contact information at the above web site or via github: http://github\&.com/geier/khal/\&. +.SH "SEE ALSO" +.sp +pc_query(1), pycard\-import(1) +.SH "COPYING" +.sp +Copyright (C) 2011\-2013 Christian Geier and Contributors\&. pycardsyncer and pycarddav are released under the terms of the Expat/MIT license, see the \fICOPYING\fR file distributed with pycarddav\&. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyCardDAV-0.5.1/pyCardDAV.egg-info/PKG-INFO new/pyCardDAV-0.6.1/pyCardDAV.egg-info/PKG-INFO --- old/pyCardDAV-0.5.1/pyCardDAV.egg-info/PKG-INFO 2013-09-02 00:19:35.000000000 +0200 +++ new/pyCardDAV-0.6.1/pyCardDAV.egg-info/PKG-INFO 2013-11-26 14:15:21.000000000 +0100 @@ -1,6 +1,6 @@ Metadata-Version: 1.1 Name: pyCardDAV -Version: 0.5.1 +Version: 0.6.1 Summary: A CardDAV based address book tool Home-page: http://lostpackets.de/pycarddav/ Author: Christian Geier @@ -112,6 +112,22 @@ use all configured accounts, while on adding cards the first configured account will be used. + Keyring support + --------------- + + *pycarddav* supports keyring_, (version >=3.0). To use it, you need to add a + password to the keyring via:: + + keyring set pycarddav:$account $username + + where $account is the name of an account as configured in your configuration + file and $username is the corresponding username (and then have no password + configured for that account). For more details on configuring keyring have a + look at its documentation_. + + .. _keyring: https://pypi.python.org/pypi/keyring + .. _documentation: https://pypi.python.org/pypi/keyring + Import Addresses from Mutt -------------------------- You can directly add sender addresses from mutt to *pyCardDAV*, either adding @@ -131,6 +147,14 @@ checking set *verify* to *false* to disable *any* ssl certificate checking (this is not recommended). + Conflict Resolution + ------------------- + + In case of conflicting edits (local VCard changed while remote VCard also + changed), are "resolved" by pycarddav through overwriting the local VCard with + the remote one (meaning local edits are lost in this case). Syncing more + frequently can prevent this. + Additional Information ---------------------- For now, VCard properties that have no value are not shown. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyCardDAV-0.5.1/pyCardDAV.egg-info/SOURCES.txt new/pyCardDAV-0.6.1/pyCardDAV.egg-info/SOURCES.txt --- old/pyCardDAV-0.5.1/pyCardDAV.egg-info/SOURCES.txt 2013-09-02 00:19:35.000000000 +0200 +++ new/pyCardDAV-0.6.1/pyCardDAV.egg-info/SOURCES.txt 2013-11-26 14:15:21.000000000 +0100 @@ -4,12 +4,14 @@ MANIFEST.in NEWS.txt README.rst -README.txt pycard.conf.sample setup.py bin/pc_query bin/pycard-import bin/pycardsyncer +doc/man/pc_query.1 +doc/man/pycard-import.1 +doc/man/pycardsyncer.1 pyCardDAV.egg-info/PKG-INFO pyCardDAV.egg-info/SOURCES.txt pyCardDAV.egg-info/dependency_links.txt diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyCardDAV-0.5.1/pycarddav/__init__.py new/pyCardDAV-0.6.1/pycarddav/__init__.py --- old/pyCardDAV-0.5.1/pycarddav/__init__.py 2013-09-02 00:16:39.000000000 +0200 +++ new/pyCardDAV-0.6.1/pycarddav/__init__.py 2013-11-26 14:09:37.000000000 +0100 @@ -195,7 +195,7 @@ output level using the debug flag read from the command-line or the configuration file. """ - DEFAULT_DB_PATH = xdg.BaseDirectory.save_data_path('pycard') + 'abook.db' + DEFAULT_DB_PATH = xdg.BaseDirectory.save_data_path('pycard') + '/abook.db' DEFAULT_PATH = "pycard" DEFAULT_FILE = "pycard.conf" @@ -206,8 +206,9 @@ # Build parsers and set common options. self._check_accounts = check_accounts self._conf_parser = ConfigParser.SafeConfigParser() - self._arg_parser = argparse.ArgumentParser( - description=desc, version=__version__) + self._arg_parser = argparse.ArgumentParser(description=desc) + self._arg_parser.add_argument( + "-v", "--version", action="version", version=__version__) self._arg_parser.add_argument( "-c", "--config", action="store", dest="filename", default=self._get_default_configuration_file(), metavar="FILE", @@ -307,8 +308,14 @@ ns.user, hostname) result = False elif ns.user: + try: + import keyring + except ImportError: + pass + else: + ns.passwd = keyring.get_password('pycarddav:'+ns.name, ns.user) # Do not ask for password if execution is already doomed. - if result: + if result and not ns.passwd: prompt = 'CardDAV password (account ' + ns.name + '): ' ns.passwd = getpass.getpass(prompt=prompt) else: @@ -342,7 +349,7 @@ logging.debug(intro) for name, value in sorted(dict.copy(conf).iteritems()): - if type(value) is list: + if type(value) is list and not isinstance(value[0], basestring): for o in value: self.dump(o, '\t' * tab + name + ':', tab + 1) elif type(value) is Namespace: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyCardDAV-0.5.1/pycarddav/backend.py new/pyCardDAV-0.6.1/pycarddav/backend.py --- old/pyCardDAV-0.5.1/pycarddav/backend.py 2013-09-02 00:16:39.000000000 +0200 +++ new/pyCardDAV-0.6.1/pycarddav/backend.py 2013-11-26 14:09:37.000000000 +0100 @@ -112,15 +112,16 @@ return result def _check_table_version(self): - """tests for curent db Version + """tests for current db Version if the table is still empty, insert db_version """ - database_version = 9 # the current db VERSION + database_version = 10 # the current db VERSION self.cursor.execute('SELECT version FROM version') result = self.cursor.fetchone() if result is None: stuple = (database_version, ) # database version db Version - self.cursor.execute('INSERT INTO version (version) VALUES (?)', stuple) + self.cursor.execute('INSERT INTO version (version) VALUES (?)', + stuple) self.conn.commit() elif not result[0] == database_version: raise Exception(str(self.db_path) + @@ -129,11 +130,14 @@ "using pycardsyncer.\n") def _create_default_tables(self): - """creates version and account tables and instert table version number + """creates version and account tables and insert table version number + """ + # CREATE TABLE IF NOT EXISTS is faster than checking if it exists try: - self.cursor.execute('''CREATE TABLE IF NOT EXISTS version ( version INTEGER )''') - logging.debug("created version table") + self.cursor.execute('''CREATE TABLE IF NOT EXISTS version + ( version INTEGER )''') + logging.debug("made sure version table exists") except Exception as error: sys.stderr.write('Failed to connect to database,' 'Unknown Error: ' + str(error) + "\n") @@ -143,7 +147,7 @@ account TEXT NOT NULL, resource TEXT NOT NULL )''') - logging.debug("created accounts table") + logging.debug("made sure accounts table exists ") except Exception as error: sys.stderr.write('Failed to connect to database,' 'Unknown Error: ' + str(error) + "\n") @@ -158,18 +162,26 @@ return result def check_account_table(self, account_name, resource): + count_sql_s = """SELECT count(*) FROM accounts + WHERE account = ? AND resource = ?""" + self.cursor.execute(count_sql_s, (account_name, resource)) + result = self.cursor.fetchone() + + if(result[0] != 0): + return sql_s = """CREATE TABLE IF NOT EXISTS {0} ( href TEXT, etag TEXT, name TEXT, fname TEXT, vcard TEXT, - status INT NOT NULL + status INT NOT NULL, + PRIMARY KEY(href) )""".format(account_name) self.sql_ex(sql_s) sql_s = 'INSERT INTO accounts (account, resource) VALUES (?, ?)' self.sql_ex(sql_s, (account_name, resource)) - logging.debug("created {0} table".format(account_name)) + logging.debug("made sure {0} table exists".format(account_name)) def needs_update(self, href, account_name, etag=''): """checks if we need to update this vcard @@ -226,7 +238,15 @@ vcard_s = vcard.decode('utf-8') except UnicodeEncodeError: vcard_s = vcard # incase it's already unicode and py2 - vcard = model.vcard_from_string(vcard) + try: + vcard = model.vcard_from_string(vcard) + except: + logging.error('VCard {0} could not be inserted into the ' + 'db'.format(href)) + if self.debug: + logging.error('could not be converted to vcard') + logging.error(vcard) + return else: vcard_s = vcard.vcf if href == '': @@ -278,14 +298,16 @@ """ stuple = (href, ) logging.debug("locally deleting " + str(href)) - self.sql_ex('DELETE FROM {0} WHERE href=(?)'.format(account_name), stuple) + self.sql_ex('DELETE FROM {0} WHERE href=(?)'.format(account_name), + stuple) def get_all_href_from_db(self, accounts): """returns a list with all hrefs """ result = list() for account in accounts: - hrefs = self.sql_ex('SELECT href FROM {0} ORDER BY fname COLLATE NOCASE'.format(account)) + hrefs = self.sql_ex('SELECT href FROM {0} ORDER BY fname ' + 'COLLATE NOCASE'.format(account)) result = result + [(href[0], account) for href in hrefs] return result diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyCardDAV-0.5.1/pycarddav/model.py new/pyCardDAV-0.6.1/pycarddav/model.py --- old/pyCardDAV-0.5.1/pycarddav/model.py 2013-09-02 00:16:39.000000000 +0200 +++ new/pyCardDAV-0.6.1/pycarddav/model.py 2013-11-26 14:09:37.000000000 +0100 @@ -75,6 +75,7 @@ NTEXT = '\x1b[0m' BTEXT = '\x1b[1m' + def get_names(display_name): first_name, last_name = '', display_name @@ -278,6 +279,7 @@ TODO make shure this random uid is unique""" import string import random + def generate_random_uid(): """generate a random uid, when random isn't broken, getting a random UID from a pool of roughly 10^56 should be good enough""" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyCardDAV-0.5.1/pycarddav/ui.py new/pyCardDAV-0.6.1/pycarddav/ui.py --- old/pyCardDAV-0.5.1/pycarddav/ui.py 2013-09-02 00:16:39.000000000 +0200 +++ new/pyCardDAV-0.6.1/pycarddav/ui.py 2013-11-26 14:09:37.000000000 +0100 @@ -217,6 +217,7 @@ vcard['EMAIL'].append(self._vcard['EMAIL'][0]) self._vcard = vcard self._w = self._build_ui() + self._status = pycarddav.backend.CHANGED def _build_ui(self): content = [] @@ -271,11 +272,15 @@ [self._fname_edit.edit_text, self._lname_edit.edit_text]) for i, edit in enumerate(self._email_edits): self._vcard['EMAIL'][i] = (edit.edit_text, self._vcard['EMAIL'][i][1]) + if(hasattr(self, '_status')): + status = self._status + else: + status = pycarddav.backend.NEW self._db.update(self._vcard, self._account, self._vcard.href, etag=self._vcard.etag, - status=pycarddav.backend.NEW) + status=status) class Window(urwid.Frame): diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyCardDAV-0.5.1/pycarddav/version.py new/pyCardDAV-0.6.1/pycarddav/version.py --- old/pyCardDAV-0.5.1/pycarddav/version.py 2013-09-02 00:19:35.000000000 +0200 +++ new/pyCardDAV-0.6.1/pycarddav/version.py 2013-11-26 14:15:21.000000000 +0100 @@ -1 +1 @@ -__version__ = '0.5.1' +__version__ = '0.6.1' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyCardDAV-0.5.1/setup.py new/pyCardDAV-0.6.1/setup.py --- old/pyCardDAV-0.5.1/setup.py 2013-09-02 00:17:32.000000000 +0200 +++ new/pyCardDAV-0.6.1/setup.py 2013-11-26 14:13:33.000000000 +0100 @@ -10,7 +10,7 @@ from setuptools import setup MAJOR = 0 -MINOR = 5 +MINOR = 6 PATCH = 1 RELEASE = True -- To unsubscribe, e-mail: opensuse-commit+unsubscr...@opensuse.org For additional commands, e-mail: opensuse-commit+h...@opensuse.org