Mercurial > libervia-backend
annotate sat/tools/common/files_utils.py @ 2617:81b70eeb710f
quick_frontend(contact list): refactored update:
update is now called with appropriate constant value (C.UPDATE_ADD, C.UPDATE_DELETE, C.UPDATE_MODIFY and so on) when a widget change visibility according to current options.
Before it was linked to cache only (C.UPDATE_ADD was only called when contact was first added to cache).
This make widget handling in frontends more easy.
Renamed entityToShow to entityVisible, which seems to correspond better.
Started reducing lines lenght to 90 chars as a test. May become the new coding style soon.
author | Goffi <goffi@goffi.org> |
---|---|
date | Sun, 24 Jun 2018 21:59:29 +0200 |
parents | d78eff6b4487 |
children | 56f94936df1e |
rev | line source |
---|---|
2593
d78eff6b4487
tools (common): new files_utils module:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
1 #!/usr/bin/env python2 |
d78eff6b4487
tools (common): new files_utils module:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
2 # -*- coding: utf-8 -*- |
d78eff6b4487
tools (common): new files_utils module:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
3 |
d78eff6b4487
tools (common): new files_utils module:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
4 # SAT: a jabber client |
d78eff6b4487
tools (common): new files_utils module:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
5 # Copyright (C) 2009-2018 Jérôme Poisson (goffi@goffi.org) |
d78eff6b4487
tools (common): new files_utils module:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
6 |
d78eff6b4487
tools (common): new files_utils module:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
7 # This program is free software: you can redistribute it and/or modify |
d78eff6b4487
tools (common): new files_utils module:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
8 # it under the terms of the GNU Affero General Public License as published by |
d78eff6b4487
tools (common): new files_utils module:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
9 # the Free Software Foundation, either version 3 of the License, or |
d78eff6b4487
tools (common): new files_utils module:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
10 # (at your option) any later version. |
d78eff6b4487
tools (common): new files_utils module:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
11 |
d78eff6b4487
tools (common): new files_utils module:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
12 # This program is distributed in the hope that it will be useful, |
d78eff6b4487
tools (common): new files_utils module:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
13 # but WITHOUT ANY WARRANTY; without even the implied warranty of |
d78eff6b4487
tools (common): new files_utils module:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
14 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
d78eff6b4487
tools (common): new files_utils module:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
15 # GNU Affero General Public License for more details. |
d78eff6b4487
tools (common): new files_utils module:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
16 |
d78eff6b4487
tools (common): new files_utils module:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
17 # You should have received a copy of the GNU Affero General Public License |
d78eff6b4487
tools (common): new files_utils module:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
18 # along with this program. If not, see <http://www.gnu.org/licenses/>. |
d78eff6b4487
tools (common): new files_utils module:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
19 |
d78eff6b4487
tools (common): new files_utils module:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
20 """tools to help manipulating files""" |
d78eff6b4487
tools (common): new files_utils module:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
21 import os.path |
d78eff6b4487
tools (common): new files_utils module:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
22 |
d78eff6b4487
tools (common): new files_utils module:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
23 |
d78eff6b4487
tools (common): new files_utils module:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
24 def get_unique_name(path): |
d78eff6b4487
tools (common): new files_utils module:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
25 """generate a path with a name not conflicting with existing file |
d78eff6b4487
tools (common): new files_utils module:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
26 |
d78eff6b4487
tools (common): new files_utils module:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
27 @param path(unicode): path to the file to create |
d78eff6b4487
tools (common): new files_utils module:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
28 @return (unicode): unique path (can be the same as path if there is not conflict) |
d78eff6b4487
tools (common): new files_utils module:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
29 """ |
d78eff6b4487
tools (common): new files_utils module:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
30 ori_path = path |
d78eff6b4487
tools (common): new files_utils module:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
31 idx = 1 |
d78eff6b4487
tools (common): new files_utils module:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
32 while os.path.exists(path): |
d78eff6b4487
tools (common): new files_utils module:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
33 path = ori_path + u'_' + unicode(idx) |
d78eff6b4487
tools (common): new files_utils module:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
34 idx += 1 |
d78eff6b4487
tools (common): new files_utils module:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
35 return path |