diff --git a/onionr/logger.py b/onionr/logger.py
deleted file mode 100755
index 01ada8ce..00000000
--- a/onionr/logger.py
+++ /dev/null
@@ -1,253 +0,0 @@
-'''
- Onionr - P2P Microblogging Platform & Social network
-
- This file handles all operations involving logging
-'''
-'''
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see .
-'''
-
-import re, sys, time, traceback, os
-
-class colors:
- '''
- This class allows you to set the color if ANSI codes are supported
- '''
- reset='\033[0m'
- bold='\033[01m'
- disable='\033[02m'
- underline='\033[04m'
- reverse='\033[07m'
- strikethrough='\033[09m'
- invisible='\033[08m'
- italics='\033[3m'
- class fg:
- black='\033[30m'
- red='\033[31m'
- green='\033[32m'
- orange='\033[33m'
- blue='\033[34m'
- purple='\033[35m'
- cyan='\033[36m'
- lightgrey='\033[37m'
- darkgrey='\033[90m'
- lightred='\033[91m'
- lightgreen='\033[92m'
- yellow='\033[93m'
- lightblue='\033[94m'
- pink='\033[95m'
- lightcyan='\033[96m'
- class bg:
- black='\033[40m'
- red='\033[41m'
- green='\033[42m'
- orange='\033[43m'
- blue='\033[44m'
- purple='\033[45m'
- cyan='\033[46m'
- lightgrey='\033[47m'
- @staticmethod
- def filter(data):
- return re.compile(r'\x1B\[[0-?]*[ -/]*[@-~]').sub('', str(data))
-
-'''
- Use the bitwise operators to merge these settings
-'''
-USE_ANSI = 0b100
-if os.name == 'nt':
- USE_ANSI = 0b000
-OUTPUT_TO_CONSOLE = 0b010
-OUTPUT_TO_FILE = 0b001
-
-LEVEL_DEBUG = 1
-LEVEL_INFO = 2
-LEVEL_WARN = 3
-LEVEL_ERROR = 4
-LEVEL_FATAL = 5
-LEVEL_IMPORTANT = 6
-
-_type = OUTPUT_TO_CONSOLE | USE_ANSI # the default settings for logging
-_level = LEVEL_DEBUG # the lowest level to log
-_outputfile = 'data/onionr.log' # the file to log to
-
-def set_settings(type):
- '''
- Set the settings for the logger using bitwise operators
- '''
-
- global _type
- _type = type
-
-def get_settings():
- '''
- Get settings from the logger
- '''
-
- return _type
-
-def set_level(level):
- '''
- Set the lowest log level to output
- '''
-
- global _level
- _level = level
-
-def get_level():
- '''
- Get the lowest log level currently being outputted
- '''
-
- return _level
-
-def set_file(outputfile):
- '''
- Set the file to output to, if enabled
- '''
-
- global _outputfile
- _outputfile = outputfile
-
-def get_file():
- '''
- Get the file to output to
- '''
-
- return _outputfile
-
-def raw(data, fd = sys.stdout, terminal = False):
- '''
- Outputs raw data to console without formatting
- '''
-
- if terminal and (get_settings() & OUTPUT_TO_CONSOLE):
- try:
- ts = fd.write('%s\n' % data)
- except OSError:
- pass
- if get_settings() & OUTPUT_TO_FILE:
- try:
- with open(_outputfile, "a+") as f:
- f.write(colors.filter(data) + '\n')
- except OSError:
- pass
-
-def log(prefix, data, color = '', timestamp=True, fd = sys.stdout, prompt = True, terminal = False):
- '''
- Logs the data
- prefix : The prefix to the output
- data : The actual data to output
- color : The color to output before the data
- '''
- curTime = ''
- if timestamp:
- curTime = time.strftime("%m-%d %H:%M:%S") + ' '
-
- output = colors.reset + str(color) + ('[' + colors.bold + str(prefix) + colors.reset + str(color) + '] ' if prompt is True else '') + curTime + str(data) + colors.reset
- if not get_settings() & USE_ANSI:
- output = colors.filter(output)
-
- raw(output, fd = fd, terminal = terminal)
-
-def readline(message = ''):
- '''
- Takes in input from the console, not stored in logs
- message: The message to display before taking input
- '''
-
- color = colors.fg.green + colors.bold
- output = colors.reset + str(color) + '... ' + colors.reset + str(message) + colors.reset
-
- if not get_settings() & USE_ANSI:
- output = colors.filter(output)
-
- sys.stdout.write(output)
-
- return input()
-
-def confirm(default = 'y', message = 'Are you sure %s? '):
- '''
- Displays an "Are you sure" message, returns True for Y and False for N
- message: The confirmation message, use %s for (y/n)
- default: which to prefer-- y or n
- '''
-
- color = colors.fg.green + colors.bold
-
- default = default.lower()
- confirm = colors.bold
- if default.startswith('y'):
- confirm += '(Y/n)'
- else:
- confirm += '(y/N)'
- confirm += colors.reset + color
-
- output = colors.reset + str(color) + '... ' + colors.reset + str(message) + colors.reset
-
- if not get_settings() & USE_ANSI:
- output = colors.filter(output)
-
- sys.stdout.write(output.replace('%s', confirm))
-
- inp = input().lower()
-
- if 'y' in inp:
- return True
- if 'n' in inp:
- return False
- else:
- return default == 'y'
-
-# debug: when there is info that could be useful for debugging purposes only
-def debug(data, error = None, timestamp = True, prompt = True, terminal = False, level = LEVEL_DEBUG):
- if get_level() <= level:
- log('/', data, timestamp = timestamp, prompt = prompt, terminal = terminal)
- if not error is None:
- debug('Error: ' + str(error) + parse_error())
-
-# info: when there is something to notify the user of, such as the success of a process
-def info(data, timestamp = False, prompt = True, terminal = False, level = LEVEL_INFO):
- if get_level() <= level:
- log('+', data, colors.fg.green, timestamp = timestamp, prompt = prompt, terminal = terminal)
-
-# warn: when there is a potential for something bad to happen
-def warn(data, error = None, timestamp = True, prompt = True, terminal = False, level = LEVEL_WARN):
- if not error is None:
- debug('Error: ' + str(error) + parse_error())
- if get_level() <= level:
- log('!', data, colors.fg.orange, timestamp = timestamp, prompt = prompt, terminal = terminal)
-
-# error: when only one function, module, or process of the program encountered a problem and must stop
-def error(data, error = None, timestamp = True, prompt = True, terminal = False, level = LEVEL_ERROR):
- if get_level() <= level:
- log('-', data, colors.fg.red, timestamp = timestamp, fd = sys.stderr, prompt = prompt, terminal = terminal)
- if not error is None:
- debug('Error: ' + str(error) + parse_error())
-
-# fatal: when the something so bad has happened that the program must stop
-def fatal(data, error = None, timestamp=True, prompt = True, terminal = False, level = LEVEL_FATAL):
- if not error is None:
- debug('Error: ' + str(error) + parse_error(), terminal = terminal)
- if get_level() <= level:
- log('#', data, colors.bg.red + colors.fg.green + colors.bold, timestamp = timestamp, fd = sys.stderr, prompt = prompt, terminal = terminal)
-
-# returns a formatted error message
-def parse_error():
- details = traceback.extract_tb(sys.exc_info()[2])
- output = ''
-
- for line in details:
- output += '\n ... module %s in %s:%i' % (line[2], line[0], line[1])
-
- return output
diff --git a/onionr/logger/__init__.py b/onionr/logger/__init__.py
new file mode 100755
index 00000000..c975927d
--- /dev/null
+++ b/onionr/logger/__init__.py
@@ -0,0 +1,71 @@
+'''
+ Onionr - Private P2P Communication
+
+ This file handles all operations involving logging
+'''
+'''
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see .
+'''
+
+import sys, traceback
+
+from . import colors, readline, log, raw, confirm, colors, settings
+colors = colors.Colors
+readline = readline.readline
+log = log.log
+raw = raw.raw
+confirm = confirm.confirm
+
+# debug: when there is info that could be useful for debugging purposes only
+def debug(data, error = None, timestamp = True, prompt = True, terminal = False, level = settings.LEVEL_DEBUG):
+ if settings.get_level() <= level:
+ log('/', data, timestamp = timestamp, prompt = prompt, terminal = terminal)
+ if not error is None:
+ debug('Error: ' + str(error) + parse_error())
+
+# info: when there is something to notify the user of, such as the success of a process
+def info(data, timestamp = False, prompt = True, terminal = False, level = settings.LEVEL_INFO):
+ if settings.get_level() <= level:
+ log('+', data, colors.fg.green, timestamp = timestamp, prompt = prompt, terminal = terminal)
+
+# warn: when there is a potential for something bad to happen
+def warn(data, error = None, timestamp = True, prompt = True, terminal = False, level = settings.LEVEL_WARN):
+ if not error is None:
+ debug('Error: ' + str(error) + parse_error())
+ if settings.get_level() <= level:
+ log('!', data, colors.fg.orange, timestamp = timestamp, prompt = prompt, terminal = terminal)
+
+# error: when only one function, module, or process of the program encountered a problem and must stop
+def error(data, error = None, timestamp = True, prompt = True, terminal = False, level = settings.LEVEL_ERROR):
+ if settings.get_level() <= level:
+ log('-', data, colors.fg.red, timestamp = timestamp, fd = sys.stderr, prompt = prompt, terminal = terminal)
+ if not error is None:
+ debug('Error: ' + str(error) + parse_error())
+
+# fatal: when the something so bad has happened that the program must stop
+def fatal(data, error = None, timestamp=True, prompt = True, terminal = False, level = settings.LEVEL_FATAL):
+ if not error is None:
+ debug('Error: ' + str(error) + parse_error(), terminal = terminal)
+ if get_level() <= level:
+ log('#', data, colors.bg.red + colors.fg.green + colors.bold, timestamp = timestamp, fd = sys.stderr, prompt = prompt, terminal = terminal)
+
+# returns a formatted error message
+def parse_error():
+ details = traceback.extract_tb(sys.exc_info()[2])
+ output = ''
+
+ for line in details:
+ output += '\n ... module %s in %s:%i' % (line[2], line[0], line[1])
+
+ return output
diff --git a/onionr/logger/colors.py b/onionr/logger/colors.py
new file mode 100644
index 00000000..03da5c70
--- /dev/null
+++ b/onionr/logger/colors.py
@@ -0,0 +1,60 @@
+'''
+ Onionr - Private P2P Communication
+
+ class to access ANSI control codes
+'''
+'''
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see .
+'''
+import re
+class Colors:
+ '''
+ This class allows you to set the color if ANSI codes are supported
+ '''
+ reset='\033[0m'
+ bold='\033[01m'
+ disable='\033[02m'
+ underline='\033[04m'
+ reverse='\033[07m'
+ strikethrough='\033[09m'
+ invisible='\033[08m'
+ italics='\033[3m'
+ class fg:
+ black='\033[30m'
+ red='\033[31m'
+ green='\033[32m'
+ orange='\033[33m'
+ blue='\033[34m'
+ purple='\033[35m'
+ cyan='\033[36m'
+ lightgrey='\033[37m'
+ darkgrey='\033[90m'
+ lightred='\033[91m'
+ lightgreen='\033[92m'
+ yellow='\033[93m'
+ lightblue='\033[94m'
+ pink='\033[95m'
+ lightcyan='\033[96m'
+ class bg:
+ black='\033[40m'
+ red='\033[41m'
+ green='\033[42m'
+ orange='\033[43m'
+ blue='\033[44m'
+ purple='\033[45m'
+ cyan='\033[46m'
+ lightgrey='\033[47m'
+ @staticmethod
+ def filter(data):
+ return re.compile(r'\x1B\[[0-?]*[ -/]*[@-~]').sub('', str(data))
\ No newline at end of file
diff --git a/onionr/logger/confirm.py b/onionr/logger/confirm.py
new file mode 100644
index 00000000..85fcd725
--- /dev/null
+++ b/onionr/logger/confirm.py
@@ -0,0 +1,54 @@
+'''
+ Onionr - Private P2P Communication
+
+ confirm y/n cli prompt
+'''
+'''
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see .
+'''
+import sys
+from . import colors, settings
+colors = colors.Colors
+def confirm(default = 'y', message = 'Are you sure %s? '):
+ '''
+ Displays an "Are you sure" message, returns True for Y and False for N
+ message: The confirmation message, use %s for (y/n)
+ default: which to prefer-- y or n
+ '''
+
+ color = colors.fg.green + colors.bold
+
+ default = default.lower()
+ confirm = colors.bold
+ if default.startswith('y'):
+ confirm += '(Y/n)'
+ else:
+ confirm += '(y/N)'
+ confirm += colors.reset + color
+
+ output = colors.reset + str(color) + '... ' + colors.reset + str(message) + colors.reset
+
+ if not get_settings() & settings.USE_ANSI:
+ output = colors.filter(output)
+
+ sys.stdout.write(output.replace('%s', confirm))
+
+ inp = input().lower()
+
+ if 'y' in inp:
+ return True
+ if 'n' in inp:
+ return False
+ else:
+ return default == 'y'
\ No newline at end of file
diff --git a/onionr/logger/log.py b/onionr/logger/log.py
new file mode 100644
index 00000000..c0e2ba69
--- /dev/null
+++ b/onionr/logger/log.py
@@ -0,0 +1,38 @@
+'''
+ Onionr - Private P2P Communication
+
+ god log function
+'''
+'''
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see .
+'''
+import sys, time
+from . import colors, raw, settings
+colors = colors.Colors
+def log(prefix, data, color = '', timestamp=True, fd = sys.stdout, prompt = True, terminal = False):
+ '''
+ Logs the data
+ prefix : The prefix to the output
+ data : The actual data to output
+ color : The color to output before the data
+ '''
+ curTime = ''
+ if timestamp:
+ curTime = time.strftime("%m-%d %H:%M:%S") + ' '
+
+ output = colors.reset + str(color) + ('[' + colors.bold + str(prefix) + colors.reset + str(color) + '] ' if prompt is True else '') + curTime + str(data) + colors.reset
+ if not settings.get_settings() & settings.USE_ANSI:
+ output = colors.filter(output)
+
+ raw.raw(output, fd = fd, terminal = terminal)
\ No newline at end of file
diff --git a/onionr/logger/raw.py b/onionr/logger/raw.py
new file mode 100644
index 00000000..f6c43b6f
--- /dev/null
+++ b/onionr/logger/raw.py
@@ -0,0 +1,38 @@
+'''
+ Onionr - Private P2P Communication
+
+ Output raw data to file or terminal
+'''
+'''
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see .
+'''
+import sys
+from . import settings, colors
+colors = colors.Colors
+def raw(data, fd = sys.stdout, terminal = False):
+ '''
+ Outputs raw data to console without formatting
+ '''
+
+ if terminal and (settings.get_settings() & settings.OUTPUT_TO_CONSOLE):
+ try:
+ ts = fd.write('%s\n' % data)
+ except OSError:
+ pass
+ if settings.get_settings() & settings.OUTPUT_TO_FILE:
+ try:
+ with open(settings._outputfile, "a+") as f:
+ f.write(colors.filter(data) + '\n')
+ except OSError:
+ pass
\ No newline at end of file
diff --git a/onionr/logger/readline.py b/onionr/logger/readline.py
new file mode 100644
index 00000000..9929a30e
--- /dev/null
+++ b/onionr/logger/readline.py
@@ -0,0 +1,37 @@
+'''
+ Onionr - Private P2P Communication
+
+ get a line of input from stdin
+'''
+'''
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see .
+'''
+import sys
+from . import colors, settings
+colors = colors.Colors
+def readline(message = ''):
+ '''
+ Takes in input from the console, not stored in logs
+ message: The message to display before taking input
+ '''
+
+ color = colors.fg.green + colors.bold
+ output = colors.reset + str(color) + '... ' + colors.reset + str(message) + colors.reset
+
+ if not settings.get_settings() & USE_ANSI:
+ output = colors.filter(output)
+
+ sys.stdout.write(output)
+
+ return input()
\ No newline at end of file
diff --git a/onionr/logger/settings.py b/onionr/logger/settings.py
new file mode 100644
index 00000000..62bad00b
--- /dev/null
+++ b/onionr/logger/settings.py
@@ -0,0 +1,83 @@
+'''
+ Onionr - Private P2P Communication
+
+ logger settings
+'''
+'''
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see .
+'''
+import os
+data_home = os.environ.get('DATA_DIR', os.environ.get('DATA_DIR', 'data'))
+# Use the bitwise operators to merge these settings
+USE_ANSI = 0b100
+if os.name == 'nt':
+ USE_ANSI = 0b000
+OUTPUT_TO_CONSOLE = 0b010
+OUTPUT_TO_FILE = 0b001
+
+LEVEL_DEBUG = 1
+LEVEL_INFO = 2
+LEVEL_WARN = 3
+LEVEL_ERROR = 4
+LEVEL_FATAL = 5
+LEVEL_IMPORTANT = 6
+
+_type = OUTPUT_TO_CONSOLE | USE_ANSI # the default settings for logging
+_level = LEVEL_DEBUG # the lowest level to log
+_outputfile = '%s/onionr.log' % (data_home,) # the file to log to
+
+def set_settings(type):
+ '''
+ Set the settings for the logger using bitwise operators
+ '''
+
+ global _type
+ _type = type
+
+def get_settings():
+ '''
+ Get settings from the logger
+ '''
+
+ return _type
+
+def set_level(level):
+ '''
+ Set the lowest log level to output
+ '''
+
+ global _level
+ _level = level
+
+def get_level():
+ '''
+ Get the lowest log level currently being outputted
+ '''
+
+ return _level
+
+def set_file(outputfile):
+ '''
+ Set the file to output to, if enabled
+ '''
+
+ global _outputfile
+ _outputfile = outputfile
+
+def get_file():
+ '''
+ Get the file to output to
+ '''
+
+ return _outputfile
\ No newline at end of file
diff --git a/onionr/onionr.py b/onionr/onionr.py
index ebb035bf..0c3a71f1 100755
--- a/onionr/onionr.py
+++ b/onionr/onionr.py
@@ -71,9 +71,6 @@ class Onionr:
if not self.dataDir.endswith('/'):
self.dataDir += '/'
- # set log file
- logger.set_file(os.environ.get('LOG_DIR', 'data') + '/onionr.log')
-
# Load global configuration data
data_exists = Onionr.setupConfig(self.dataDir, self)
diff --git a/onionr/setupconfig.py b/onionr/setupconfig.py
index e0752f74..3919ecff 100755
--- a/onionr/setupconfig.py
+++ b/onionr/setupconfig.py
@@ -19,6 +19,7 @@
'''
import os, json
import config, logger
+from logger.settings import *
def setup_config(dataDir, o_inst = None):
data_exists = os.path.exists(dataDir)
@@ -40,48 +41,48 @@ def setup_config(dataDir, o_inst = None):
settings = 0b000
if config.get('log.console.color', True):
- settings = settings | logger.USE_ANSI
+ settings = settings | USE_ANSI
if config.get('log.console.output', True):
- settings = settings | logger.OUTPUT_TO_CONSOLE
+ settings = settings | OUTPUT_TO_CONSOLE
if config.get('log.file.output', True):
- settings = settings | logger.OUTPUT_TO_FILE
- logger.set_settings(settings)
+ settings = settings | OUTPUT_TO_FILE
+ set_settings(settings)
if not o_inst is None:
if str(config.get('general.dev_mode', True)).lower() == 'true':
o_inst._developmentMode = True
- logger.set_level(logger.LEVEL_DEBUG)
+ set_level(LEVEL_DEBUG)
else:
o_inst._developmentMode = False
- logger.set_level(logger.LEVEL_INFO)
+ set_level(LEVEL_INFO)
verbosity = str(config.get('log.verbosity', 'default')).lower().strip()
if not verbosity in ['default', 'null', 'none', 'nil']:
map = {
- str(logger.LEVEL_DEBUG) : logger.LEVEL_DEBUG,
- 'verbose' : logger.LEVEL_DEBUG,
- 'debug' : logger.LEVEL_DEBUG,
- str(logger.LEVEL_INFO) : logger.LEVEL_INFO,
- 'info' : logger.LEVEL_INFO,
- 'information' : logger.LEVEL_INFO,
- str(logger.LEVEL_WARN) : logger.LEVEL_WARN,
- 'warn' : logger.LEVEL_WARN,
- 'warning' : logger.LEVEL_WARN,
- 'warnings' : logger.LEVEL_WARN,
- str(logger.LEVEL_ERROR) : logger.LEVEL_ERROR,
- 'err' : logger.LEVEL_ERROR,
- 'error' : logger.LEVEL_ERROR,
- 'errors' : logger.LEVEL_ERROR,
- str(logger.LEVEL_FATAL) : logger.LEVEL_FATAL,
- 'fatal' : logger.LEVEL_FATAL,
- str(logger.LEVEL_IMPORTANT) : logger.LEVEL_IMPORTANT,
- 'silent' : logger.LEVEL_IMPORTANT,
- 'quiet' : logger.LEVEL_IMPORTANT,
- 'important' : logger.LEVEL_IMPORTANT
+ str(LEVEL_DEBUG) : LEVEL_DEBUG,
+ 'verbose' : LEVEL_DEBUG,
+ 'debug' : LEVEL_DEBUG,
+ str(LEVEL_INFO) : LEVEL_INFO,
+ 'info' : LEVEL_INFO,
+ 'information' : LEVEL_INFO,
+ str(LEVEL_WARN) : LEVEL_WARN,
+ 'warn' : LEVEL_WARN,
+ 'warning' : LEVEL_WARN,
+ 'warnings' : LEVEL_WARN,
+ str(LEVEL_ERROR) : LEVEL_ERROR,
+ 'err' : LEVEL_ERROR,
+ 'error' : LEVEL_ERROR,
+ 'errors' : LEVEL_ERROR,
+ str(LEVEL_FATAL) : LEVEL_FATAL,
+ 'fatal' : LEVEL_FATAL,
+ str(LEVEL_IMPORTANT) : LEVEL_IMPORTANT,
+ 'silent' : LEVEL_IMPORTANT,
+ 'quiet' : LEVEL_IMPORTANT,
+ 'important' : LEVEL_IMPORTANT
}
if verbosity in map:
- logger.set_level(map[verbosity])
+ set_level(map[verbosity])
else:
logger.warn('Verbosity level %s is not valid, using default verbosity.' % verbosity)
diff --git a/onionr/static-data/www/friends/friends.js b/onionr/static-data/www/friends/friends.js
index 6fcd8f53..57c35f64 100755
--- a/onionr/static-data/www/friends/friends.js
+++ b/onionr/static-data/www/friends/friends.js
@@ -68,7 +68,7 @@ fetch('/friends/list', {
var nameText = document.createElement('input')
removeButton = document.createElement('button')
removeButton.classList.add('friendRemove')
- removeButton.classList.add('dangerBtn')
+ removeButton.classList.add('button', 'is-danger')
entry.setAttribute('data-pubkey', peer)
removeButton.innerText = 'X'
nameText.value = name
diff --git a/onionr/static-data/www/friends/style.css b/onionr/static-data/www/friends/style.css
index b309437b..6c0aa90a 100755
--- a/onionr/static-data/www/friends/style.css
+++ b/onionr/static-data/www/friends/style.css
@@ -1,43 +1,4 @@
-/*
-h2, h3{
- font-family: Arial, Helvetica, sans-serif;
-}
-
-form{
- border: 1px solid black;
- border-radius: 5px;
- padding: 1em;
- margin-right: 10%;
-}
-form label{
- display: block;
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-
-#friendList{
- display: inline;
-}
-#friendList span{
- text-align: center;
-}
#friendList button{
display: inline;
margin-right: 10px;
}
-
-#friendInfo .overlayContent{
- background-color: lightgray;
- border: 3px solid black;
- border-radius: 3px;
- color: black;
- font-family: Verdana, Geneva, Tahoma, sans-serif;
- min-height: 100%;
- padding: 1em;
- margin: 1em;
-}
-#defriend{
- display: block;
- margin-top: 1em;
-}
-*/
\ No newline at end of file