/!\ not finished, everything is still instable !
- bridge: DBus bridge has been modified to allow blocking call to be called in the same way as asynchronous calls
- bridge: calls with a callback and no errback are now possible, default errback log the error
- constants: removed hack to manage presence without OrderedDict, as an OrderedDict like class has been implemented in Libervia
- core: getLastResource has been removed and replaced by getMainResource (there is a global better management of resources)
- various style improvments: use of constants when possible, fixed variable overlaps, import of module instead of direct class import
- frontends: printInfo and printMessage methods in (Quick)Chat are more generic (use of extra instead of timestamp)
- frontends: bridge creation and option parsing (command line arguments) are now specified by the frontend in QuickApp __init__
- frontends: ProfileManager manage a more complete plug sequence (some stuff formerly manage in contact_list have moved to ProfileManager)
- quick_frontend (quick_widgets): QuickWidgetsManager is now iterable (all widgets are then returned), or can return an iterator on a specific class (return all widgets of this class) with getWidgets
- frontends: tools.jid can now be used in Pyjamas, with some care
- frontends (XMLUI): profile is now managed
- core (memory): big improvment on entities cache management (and specially resource management)
- core (params/exceptions): added PermissionError
- various fixes and improvments, check diff for more details
51 lines
1.6 KiB
Python
51 lines
1.6 KiB
Python
#!/usr/bin/python
|
|
# -*- coding: utf-8 -*-
|
|
|
|
# Primitivus: a SAT frontend
|
|
# Copyright (C) 2009, 2010, 2011, 2012, 2013, 2014 Jérôme Poisson (goffi@goffi.org)
|
|
|
|
# This program is free software: you can redistribute it and/or modify
|
|
# it under the terms of the GNU Affero General Public License as published by
|
|
# the Free Software Foundation, either version 3 of the License, or
|
|
# (at your option) any later version.
|
|
|
|
# This program is distributed in the hope that it will be useful,
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
# GNU Affero General Public License for more details.
|
|
|
|
# You should have received a copy of the GNU Affero General Public License
|
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
|
|
from sat.core.i18n import _
|
|
from os.path import exists, splitext
|
|
from optparse import OptionParser
|
|
|
|
def getNewPath(path):
|
|
""" Check if path exists, and find a non existant path if needed """
|
|
idx = 2
|
|
if not exists(path):
|
|
return path
|
|
root, ext = splitext(path)
|
|
while True:
|
|
new_path = "%s_%d%s" % (root, idx, ext)
|
|
if not exists(new_path):
|
|
return new_path
|
|
idx+=1
|
|
|
|
def check_options():
|
|
"""Check command line options"""
|
|
usage = _("""
|
|
%prog [options]
|
|
|
|
%prog --help for options list
|
|
""")
|
|
parser = OptionParser(usage=usage) # TODO: use argparse
|
|
|
|
parser.add_option("-p", "--profile", help=_("Select the profile to use"))
|
|
|
|
(options, args) = parser.parse_args()
|
|
if options.profile:
|
|
options.profile = options.profile.decode('utf-8')
|
|
return options
|
|
|