fixed bug #12
This commit is contained in:
@@ -1,11 +1,11 @@
|
||||
import os
|
||||
from configparser import ConfigParser
|
||||
from configparser import ConfigParser, NoOptionError, NoSectionError, DuplicateSectionError
|
||||
|
||||
|
||||
class Config:
|
||||
parser: ConfigParser
|
||||
|
||||
def __init__(self):
|
||||
def __init__(self, filename: str = "config.ini"):
|
||||
"""
|
||||
Config parser reading config.ini
|
||||
|
||||
@@ -19,7 +19,7 @@ class Config:
|
||||
full_path = os.path.join(home_path, ".config", "brovski-adress-etiketten" )
|
||||
if not os.path.exists(full_path):
|
||||
os.makedirs(full_path)
|
||||
self.config_file = os.path.join(full_path, "config.ini")
|
||||
self.config_file = os.path.join(full_path, filename)
|
||||
|
||||
self._load()
|
||||
|
||||
@@ -32,14 +32,25 @@ class Config:
|
||||
|
||||
def add_section(self, section):
|
||||
self._load()
|
||||
self.parser.add_section(section)
|
||||
try:
|
||||
self.parser.add_section(section)
|
||||
except DuplicateSectionError:
|
||||
return
|
||||
|
||||
self._save()
|
||||
|
||||
def set(self, section: str, option: str, value: str):
|
||||
self._load()
|
||||
self.add_section(section)
|
||||
self.parser.set(section, option, value)
|
||||
self._save()
|
||||
|
||||
def get(self, section: str, option: str):
|
||||
self._load()
|
||||
return self.parser.get(section, option)
|
||||
try:
|
||||
option = self.parser.get(section, option)
|
||||
except NoOptionError:
|
||||
option = ""
|
||||
except NoSectionError:
|
||||
option = ""
|
||||
return option
|
||||
|
||||
Reference in New Issue
Block a user