BLU Discuss list archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Discuss] Application config files
- Subject: [Discuss] Application config files
- From: johnhall2.0 at gmail.com (John Hall)
- Date: Thu, 18 Jul 2019 00:46:34 -0400
- In-reply-to: <20190713201437.105c987a@mydesk.domain.cxm>
- References: <CAEvgogF9s200fVh_HaO2dHnmVV94vJ4gSSaWWOCj+YwN1mFMGw@mail.gmail.com> <20190712174001.zf5gvwbpfsqlkqjh@randomstring.org> <20190712140720.38215f7c@mydesk.domain.cxm> <20190712211615.GB31101@bladeshadow.org> <20190713201437.105c987a@mydesk.domain.cxm>
Use a standard library configuration file parser rather than rolling your own. For example configparser standard lib will provide your code with read and write for ini files. There is no reason to introduce parsing errors or vulnerabilities by rolling your own parser. I would maintain the defaults as python code to generate the file if no ini file is found rather than checking the ini file into version control. Add a format version number to the ini file if you foresee a need to migrate settings after updates. __fmt_ver_num really is friendly enough. Decide if users are going to use the gui or just edit the file, or separate concerns and have gui related settings handled by the gui and have the user edit the end of the file for all other settings. I prefer to edit a file list in a file editor not in a little box. Most linux settings files have their own format. I agree that a standard format is preferable for most apps but i really do not care or believe it makes any difference which one you choose. On Sat, Jul 13, 2019 at 8:17 PM Steve Litt <slitt at troubleshooters.com> wrote: > On Fri, 12 Jul 2019 16:16:15 -0500 > Derek Martin <invalid at pizzashack.org> wrote: > > > On Fri, Jul 12, 2019 at 02:07:20PM -0400, Steve Litt wrote: > > > On Fri, 12 Jul 2019 13:40:01 -0400 > > > Dan Ritter <dsr at randomstring.org> wrote: > > > > > > > Jerry Feldman wrote: > > > > > I have an application that I wrote where I am using a .ini style > > > > > file for config. I chose that as an afterthought but maybe JSON, > > > > > YAML, or TOML might be better formats. > > > > > JSON is out from the get-go: It's not meant to be read and written > > > by humans. > > > > I largely disagree. If it's currently in INI format the equivalent > > JSON should generally be perfectly human-readable, e.g.: > > > {"thingy": {"name": "foo","ip": "10.1.2.3", "value": 1, > "live": true, "notes": null}} > > Your assertions (not copied here) about Python writing beautful > json is true, but humans, not so much. One could easily write a Python > json beautifier to help, but I still think complex json is hard for a > human to edit. > > I think about 20 lines of Python could turn an .ini file into a list of > dicts. > > SteveT > > Steve Litt > July 2019 featured book: Troubleshooting Techniques > of the Successful Technologist > http://www.troubleshooters.com/techniques > _______________________________________________ > Discuss mailing list > Discuss at blu.org > http://lists.blu.org/mailman/listinfo/discuss >
- Follow-Ups:
- [Discuss] Application config files
- From: abreauj at gmail.com (John Abreau)
- [Discuss] Application config files
- References:
- [Discuss] Application config files
- From: gaf.linux at gmail.com (Jerry Feldman)
- [Discuss] Application config files
- From: dsr at randomstring.org (Dan Ritter)
- [Discuss] Application config files
- From: slitt at troubleshooters.com (Steve Litt)
- [Discuss] Application config files
- From: invalid at pizzashack.org (Derek Martin)
- [Discuss] Application config files
- From: slitt at troubleshooters.com (Steve Litt)
- [Discuss] Application config files
- Prev by Date: [Discuss] Boston Linux Meeting reminder, today, Wednesday, July 17, 2019 - Our 25th Anniversary
- Next by Date: [Discuss] Application config files
- Previous by thread: [Discuss] Application config files
- Next by thread: [Discuss] Application config files
- Index(es):