Changeset View
Changeset View
Standalone View
Standalone View
pykolab/cli/cmd_rename_mailbox.py
Show All 11 Lines | |||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of | # but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||||
# GNU General Public License for more details. | # GNU General Public License for more details. | ||||
# You should have received a copy of the GNU General Public License | # You should have received a copy of the GNU General Public License | ||||
# along with this program. If not, see <http://www.gnu.org/licenses/>. | # along with this program. If not, see <http://www.gnu.org/licenses/>. | ||||
# | # | ||||
from __future__ import print_function | |||||
import sys | import sys | ||||
import commands | import commands | ||||
import pykolab | import pykolab | ||||
from pykolab.imap import IMAP | from pykolab.imap import IMAP | ||||
from pykolab.translate import _ | from pykolab.translate import _ | ||||
Show All 16 Lines | try: | ||||
source_folder = conf.cli_args.pop(0) | source_folder = conf.cli_args.pop(0) | ||||
try: | try: | ||||
target_folder = conf.cli_args.pop(0) | target_folder = conf.cli_args.pop(0) | ||||
try: | try: | ||||
partition = conf.cli_args.pop(0) | partition = conf.cli_args.pop(0) | ||||
except IndexError, errmsg: | except IndexError, errmsg: | ||||
partition = None | partition = None | ||||
except IndexError, errmsg: | except IndexError, errmsg: | ||||
print >> sys.stderr, _("No target mailbox name specified") | print(_("No target mailbox name specified"), file=sys.stderr) | ||||
except IndexError, errmsg: | except IndexError, errmsg: | ||||
print >> sys.stderr, _("No source mailbox name specified") | print(_("No source mailbox name specified"), file=sys.stderr) | ||||
sys.exit(1) | sys.exit(1) | ||||
if len(source_folder.split('@')) > 1: | if len(source_folder.split('@')) > 1: | ||||
domain = source_folder.split('@')[1] | domain = source_folder.split('@')[1] | ||||
else: | else: | ||||
domain = conf.get('kolab', 'primary_domain') | domain = conf.get('kolab', 'primary_domain') | ||||
imap = IMAP() | imap = IMAP() | ||||
imap.connect(domain=domain) | imap.connect(domain=domain) | ||||
if not imap.has_folder(source_folder): | if not imap.has_folder(source_folder): | ||||
print >> sys.stderr, _("Source folder %r does not exist") % (source_folder) | print(_("Source folder %r does not exist") % (source_folder), file=sys.stderr) | ||||
sys.exit(1) | sys.exit(1) | ||||
if imap.has_folder(target_folder) and partition == None: | if imap.has_folder(target_folder) and partition == None: | ||||
print >> sys.stderr, _("Target folder %r already exists") % (target_folder) | print(_("Target folder %r already exists") % (target_folder), file=sys.stderr) | ||||
sys.exit(1) | sys.exit(1) | ||||
imap.imap.rename(imap.folder_utf7(source_folder), imap.folder_utf7(target_folder), partition) | imap.imap.rename(imap.folder_utf7(source_folder), imap.folder_utf7(target_folder), partition) | ||||