chiark / gitweb /
create blank config.py using cross-platform technique
authorHans-Christoph Steiner <hans@eds.org>
Sun, 17 Sep 2017 19:54:21 +0000 (21:54 +0200)
committerHans-Christoph Steiner <hans@eds.org>
Tue, 19 Sep 2017 18:13:36 +0000 (20:13 +0200)
os.mknod() fails on OSX with:

Traceback (most recent call last):

  File "/Users/travis/build/fdroidtravis/fdroidserver/tests/../fdroid", line 154, in <module>
    main()
  File "/Users/travis/build/fdroidtravis/fdroidserver/tests/../fdroid", line 130, in main
    mod.main()
  File "/Users/travis/build/fdroidtravis/fdroidserver/fdroidserver/update.py", line 1768, in main
    common.write_to_config(config, 'repo_keyalias', config['repo_keyalias'])
  File "/Users/travis/build/fdroidtravis/fdroidserver/fdroidserver/common.py", line 2328, in write_to_config
    os.mknod(cfg)
PermissionError: [Errno 1] Operation not permitted

fdroidserver/common.py

index 98aab2093bd79808d978f437a61b1b0540ff7ba6..4d897653555f079c69047b3e20764668ba6930de 100644 (file)
@@ -2325,7 +2325,7 @@ def write_to_config(thisconfig, key, value=None, config_file=None):
 
     # load config file, create one if it doesn't exist
     if not os.path.exists(cfg):
-        os.mknod(cfg)
+        open(cfg, 'a').close()
         logging.info("Creating empty " + cfg)
     with open(cfg, 'r', encoding="utf-8") as f:
         lines = f.readlines()