Use config yaml file
This commit is contained in:
6
src/config.py
Normal file
6
src/config.py
Normal file
@@ -0,0 +1,6 @@
|
||||
import yaml
|
||||
|
||||
|
||||
def read_config(filename):
|
||||
with open(filename, 'r') as f:
|
||||
return yaml.safe_load(f)
|
||||
13
src/data.py
13
src/data.py
@@ -6,6 +6,19 @@ re_trade = re.compile(
|
||||
r'Hi, I would like to buy your (?P<item>.+) listed for (?P<amount>\d+) (?P<currency>\S+) in (?P<league>\S+) '
|
||||
r'\(stash tab "(?P<tab>.+)"; position: left (?P<col>\d+), top (?P<row>\d+)\)'
|
||||
)
|
||||
re_log = re.compile(
|
||||
r'(?P<date>\d\d\d\d/\d\d/\d\d \d\d:\d\d:\d\d) (\d+) (\S+) \[(?P<level>\S+) (\S+) (\d+)\] '
|
||||
r'(?P<channel>[#@%$&]?)(?P<ToFrom>To|From)?\s?(?P<guild><\S+>)? ?(?P<user>[^:]+): (?P<message>.*)'
|
||||
)
|
||||
|
||||
|
||||
def compile_regex(conf: dict):
|
||||
global re_trade, re_log
|
||||
if 'General' in conf:
|
||||
if 're_log' in conf['Parser']:
|
||||
re_log = re.compile(conf['Parser']['re_log'])
|
||||
if 're_trade' in conf['Parser']:
|
||||
re_trade = re.compile(conf['Parser']['re_trade'])
|
||||
|
||||
|
||||
class Channel(Enum):
|
||||
|
||||
@@ -1,20 +1,13 @@
|
||||
import time
|
||||
import datetime
|
||||
import re
|
||||
import logging
|
||||
from .data import Message, channel_mapping
|
||||
from .data import Message, channel_mapping, re_log
|
||||
from . import gui
|
||||
|
||||
log = logging.getLogger(__name__)
|
||||
logging.basicConfig(level=logging.DEBUG)
|
||||
|
||||
|
||||
re_log = re.compile(
|
||||
r'(?P<date>\d\d\d\d/\d\d/\d\d \d\d:\d\d:\d\d) (\d+) (\S+) \[(?P<level>\S+) (\S+) (\d+)\] '
|
||||
r'(?P<channel>[#@%$&]?)(?P<ToFrom>To|From)?\s?(?P<guild><\S+>)? ?(?P<user>[^:]+): (?P<message>.*)'
|
||||
)
|
||||
|
||||
|
||||
def parse_log(text: str) -> Message:
|
||||
result = re_log.search(text)
|
||||
if not result:
|
||||
|
||||
Reference in New Issue
Block a user