Changeset View
Changeset View
Standalone View
Standalone View
contrib/buildbot/abcbot.py
Show All 16 Lines | |||||
from slackbot import SlackBot | from slackbot import SlackBot | ||||
from teamcity_wrapper import TeamCity | from teamcity_wrapper import TeamCity | ||||
from travis import Travis | from travis import Travis | ||||
import server | import server | ||||
# Setup global parameters | # Setup global parameters | ||||
conduit_token = os.getenv("TEAMCITY_CONDUIT_TOKEN", None) | conduit_token = os.getenv("TEAMCITY_CONDUIT_TOKEN", None) | ||||
db_file_no_ext = os.getenv( | |||||
"DATABASE_FILE_NO_EXT", | |||||
"/var/lib/abc-build-bot/database") | |||||
Fabien: Better default to something that don't require root privileges
Edit: looking at the code below… | |||||
tc_user = os.getenv("TEAMCITY_USERNAME", None) | tc_user = os.getenv("TEAMCITY_USERNAME", None) | ||||
tc_pass = os.getenv("TEAMCITY_PASSWORD", None) | tc_pass = os.getenv("TEAMCITY_PASSWORD", None) | ||||
phabricatorUrl = os.getenv( | phabricatorUrl = os.getenv( | ||||
"PHABRICATOR_URL", "https://reviews.bitcoinabc.org/api/") | "PHABRICATOR_URL", "https://reviews.bitcoinabc.org/api/") | ||||
slack_token = os.getenv('SLACK_BOT_TOKEN', None) | slack_token = os.getenv('SLACK_BOT_TOKEN', None) | ||||
tc = TeamCity('https://build.bitcoinabc.org', tc_user, tc_pass) | tc = TeamCity('https://build.bitcoinabc.org', tc_user, tc_pass) | ||||
phab = PhabWrapper(host=phabricatorUrl, token=conduit_token) | phab = PhabWrapper(host=phabricatorUrl, token=conduit_token) | ||||
Show All 16 Lines | def main(args): | ||||
parser.add_argument( | parser.add_argument( | ||||
'-p', '--port', help='port for server to start', type=int, default=8080) | '-p', '--port', help='port for server to start', type=int, default=8080) | ||||
parser.add_argument( | parser.add_argument( | ||||
'-l', '--log-file', help='log file to dump requests payload', type=str, default='log.log') | '-l', '--log-file', help='log file to dump requests payload', type=str, default='log.log') | ||||
args = parser.parse_args() | args = parser.parse_args() | ||||
port = args.port | port = args.port | ||||
log_file = args.log_file | log_file = args.log_file | ||||
app = server.create_server(tc, phab, slackbot, travis) | app = server.create_server( | ||||
app.logger.setLevel(logging.INFO) | tc, | ||||
phab, | |||||
slackbot, | |||||
travis, | |||||
db_file_no_ext=db_file_no_ext) | |||||
formater = logging.Formatter( | formater = logging.Formatter( | ||||
'[%(asctime)s] %(levelname)s in %(module)s: %(message)s') | '[%(asctime)s] %(levelname)s in %(module)s: %(message)s') | ||||
fileHandler = RotatingFileHandler(log_file, maxBytes=10000, backupCount=1) | fileHandler = RotatingFileHandler(log_file, maxBytes=10000, backupCount=1) | ||||
fileHandler.setFormatter(formater) | fileHandler.setFormatter(formater) | ||||
app.logger.addHandler(fileHandler) | app.logger.addHandler(fileHandler) | ||||
app.run(host="0.0.0.0", port=port) | app.run(host="0.0.0.0", port=port) | ||||
if __name__ == "__main__": | if __name__ == "__main__": | ||||
main(sys.argv) | main(sys.argv) |
Better default to something that don't require root privileges
Edit: looking at the code below have it None (non persistent) by default is even better