diff --git a/client.py b/client.py index eb79567750706455f1c200151129fefe8e5cd27a..3b18d959fbd0017e1285effafdb4f45a668944e0 100755 --- a/client.py +++ b/client.py @@ -961,6 +961,7 @@ if __name__ == "__main__": liste """) parser.add_argument('fname', nargs='?', default=None, + type=lambda x: x.decode('utf-8'), help="Nom du fichier à afficher") # On parse les options fournies en commandline diff --git a/server.py b/server.py index 66723b108cd395fbb320c3ee255417d47e3cabb1..8e075f537d16c9b6fecdf56b815d195cbf45f8bf 100755 --- a/server.py +++ b/server.py @@ -41,6 +41,8 @@ def validate(roles, mode='r'): def getpath(filename, backup=False): """Récupère le chemin du fichier ``filename``""" + assert(isinstance(filename, unicode)) + filename = filename.encode('utf-8') return os.path.join(serverconfig.STORE, '%s.%s' % (filename, 'bak' if backup else 'json')) def writefile(filename, contents): @@ -140,7 +142,8 @@ def listfiles(): files = {} for filename in filenames: file_dict = json.loads(open(filename).read()) - files[filename[:-5]] = file_dict["roles"] + fname = filename[:-5].decode('utf-8') + files[fname] = file_dict["roles"] return files @server_command('getfile')